@ai-matrx/records-ui 0.107.3 → 0.108.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 +19 -0
- package/dist/first-page.cjs +487 -0
- package/dist/first-page.cjs.map +1 -0
- package/dist/first-page.d.cts +35 -0
- package/dist/first-page.d.ts +35 -0
- package/dist/first-page.js +474 -0
- package/dist/first-page.js.map +1 -0
- package/dist/index.cjs +2698 -2372
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +190 -599
- package/dist/index.d.ts +190 -599
- package/dist/index.js +1619 -1289
- package/dist/index.js.map +1 -1
- package/dist/pickers.cjs +109 -76
- package/dist/pickers.cjs.map +1 -1
- package/dist/pickers.js +34 -1
- package/dist/pickers.js.map +1 -1
- package/dist/views-VPwb3QQk.d.cts +505 -0
- package/dist/views-VPwb3QQk.d.ts +505 -0
- package/package.json +17 -6
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { ReactNode, KeyboardEvent, ReactElement, ComponentType, RefObject, SVGAttributes } from 'react';
|
|
3
3
|
import * as _ai_matrx_records from '@ai-matrx/records';
|
|
4
|
-
import { Uuid, RowAction, Field, RowActionStep, RecordScopeContext, EnrichCell, RecordsError, RecordDocument, Table, ReadRow, RecordRead, PermissionLevel, AggregateFilter, RelationDisplay, WriteConflict, RecordsErrorCode,
|
|
4
|
+
import { RecordFilter, RuleExpression, Uuid, RowAction, Field, RowActionStep, RecordScopeContext, EnrichCell, RecordsError, RecordDocument, Table, ReadRow, RecordRead, PermissionLevel, AggregateFilter, RelationDisplay, WriteConflict, RecordsErrorCode, StoreFilter as StoreFilter$1, ImportRun, DeclarableFieldKind, NewerFieldKind, ParityFieldType, NewFieldDeclaration, ChoiceRehome, FieldOptionEdit, StoredRecord, ChoiceNudge, HiddenFieldNotice, ValueEnvelope, ChecklistRequirementKind, ContextPolicy, WorkDueState, FieldSensitivity, StageRuleOnFail, SubscriptionCadence, WorkApprovalState, WorkInboxKind, FieldKind, RecordsResult, ArchiveLane, ArchivedRow, WorkInboxView, WorkInboxItem, PortalAccent, FormSummary, PortalCard, PortalPrincipal, PortalPreviewRow, PublicPicture, PortalStyle, MySubscription, DashboardBlockKind, AggregateBucket, AggregateMeasure, AggregateCompare, DashboardTarget, DashboardBlock, DashboardSummary, AggregateGroupValue, DocTemplateRow, DocRenderRow, QuietHours, DashboardBlockResult, ChecklistRunStep, BookingSummary, CaptureSheetFace, CaptureField, AnonTokenBinding, RecordsConfig, RecordsActor, RecordsDataSource, TableDuplicated, HistoryActor, FieldHistoryEntry, DrillDefinition, DrillSource, DrillLane, DrillQuestion, TableDuplicateProgress, TableArchiveProgress } from '@ai-matrx/records';
|
|
5
5
|
import { ReversibleAnnouncement } from '@ai-matrx/kit/reversible';
|
|
6
6
|
import { W as WhatYouMayDo, T as TableActionHost, O as ObjectAction, a as ObjectActionIcon } from './objectActions-B7AUBkcl.js';
|
|
7
7
|
export { A as ACTION_CHECKING_ACCESS_REASON, b as ACTION_NOT_HERE_REASON, c as ACTION_NO_ACCESS_REASON, d as ACTION_PLATFORM_TABLE_REASON, B as BuiltOnDestination, C as Capability, D as DEFAULT_ACTION_ORIGIN, K as KERNEL_REASON, L as LEVEL_WORD, N as NOT_ANSWERED_YET, e as OBJECT_ACTION_GROUPS, f as ObjectActionDropdownEntry, g as ObjectActionGroup, h as ObjectActionGroupDef, i as ObjectActionSection, S as STANDARD_VERBS, j as STRIP_FEATURE_ROWS, k as StandardVerbId, l as StripAndRows, m as TableActionSubject, n as TableActionsInput, o as dropdownActionIds, p as dropdownActions, q as groupObjectActions, r as levelNeededFor, s as rightsReason, t as tableActions, u as tableLink, v as toDropdownEntries, w as toStripAndRows, x as whatYouMayDo, y as whatYouMayDoWithTable, z as withExtensions } from './objectActions-B7AUBkcl.js';
|
|
@@ -9,7 +9,9 @@ import { Uuid as Uuid$1, Table as Table$1, Field as Field$1, ReadRow as ReadRow$
|
|
|
9
9
|
import { RecordsClient, ParsedImport, NewFieldSpec } from '@ai-matrx/records/core';
|
|
10
10
|
export { DEFAULT_FIELDS, DeclareResult, NewFieldSpec, NewTableSpec, addFields, declareTable, fieldDeclarationFor, tokenFor } from '@ai-matrx/records/core';
|
|
11
11
|
import { FieldFormatConfig } from '@ai-matrx/design-system/field-formats';
|
|
12
|
-
import {
|
|
12
|
+
import { G as GridPresentation, V as ViewOrder, a as ViewSort, F as FooterPlacement, b as SavedViewSpec, S as SavedView, c as ViewLayout, d as ViewNeed, P as PageView } from './views-VPwb3QQk.js';
|
|
13
|
+
export { D as DEFAULT_FOOTER, E as EMPTY_PRESENTATION, e as FROZEN_COLUMN_WIDTH, f as GridGrouping, L as LAYOUT_FIELD_KIND, g as LAYOUT_LABEL, M as MAX_ROW_HEIGHT, h as MIN_ROW_HEIGHT, i as PAGE_VIEWS, j as PAGE_VIEW_LABEL, k as VIEW_LAYOUTS, l as VIEW_NEEDS, m as ViewNeedKind, n as colorFromTheValue, o as currencyCodeFor, p as declareView, q as defaultViewOf, r as footerOf, s as formatForField, t as freeColumnName, u as pageViewFromParam, v as parseGridPresentation, w as presentationDocument, x as presentationIsEmpty, y as resolveTableStyle, z as saveViewPatch, A as styleFromDecorations, B as unknownViewLine, C as viewDocument, H as viewFromRow, I as viewPatchDocument, J as wordsList } from './views-VPwb3QQk.js';
|
|
14
|
+
import { MatrxTableCardProps, StyleColor, TableStyle, MatrxDataTableDrillConfig, MatrxColumnDef as MatrxColumnDef$1, MatrxDrillDimension, MatrxDrillMeasure, MatrxDrillFilter, MatrxDrillQuestion, MatrxDrillAnswers, MatrxDrillAttribute, MatrxDrillFocusAttribute } from '@ai-matrx/design-system/data-table';
|
|
13
15
|
import { GuessedFieldType, TableShape } from './table-shape.js';
|
|
14
16
|
export { ColumnGuess, FEWEST_KEY_VALUE_PAIRS, FEWEST_LIST_ITEMS, TableShapeKind, TableShapeSplit, cellWords, guessColumn, hasTableShape, parseDelimited, readTableShape, readTableShapes, shapeOfGrid, shapeOfValue, shapeTextOfNode } from './table-shape.js';
|
|
15
17
|
import { Column, Row, Values } from '@ai-matrx/records/data';
|
|
@@ -19,6 +21,99 @@ import { TemplateSpec } from '@ai-matrx/records/templates';
|
|
|
19
21
|
import { TemplatePreview as TemplatePreview$1 } from '@ai-matrx/records/memory';
|
|
20
22
|
import { MatrxColumnDef } from '@ai-matrx/design-system/data-table/types';
|
|
21
23
|
|
|
24
|
+
/** Every surface a saved view is drawn by. */
|
|
25
|
+
type ViewKeyLayout = "grid" | "kanban" | "calendar" | "gallery" | "timeline" | "list";
|
|
26
|
+
/**
|
|
27
|
+
* 🚩 THE ONE SWITCH FOR THE TIMELINE'S STORE KEYS (lane VIEWS-AND-FIELDS, sublane TL).
|
|
28
|
+
*
|
|
29
|
+
* `vk_a_calendar_keeps_where_a_record_ends_and_a_timeline_is_a_view.sql` (sublane VK) teaches
|
|
30
|
+
* `custom.view_keys()` the layout `timeline`, the keys `start_field` and `end_field` (calendar +
|
|
31
|
+
* timeline), and `group_field` for the timeline. Until that migration is on production this stays
|
|
32
|
+
* `false`, and:
|
|
33
|
+
* · `timeline` is not a layout the store keeps (`STORE_KEPT_LAYOUTS`), so it is drawn for the visit;
|
|
34
|
+
* · `start_field` / `end_field` are held for the visit, never sent (`viewSettingsPatch`), and the
|
|
35
|
+
* Start also rides `date_field`, which the store already keeps;
|
|
36
|
+
* · the timeline's toolbar says "Kept for this visit only".
|
|
37
|
+
* Flipped to `true`, VIEW_KEYS below mirrors the migrated registry row for row (the live walk
|
|
38
|
+
* compares them) and every one of those is kept on the view.
|
|
39
|
+
*/
|
|
40
|
+
declare const STORE_KEEPS_TIMELINE = true;
|
|
41
|
+
/** Who may write a key: anyone who may save the view, an input the door rewrites, or the server only. */
|
|
42
|
+
type ViewKeyWriter = "caller" | "input" | "server";
|
|
43
|
+
interface ViewKeyDeclaration {
|
|
44
|
+
/** Where it lives in `platform.saved_view.definition` (dotted under `presentation`). */
|
|
45
|
+
path: string;
|
|
46
|
+
/** What the store's guard checks (`custom._view_key_value`). */
|
|
47
|
+
shape: string;
|
|
48
|
+
/** The layouts that read it. */
|
|
49
|
+
layouts: readonly ViewKeyLayout[];
|
|
50
|
+
writer: ViewKeyWriter;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* THE REGISTRY, as `custom.view_keys()` declares it (uichamp_s1_a_view_keeps_every_setting_it_is_given.sql).
|
|
54
|
+
* Order and content are compared with the store by the live walk.
|
|
55
|
+
*/
|
|
56
|
+
declare const VIEW_KEYS: readonly ViewKeyDeclaration[];
|
|
57
|
+
/**
|
|
58
|
+
* THE LAYOUTS THE STORE KEEPS ON A VIEW. `custom.view_keys()` judges a view's `layout` against its
|
|
59
|
+
* own list (grid, kanban, calendar, gallery) and refuses any other word by name. A layout this
|
|
60
|
+
* package draws before the store keeps it — the timeline, 2026-10-02 — is never sent as a view's or a
|
|
61
|
+
* look's layout (`viewSettingsPatch`, `viewDocument`): it is drawn for this visit and says so. When the
|
|
62
|
+
* store's registry admits it, add it here and nothing else changes.
|
|
63
|
+
*/
|
|
64
|
+
declare const STORE_KEPT_LAYOUTS: readonly string[];
|
|
65
|
+
/** Whether the store keeps this layout on a saved view. */
|
|
66
|
+
declare function storeKeepsLayout(layout: string): boolean;
|
|
67
|
+
/** The keys one layout reads, by path. */
|
|
68
|
+
declare function viewKeysFor(layout: ViewKeyLayout): string[];
|
|
69
|
+
/** One sort clause: a Field key and a direction. */
|
|
70
|
+
interface ViewSortKey {
|
|
71
|
+
field: string;
|
|
72
|
+
direction: "asc" | "desc";
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* EVERY DECLARED KEY OF A VIEW, TYPED. Absent keys are `null` / empty, never guessed.
|
|
76
|
+
* `presentation` is the parsed look (colour field, pinned fields, row height, grouping with its
|
|
77
|
+
* sub-groups and shut sections, hidden fields, gallery size, summaries).
|
|
78
|
+
*/
|
|
79
|
+
interface ViewSettings {
|
|
80
|
+
layout: "grid" | "kanban" | "calendar" | "gallery" | "timeline" | "list";
|
|
81
|
+
filters: RecordFilter | null;
|
|
82
|
+
where: RuleExpression | null;
|
|
83
|
+
groupField: string | null;
|
|
84
|
+
swimlaneField: string | null;
|
|
85
|
+
collapsedColumns: string[];
|
|
86
|
+
measure: string | null;
|
|
87
|
+
dateField: string | null;
|
|
88
|
+
/** Timeline: where a record's bar starts (`start_field`). */
|
|
89
|
+
startField: string | null;
|
|
90
|
+
/** Calendar and timeline: where a record ends (`end_field`). */
|
|
91
|
+
endField: string | null;
|
|
92
|
+
imageField: string | null;
|
|
93
|
+
sorts: ViewSortKey[];
|
|
94
|
+
ruleId: string | null;
|
|
95
|
+
isDefault: boolean;
|
|
96
|
+
presentation: GridPresentation;
|
|
97
|
+
movedFrom: Record<string, unknown> | null;
|
|
98
|
+
}
|
|
99
|
+
/** THE READER. A stored `definition` (and the row's flat `filters`) in, every declared key out. */
|
|
100
|
+
declare function viewSettings(definition: Record<string, unknown> | null | undefined, rowFilters?: RecordFilter | null): ViewSettings;
|
|
101
|
+
/** The settings as the spec names them — what `viewSettingsPatch` takes. */
|
|
102
|
+
type ViewSettingsPatch = Partial<Omit<ViewSettings, "movedFrom" | "layout">> & {
|
|
103
|
+
/** Any layout the package draws; one the store does not keep is not sent. */
|
|
104
|
+
layout?: string;
|
|
105
|
+
};
|
|
106
|
+
/**
|
|
107
|
+
* THE KEYS ONE LAYOUT READS, and nothing else. A layout that does not use a key never sees it:
|
|
108
|
+
* a calendar is not told the board's swimlanes, a board is not told the grid's pinned fields.
|
|
109
|
+
*/
|
|
110
|
+
declare function viewSettingsFor(settings: ViewSettings, layout: ViewKeyLayout): Partial<ViewSettings>;
|
|
111
|
+
/**
|
|
112
|
+
* THE WRITER'S SHAPE. Only the keys a press changed; a cleared Field is `null` (the door removes
|
|
113
|
+
* it); lists are sent whole. `presentation` is sent whole because the door judges it as one key.
|
|
114
|
+
*/
|
|
115
|
+
declare function viewSettingsPatch(patch: ViewSettingsPatch): Record<string, unknown>;
|
|
116
|
+
|
|
22
117
|
/** What the settings panel can see right now, in the words the agent reads. */
|
|
23
118
|
interface TableSettingsSnapshot {
|
|
24
119
|
table_id: Uuid;
|
|
@@ -1491,598 +1586,6 @@ declare function refusalOr(error: RecordsError | null | undefined, code: Records
|
|
|
1491
1586
|
*/
|
|
1492
1587
|
declare function asRefusal(thrown: unknown, sentence: string, remedy?: string | null, code?: RecordsErrorCode): RecordsError;
|
|
1493
1588
|
|
|
1494
|
-
/**
|
|
1495
|
-
* HOW A TABLE LOOKS — colors, formats and the frozen column.
|
|
1496
|
-
*
|
|
1497
|
-
* THE SPLIT, AND WHY IT IS THIS ONE. A Field declares WHAT it holds: a
|
|
1498
|
-
* currency, a percent, a date, a person. A VIEW declares HOW that reads and
|
|
1499
|
-
* what it is worth looking at: two decimal places or none, tint the row when
|
|
1500
|
-
* Status is Blocked, keep Name in place while the rest scrolls. Airtable draws
|
|
1501
|
-
* the line in exactly this place, and it has to be here: two people read one
|
|
1502
|
-
* table two different ways, and neither reading is a fact about the records.
|
|
1503
|
-
*
|
|
1504
|
-
* So nothing in this module is a new column on a Field and nothing here needed
|
|
1505
|
-
* a migration. A presentation lives on the saved-view record (`views.ts`), which
|
|
1506
|
-
* is an ordinary record of an ordinary Table — which means an agent sets it
|
|
1507
|
-
* through the same `records` tool it uses for everything else, and it travels
|
|
1508
|
-
* with the table the way every other record does.
|
|
1509
|
-
*
|
|
1510
|
-
* A FIELD STILL GETS ITS MONEY RIGHT WITH NO CONFIGURATION. `formatForField`
|
|
1511
|
-
* reads the Field's OWN declaration — a `currency` parity type with unit `$`, a
|
|
1512
|
-
* `percent`, a `datetime` with `config.kind` — and returns the format that
|
|
1513
|
-
* follows from it. The view's `formats` map only OVERRIDES that. A table nobody
|
|
1514
|
-
* has ever styled still shows `$1,250.50` and `45%`.
|
|
1515
|
-
*/
|
|
1516
|
-
|
|
1517
|
-
/**
|
|
1518
|
-
* SECTIONS BY A FIELD — the view's own grouping.
|
|
1519
|
-
*
|
|
1520
|
-
* `field` is a Field KEY, exactly like `frozen` and the keys of `formats`,
|
|
1521
|
-
* because a view is written against the Table's declaration and never against
|
|
1522
|
-
* whatever id a screen happened to build its columns with.
|
|
1523
|
-
*
|
|
1524
|
-
* `aggregates` is keyed by Field key too, and `collapsed` holds the data
|
|
1525
|
-
* table's own group keys (`s:Blocked`, `n:3`, `empty`), which is what the
|
|
1526
|
-
* primitive emits and the only thing that survives a value rendering the same
|
|
1527
|
-
* text as another.
|
|
1528
|
-
*
|
|
1529
|
-
* NOTHING HERE IS EVER CALLED `valueOf`, `toString` or `hasOwnProperty`: every
|
|
1530
|
-
* object in JavaScript already has all three, so an optional field by one of
|
|
1531
|
-
* those names is NEVER absent and a `config.valueOf ? … : …` check silently
|
|
1532
|
-
* reads `Object.prototype`. It cost the primitive a whole grouping once.
|
|
1533
|
-
*/
|
|
1534
|
-
type GridGrouping = {
|
|
1535
|
-
/** The Field key whose value makes the sections. */
|
|
1536
|
-
field: string;
|
|
1537
|
-
/** Per-Field-key subtotal on every section header. */
|
|
1538
|
-
aggregates?: Record<string, GroupAggregateSpec>;
|
|
1539
|
-
/** Section order. The primitive's default is `value-asc`; blanks sort last. */
|
|
1540
|
-
order?: GroupOrder;
|
|
1541
|
-
/** The sections this view keeps shut, by the primitive's own group key. */
|
|
1542
|
-
collapsed?: string[];
|
|
1543
|
-
/** The grouped column drawn as a column too. Absent = it steps aside (the headers name its value). */
|
|
1544
|
-
showColumn?: boolean;
|
|
1545
|
-
/**
|
|
1546
|
-
* SUB-GROUPS (lane S1-PRIME VIEW-KEYS; ui-bench LISTS "sub-grouping"): up to two more levels
|
|
1547
|
-
* inside each section, by Field key. At most three levels in all — the store refuses a fourth
|
|
1548
|
-
* (`custom.view_declare`). A layout that draws one level ignores the rest; it never drops them,
|
|
1549
|
-
* because this list is parsed and written back whole with the rest of the look.
|
|
1550
|
-
*/
|
|
1551
|
-
then?: GridSubGroup[];
|
|
1552
|
-
/**
|
|
1553
|
-
* DRILL (lane DRILL-TABLE-PRIMITIVE): the Dimension pivoted across the top — a Field key, or
|
|
1554
|
-
* `<key>:<grain>` for a date cut into periods.
|
|
1555
|
-
*/
|
|
1556
|
-
across?: string;
|
|
1557
|
-
/** DRILL: the period `field` is cut into when it is a date (`month`); the store keeps `field` a Field key. */
|
|
1558
|
-
grain?: string;
|
|
1559
|
-
/** The Measures shown ("what to display"), by the store's own keys (`count`, `sum_quantity`). */
|
|
1560
|
-
show?: string[];
|
|
1561
|
-
/** The drill trail, in order: each crumb a Dimension reference and the value it narrowed to. */
|
|
1562
|
-
trail?: GridDrillStep[];
|
|
1563
|
-
};
|
|
1564
|
-
/** One crumb of a saved drill trail. `value: null` is "no value". */
|
|
1565
|
-
type GridDrillStep = {
|
|
1566
|
-
dim: string;
|
|
1567
|
-
value: string | null;
|
|
1568
|
-
};
|
|
1569
|
-
/** One sub-group level: a Field key and its section order. */
|
|
1570
|
-
type GridSubGroup = {
|
|
1571
|
-
field: string;
|
|
1572
|
-
order?: GroupOrder;
|
|
1573
|
-
grain?: string;
|
|
1574
|
-
};
|
|
1575
|
-
/** Everything a view says about how its table LOOKS. */
|
|
1576
|
-
type GridPresentation = {
|
|
1577
|
-
/** Color-by-a-column, rules and manual highlights. */
|
|
1578
|
-
style?: TableStyle;
|
|
1579
|
-
/** Per-column format overrides, by the Field's key. */
|
|
1580
|
-
formats?: Record<string, FieldFormatConfig>;
|
|
1581
|
-
/**
|
|
1582
|
-
* The columns that stay in place while the table scrolls sideways, by Field
|
|
1583
|
-
* key. Only the LEADING run of the view's column order can actually freeze —
|
|
1584
|
-
* the data table decides that, and declines rather than pinning a column at a
|
|
1585
|
-
* guessed offset.
|
|
1586
|
-
*/
|
|
1587
|
-
frozen?: string[];
|
|
1588
|
-
/** Collapsible sections by one Field, with subtotals on each header. */
|
|
1589
|
-
grouping?: GridGrouping;
|
|
1590
|
-
/**
|
|
1591
|
-
* The width a person dragged a column to, by Field key. SPARSE on purpose —
|
|
1592
|
-
* a view saved before widths existed carries none and still parses, and a
|
|
1593
|
-
* column nobody resized is left to the table's own measurement.
|
|
1594
|
-
*/
|
|
1595
|
-
widths?: Record<string, number>;
|
|
1596
|
-
/** The body row height this view remembers, in px. */
|
|
1597
|
-
rowHeight?: number;
|
|
1598
|
-
/**
|
|
1599
|
-
* Field keys hidden from this view — the SAME hidden-column list the grid's
|
|
1600
|
-
* own column picker holds, now given a place on the view so it survives a
|
|
1601
|
-
* reload and a layout switch reads the identical set gallery and grid agree
|
|
1602
|
-
* on, rather than a second "fields shown" list nobody kept in sync.
|
|
1603
|
-
*/
|
|
1604
|
-
hiddenFields?: string[];
|
|
1605
|
-
/**
|
|
1606
|
-
* THE FIELDS A CARD LEAVES OFF (board, list, gallery, calendar, timeline), by Field key — the
|
|
1607
|
-
* card's own choice, kept apart from `hiddenFields` so a board's "Card fields" never hides the
|
|
1608
|
-
* grid's columns when the view switches layout (v7 TABLE-EXPERIENCE, walk 2026-10-05). An empty
|
|
1609
|
-
* list is a choice (every field shown); absent means the card never chose.
|
|
1610
|
-
*/
|
|
1611
|
-
cardHidden?: string[];
|
|
1612
|
-
/**
|
|
1613
|
-
* THE ORDER A PERSON DRAGGED THE COLUMNS INTO, by Field key (merge tranche 6a). Sparse like
|
|
1614
|
-
* `widths`: a key it does not name keeps its Field's own place after the named ones, and a key
|
|
1615
|
-
* whose Field is gone is skipped — a column order can never hide or invent a column.
|
|
1616
|
-
*/
|
|
1617
|
-
columnOrder?: string[];
|
|
1618
|
-
/**
|
|
1619
|
-
* The gallery's card size, remembered the same way the grid remembers its
|
|
1620
|
-
* row height — a per-view look, not a global default.
|
|
1621
|
-
*/
|
|
1622
|
-
gallerySize?: "small" | "medium" | "large";
|
|
1623
|
-
/**
|
|
1624
|
-
* THIS VIEW'S OWN LAYOUT CHOICES, over the organization's `custom/grid_layout` knob (lane
|
|
1625
|
-
* DEFAULT-GRID-PARITY, TABLE-PARITY D1 D5 D6). Absent means "whatever the organization
|
|
1626
|
-
* says"; present is the view's word. `freezeFirst: false` is an explicit NO over an
|
|
1627
|
-
* organization that freezes the first column — an empty `frozen` cannot say that.
|
|
1628
|
-
*/
|
|
1629
|
-
wrap?: boolean;
|
|
1630
|
-
/** NOTION'S "WRAP COLUMN" (N5): the columns that wrap their text when the view as a whole does not. */
|
|
1631
|
-
wrapColumns?: string[];
|
|
1632
|
-
fit?: "auto" | "fit" | "scroll";
|
|
1633
|
-
freezeFirst?: boolean;
|
|
1634
|
-
/**
|
|
1635
|
-
* THE SUMMARY BAR (TABLE-PARITY F1): Field key → the store measure shown under that column
|
|
1636
|
-
* (`count`, `sum`, `avg`, `min`, `max`, `median`, `filled`, `empty`, `unique`), worked out
|
|
1637
|
-
* by `custom.record_aggregate` over the whole table.
|
|
1638
|
-
*/
|
|
1639
|
-
summaries?: Record<string, string>;
|
|
1640
|
-
/**
|
|
1641
|
-
* WHERE THE FOOTER SITS (lane TABLE-PAGE-CHROME, owner 2026-09-25) — the row count and the
|
|
1642
|
-
* pages: `sticky`, pinned to the bottom of the screen while the rows scroll (the older grid's
|
|
1643
|
-
* way, and the default when a view says nothing), or `inline`, right after the last row with
|
|
1644
|
-
* the page scrolling. Read by the Grid and a host's Sheet.
|
|
1645
|
-
*/
|
|
1646
|
-
footer?: FooterPlacement;
|
|
1647
|
-
};
|
|
1648
|
-
/** Where a grid's footer sits. */
|
|
1649
|
-
type FooterPlacement = "sticky" | "inline";
|
|
1650
|
-
/** What a view that says nothing gets — the older grid's pinned footer. */
|
|
1651
|
-
declare const DEFAULT_FOOTER: FooterPlacement;
|
|
1652
|
-
/** Where THIS view's footer sits, said or defaulted. */
|
|
1653
|
-
declare function footerOf(p: GridPresentation | null | undefined): FooterPlacement;
|
|
1654
|
-
declare const EMPTY_PRESENTATION: GridPresentation;
|
|
1655
|
-
/** A frozen column needs a known width, or the table declines to freeze at all. */
|
|
1656
|
-
declare const FROZEN_COLUMN_WIDTH = 200;
|
|
1657
|
-
/**
|
|
1658
|
-
* WHAT A ROW HEIGHT IS ALLOWED TO BE. Below the floor the text is clipped and
|
|
1659
|
-
* no editor fits; above the ceiling one record fills the screen. A view asking
|
|
1660
|
-
* for anything outside it is DROPPED rather than obeyed, because a saved look
|
|
1661
|
-
* must not be able to make a table unreadable — and the Fields' own heights
|
|
1662
|
-
* still draw, which is the tolerant half.
|
|
1663
|
-
*/
|
|
1664
|
-
declare const MIN_ROW_HEIGHT = 24;
|
|
1665
|
-
declare const MAX_ROW_HEIGHT = 96;
|
|
1666
|
-
/**
|
|
1667
|
-
* Read a presentation out of whatever the view record holds — an object, or the
|
|
1668
|
-
* JSON string a text field stores.
|
|
1669
|
-
*
|
|
1670
|
-
* Tolerant in exactly the way `parseTableStyle` is: an unreadable half is
|
|
1671
|
-
* dropped and the rest still applies, because a table must keep drawing when
|
|
1672
|
-
* one piece of its styling goes out of date.
|
|
1673
|
-
*/
|
|
1674
|
-
declare function parseGridPresentation(raw: unknown): GridPresentation;
|
|
1675
|
-
/** True when nothing here would change how anything looks. */
|
|
1676
|
-
declare function presentationIsEmpty(p: GridPresentation): boolean;
|
|
1677
|
-
/** The string a view record stores. Empty string for "this view styles nothing". */
|
|
1678
|
-
declare function presentationDocument(p: GridPresentation): string;
|
|
1679
|
-
/**
|
|
1680
|
-
* The format a Field's OWN declaration implies, before any view says anything.
|
|
1681
|
-
*
|
|
1682
|
-
* Returns `undefined` for a Field whose value the record renderer already draws
|
|
1683
|
-
* better than a formatter could — a relation chip, a person, an attachment, a
|
|
1684
|
-
* choice — because handing those to a text formatter would REPLACE a working
|
|
1685
|
-
* control with a string.
|
|
1686
|
-
*/
|
|
1687
|
-
declare function formatForField(field: Field): FieldFormatConfig | undefined;
|
|
1688
|
-
declare function currencyCodeFor(unit: string | null | undefined): string;
|
|
1689
|
-
/**
|
|
1690
|
-
* The color a value paints with when a view colors BY a column.
|
|
1691
|
-
*
|
|
1692
|
-
* NOTHING FAILS SILENTLY, so this never returns "no color" for a value that
|
|
1693
|
-
* exists. The store keeps a list column's choices as records of another Table,
|
|
1694
|
-
* and this grid has not read that Table's option colors, so the color is
|
|
1695
|
-
* derived from the value's own text: the same word always gets the same color,
|
|
1696
|
-
* different words get different ones, and `true` is green the way every
|
|
1697
|
-
* checklist reads. When those option colors do land, this is the ONE function
|
|
1698
|
-
* that changes and every screen follows.
|
|
1699
|
-
*/
|
|
1700
|
-
declare const colorFromTheValue: ChoiceColorLookup;
|
|
1701
|
-
/**
|
|
1702
|
-
* G1's TABLE-LEVEL COLORS (`custom.table_decorations` / `client.tableDecorations`),
|
|
1703
|
-
* TRANSLATED INTO A `TableStyle` — the same document a saved view's own `presentation.style`
|
|
1704
|
-
* is, so one resolver (`resolveTableStyle`, below) can treat "the table's colors" and "this
|
|
1705
|
-
* view's colors" as two layers of the SAME thing instead of two unrelated systems.
|
|
1706
|
-
*
|
|
1707
|
-
* THE TRANSLATION IS NECESSARY AND IT IS THE ONLY ONE. G1 addresses a Field by its ID
|
|
1708
|
-
* (REC-17 — a column renamed keeps its color), because it is the STORE's own door; a
|
|
1709
|
-
* `TableStyle` addresses a Field by its KEY, because it reads straight off `row.document`,
|
|
1710
|
-
* which is keyed by Field key. A rule or a color-by whose Field has been deleted (its id no
|
|
1711
|
-
* longer resolves to a key) is dropped rather than crashing the whole style — a defect in
|
|
1712
|
-
* one rule costs that rule, never the read.
|
|
1713
|
-
*/
|
|
1714
|
-
declare function styleFromDecorations(decorations: TableDecorations | null | undefined, fields: readonly Field[]): TableStyle;
|
|
1715
|
-
/**
|
|
1716
|
-
* THE ONE PRESENTATION RESOLVER every colored surface in this package reads —
|
|
1717
|
-
* `Grid`, and (via `Card`) the kanban board, the calendar and the gallery.
|
|
1718
|
-
*
|
|
1719
|
-
* THE CLASS THIS CLOSES (lane UI-QUICK-1, TABLE-PARITY review, 2026-09-24). Threading
|
|
1720
|
-
* `view.presentation.style` into `Card` closed the instance the CALENDAR-GALLERY bench
|
|
1721
|
-
* found — a VIEW that had its own color-by looked right everywhere — but it left the
|
|
1722
|
-
* class open: a table whose colors are the ORGANIZATION's decorations (G1's
|
|
1723
|
-
* `custom.table_decorations` — "color rows by Account Type", "MAXED and NEAR rules" on
|
|
1724
|
-
* Arman's own Coding Accounts table) and whose views never set a `presentation.style` of
|
|
1725
|
-
* their own drew NOTHING, on the grid exactly as much as on every other layout, because
|
|
1726
|
-
* nothing in this package had ever read G1's door at all.
|
|
1727
|
-
*
|
|
1728
|
-
* TWO LAYERS, ONE DOCUMENT. The table's decorations are the base coat — what every view
|
|
1729
|
-
* of this table shows until a view says otherwise. A view's OWN `presentation.style` is
|
|
1730
|
-
* an override, piece by piece: a view that only ever set manual row highlights still
|
|
1731
|
-
* inherits the table's color-by and rules for everything it never touched, and a view
|
|
1732
|
-
* that fully redecorated (its own `colorBy` AND its own `rules`) is not haunted by a
|
|
1733
|
-
* table rule it meant to replace. Per-piece, never all-or-nothing, because a view is a
|
|
1734
|
-
* LOOK on top of the table, not a wholesale substitute for it.
|
|
1735
|
-
*/
|
|
1736
|
-
declare function resolveTableStyle(decorations: TableDecorations | null | undefined, fields: readonly Field[], viewStyle: TableStyle | undefined): TableStyle;
|
|
1737
|
-
|
|
1738
|
-
/** Every surface a saved view is drawn by. */
|
|
1739
|
-
type ViewKeyLayout = "grid" | "kanban" | "calendar" | "gallery" | "timeline" | "list";
|
|
1740
|
-
/**
|
|
1741
|
-
* 🚩 THE ONE SWITCH FOR THE TIMELINE'S STORE KEYS (lane VIEWS-AND-FIELDS, sublane TL).
|
|
1742
|
-
*
|
|
1743
|
-
* `vk_a_calendar_keeps_where_a_record_ends_and_a_timeline_is_a_view.sql` (sublane VK) teaches
|
|
1744
|
-
* `custom.view_keys()` the layout `timeline`, the keys `start_field` and `end_field` (calendar +
|
|
1745
|
-
* timeline), and `group_field` for the timeline. Until that migration is on production this stays
|
|
1746
|
-
* `false`, and:
|
|
1747
|
-
* · `timeline` is not a layout the store keeps (`STORE_KEPT_LAYOUTS`), so it is drawn for the visit;
|
|
1748
|
-
* · `start_field` / `end_field` are held for the visit, never sent (`viewSettingsPatch`), and the
|
|
1749
|
-
* Start also rides `date_field`, which the store already keeps;
|
|
1750
|
-
* · the timeline's toolbar says "Kept for this visit only".
|
|
1751
|
-
* Flipped to `true`, VIEW_KEYS below mirrors the migrated registry row for row (the live walk
|
|
1752
|
-
* compares them) and every one of those is kept on the view.
|
|
1753
|
-
*/
|
|
1754
|
-
declare const STORE_KEEPS_TIMELINE = true;
|
|
1755
|
-
/** Who may write a key: anyone who may save the view, an input the door rewrites, or the server only. */
|
|
1756
|
-
type ViewKeyWriter = "caller" | "input" | "server";
|
|
1757
|
-
interface ViewKeyDeclaration {
|
|
1758
|
-
/** Where it lives in `platform.saved_view.definition` (dotted under `presentation`). */
|
|
1759
|
-
path: string;
|
|
1760
|
-
/** What the store's guard checks (`custom._view_key_value`). */
|
|
1761
|
-
shape: string;
|
|
1762
|
-
/** The layouts that read it. */
|
|
1763
|
-
layouts: readonly ViewKeyLayout[];
|
|
1764
|
-
writer: ViewKeyWriter;
|
|
1765
|
-
}
|
|
1766
|
-
/**
|
|
1767
|
-
* THE REGISTRY, as `custom.view_keys()` declares it (uichamp_s1_a_view_keeps_every_setting_it_is_given.sql).
|
|
1768
|
-
* Order and content are compared with the store by the live walk.
|
|
1769
|
-
*/
|
|
1770
|
-
declare const VIEW_KEYS: readonly ViewKeyDeclaration[];
|
|
1771
|
-
/**
|
|
1772
|
-
* THE LAYOUTS THE STORE KEEPS ON A VIEW. `custom.view_keys()` judges a view's `layout` against its
|
|
1773
|
-
* own list (grid, kanban, calendar, gallery) and refuses any other word by name. A layout this
|
|
1774
|
-
* package draws before the store keeps it — the timeline, 2026-10-02 — is never sent as a view's or a
|
|
1775
|
-
* look's layout (`viewSettingsPatch`, `viewDocument`): it is drawn for this visit and says so. When the
|
|
1776
|
-
* store's registry admits it, add it here and nothing else changes.
|
|
1777
|
-
*/
|
|
1778
|
-
declare const STORE_KEPT_LAYOUTS: readonly string[];
|
|
1779
|
-
/** Whether the store keeps this layout on a saved view. */
|
|
1780
|
-
declare function storeKeepsLayout(layout: string): boolean;
|
|
1781
|
-
/** The keys one layout reads, by path. */
|
|
1782
|
-
declare function viewKeysFor(layout: ViewKeyLayout): string[];
|
|
1783
|
-
/** One sort clause: a Field key and a direction. */
|
|
1784
|
-
interface ViewSortKey {
|
|
1785
|
-
field: string;
|
|
1786
|
-
direction: "asc" | "desc";
|
|
1787
|
-
}
|
|
1788
|
-
/**
|
|
1789
|
-
* EVERY DECLARED KEY OF A VIEW, TYPED. Absent keys are `null` / empty, never guessed.
|
|
1790
|
-
* `presentation` is the parsed look (colour field, pinned fields, row height, grouping with its
|
|
1791
|
-
* sub-groups and shut sections, hidden fields, gallery size, summaries).
|
|
1792
|
-
*/
|
|
1793
|
-
interface ViewSettings {
|
|
1794
|
-
layout: "grid" | "kanban" | "calendar" | "gallery" | "timeline" | "list";
|
|
1795
|
-
filters: RecordFilter | null;
|
|
1796
|
-
where: RuleExpression | null;
|
|
1797
|
-
groupField: string | null;
|
|
1798
|
-
swimlaneField: string | null;
|
|
1799
|
-
collapsedColumns: string[];
|
|
1800
|
-
measure: string | null;
|
|
1801
|
-
dateField: string | null;
|
|
1802
|
-
/** Timeline: where a record's bar starts (`start_field`). */
|
|
1803
|
-
startField: string | null;
|
|
1804
|
-
/** Calendar and timeline: where a record ends (`end_field`). */
|
|
1805
|
-
endField: string | null;
|
|
1806
|
-
imageField: string | null;
|
|
1807
|
-
sorts: ViewSortKey[];
|
|
1808
|
-
ruleId: string | null;
|
|
1809
|
-
isDefault: boolean;
|
|
1810
|
-
presentation: GridPresentation;
|
|
1811
|
-
movedFrom: Record<string, unknown> | null;
|
|
1812
|
-
}
|
|
1813
|
-
/** THE READER. A stored `definition` (and the row's flat `filters`) in, every declared key out. */
|
|
1814
|
-
declare function viewSettings(definition: Record<string, unknown> | null | undefined, rowFilters?: RecordFilter | null): ViewSettings;
|
|
1815
|
-
/** The settings as the spec names them — what `viewSettingsPatch` takes. */
|
|
1816
|
-
type ViewSettingsPatch = Partial<Omit<ViewSettings, "movedFrom" | "layout">> & {
|
|
1817
|
-
/** Any layout the package draws; one the store does not keep is not sent. */
|
|
1818
|
-
layout?: string;
|
|
1819
|
-
};
|
|
1820
|
-
/**
|
|
1821
|
-
* THE KEYS ONE LAYOUT READS, and nothing else. A layout that does not use a key never sees it:
|
|
1822
|
-
* a calendar is not told the board's swimlanes, a board is not told the grid's pinned fields.
|
|
1823
|
-
*/
|
|
1824
|
-
declare function viewSettingsFor(settings: ViewSettings, layout: ViewKeyLayout): Partial<ViewSettings>;
|
|
1825
|
-
/**
|
|
1826
|
-
* THE WRITER'S SHAPE. Only the keys a press changed; a cleared Field is `null` (the door removes
|
|
1827
|
-
* it); lists are sent whole. `presentation` is sent whole because the door judges it as one key.
|
|
1828
|
-
*/
|
|
1829
|
-
declare function viewSettingsPatch(patch: ViewSettingsPatch): Record<string, unknown>;
|
|
1830
|
-
|
|
1831
|
-
/** The ways one saved view can be looked at (SCR-6; the timeline, lane VIEWS-AND-FIELDS TL). */
|
|
1832
|
-
declare const VIEW_LAYOUTS: readonly ["grid", "kanban", "calendar", "gallery", "timeline", "list"];
|
|
1833
|
-
type ViewLayout = (typeof VIEW_LAYOUTS)[number];
|
|
1834
|
-
declare const LAYOUT_LABEL: Record<ViewLayout, string>;
|
|
1835
|
-
/**
|
|
1836
|
-
* ─────────────────────────────────────────────────────────────────────────────
|
|
1837
|
-
* WHAT EACH LAYOUT NEEDS FROM THE TABLE, AND HOW THE SCREEN SUPPLIES IT
|
|
1838
|
-
* (lane DATA-V2-VIEWS-1, Arman 2026-09-28).
|
|
1839
|
-
*
|
|
1840
|
-
* THE DEFECT. A plain table opened as a Kanban said "A kanban board needs a Field to make its
|
|
1841
|
-
* columns from … Add column, then Select — and it appears here." It told the person what to do
|
|
1842
|
-
* instead of doing it, and on an AI platform it offered no AI. The ruling: ONE primitive, used by
|
|
1843
|
-
* every view (`ViewNeeds`) — the empty state says in one plain sentence what is missing and what
|
|
1844
|
-
* pressing will do, offers "Make it work" (the column is declared through the store's
|
|
1845
|
-
* `custom.field_declare`, its key minted by the store, its name and choices editable before the
|
|
1846
|
-
* press) and "Ask AI" (the agent does it through the same door, held for the person's approval by
|
|
1847
|
-
* the organization's "Agent changes to this organization's data" setting).
|
|
1848
|
-
*
|
|
1849
|
-
* THE CENSUS — every layout this package draws, and what it reads:
|
|
1850
|
-
* · grid nothing.
|
|
1851
|
-
* · kanban a CHOICE column (its options become the board's columns). Blocking.
|
|
1852
|
-
* · calendar a DATE column (it places each record on a day). Blocking.
|
|
1853
|
-
* · gallery a FILE column for the card's picture. NOT blocking: the cards draw without one,
|
|
1854
|
-
* so the offer sits above them instead of in place of them.
|
|
1855
|
-
* · timeline a DATE column each bar starts on (the calendar's `dateField`). Blocking.
|
|
1856
|
-
* `PAGE_VIEWS`' two extra values (dashboards, archived) read
|
|
1857
|
-
* nothing a table can lack. This package ships no map layout; the day it does,
|
|
1858
|
-
* `Record<ViewLayout, …>` below refuses to compile until the new layout names what it needs.
|
|
1859
|
-
*/
|
|
1860
|
-
type ViewNeedKind = "choice" | "date" | "file";
|
|
1861
|
-
interface ViewNeed {
|
|
1862
|
-
/** What the layout reads, as a kind a column declares (`offerableFields`). */
|
|
1863
|
-
kind: ViewNeedKind;
|
|
1864
|
-
/** The view key the made column is written onto, so the layout opens drawn by it. */
|
|
1865
|
-
viewKey: "groupField" | "dateField" | "imageField";
|
|
1866
|
-
/** True when the layout cannot draw at all without it (kanban, calendar). */
|
|
1867
|
-
blocking: boolean;
|
|
1868
|
-
/** The column the press makes, before the person edits it: its name, the store's word, its choices. */
|
|
1869
|
-
starter: {
|
|
1870
|
-
label: string;
|
|
1871
|
-
type: "select" | "datetime" | "attachment";
|
|
1872
|
-
options?: readonly string[];
|
|
1873
|
-
};
|
|
1874
|
-
/** The table HAS columns this layout can use and none is chosen: the sentence over the picker. */
|
|
1875
|
-
pick: string;
|
|
1876
|
-
/** One plain sentence: what the table is missing (all a person who may not change it is told). */
|
|
1877
|
-
missing: string;
|
|
1878
|
-
/** One plain sentence: what pressing Make it work will do, with the column's name. */
|
|
1879
|
-
does: (label: string) => string;
|
|
1880
|
-
/** The sentence an agent is asked with — the same act, said in words. */
|
|
1881
|
-
ask: (label: string, options: readonly string[]) => string;
|
|
1882
|
-
}
|
|
1883
|
-
/** A list of words as a person says it: "To do, In progress and Done". */
|
|
1884
|
-
declare function wordsList(words: readonly string[]): string;
|
|
1885
|
-
declare const VIEW_NEEDS: Record<ViewLayout, ViewNeed | null>;
|
|
1886
|
-
/**
|
|
1887
|
-
* A NAME NO COLUMN OF THIS TABLE ALREADY HAS: the starter's own, else "Status 2", "Status 3"…
|
|
1888
|
-
* A table that already holds a text column called Status must not be refused the board.
|
|
1889
|
-
*/
|
|
1890
|
-
declare function freeColumnName(wanted: string, taken: readonly string[]): string;
|
|
1891
|
-
/** One sort clause. The Field's key and a direction; nothing else is a sort. */
|
|
1892
|
-
interface ViewSort {
|
|
1893
|
-
field: string;
|
|
1894
|
-
direction: "asc" | "desc";
|
|
1895
|
-
}
|
|
1896
|
-
/** How a saved view is ordered: by hand, by its sort, or it never said (the same as sorted). */
|
|
1897
|
-
type ViewOrder = "manual" | "sorted" | null;
|
|
1898
|
-
/**
|
|
1899
|
-
* THE DECLARATIVE SPEC. An agent writes this whole object; a person tweaks it.
|
|
1900
|
-
* Every builder component in this package takes one of these as a prop.
|
|
1901
|
-
*/
|
|
1902
|
-
interface SavedViewSpec {
|
|
1903
|
-
name: string;
|
|
1904
|
-
/** The Table this view looks at. */
|
|
1905
|
-
subject: Uuid;
|
|
1906
|
-
layout: ViewLayout;
|
|
1907
|
-
/** Kanban: the Field whose value becomes a column. */
|
|
1908
|
-
groupField?: string | null;
|
|
1909
|
-
/**
|
|
1910
|
-
* Kanban: a number Field to TOTAL under each column heading. It lives on the VIEW for
|
|
1911
|
-
* the same reason the colours do — two people read one board two ways and neither
|
|
1912
|
-
* reading is a fact about the records.
|
|
1913
|
-
*/
|
|
1914
|
-
measure?: string | null;
|
|
1915
|
-
/**
|
|
1916
|
-
* Kanban: the Field whose values cut the board into SWIMLANES across the columns — a
|
|
1917
|
-
* dispatcher's board by Status, one lane per Technician (S1-PRIME VIEW-KEYS). Never the
|
|
1918
|
-
* column Field itself; the store refuses that.
|
|
1919
|
-
*/
|
|
1920
|
-
swimlaneField?: string | null;
|
|
1921
|
-
/** Kanban: the columns this view keeps shut to a strip, by the column's stored value. */
|
|
1922
|
-
collapsedColumns?: string[];
|
|
1923
|
-
/** Calendar: the Field that places a record in the month. */
|
|
1924
|
-
dateField?: string | null;
|
|
1925
|
-
/** Timeline: the Field a record's bar starts on (`start_field`). */
|
|
1926
|
-
startField?: string | null;
|
|
1927
|
-
/** Calendar and timeline: the Field a record ends on (`end_field`). */
|
|
1928
|
-
endField?: string | null;
|
|
1929
|
-
/** Gallery: the Field shown large on the card. */
|
|
1930
|
-
imageField?: string | null;
|
|
1931
|
-
sorts?: ViewSort[];
|
|
1932
|
-
/**
|
|
1933
|
-
* HOW THE VIEW IS ORDERED (ORDER-FIX): `"manual"` — the positions a person set by hand ARE the
|
|
1934
|
-
* view's sort, and it carries no `sorts`; `"sorted"` or null — by `sorts`. READ ONLY: the store
|
|
1935
|
-
* writes "manual" only when the rows are placed (`custom.view_record_order_set`) and turns it
|
|
1936
|
-
* off itself when a sort is saved, so no patch ever sends it (`viewSettingsPatch` does not).
|
|
1937
|
-
*/
|
|
1938
|
-
order?: ViewOrder;
|
|
1939
|
-
/**
|
|
1940
|
-
* The membership Rule. The STORE decides who is in this view; this is a
|
|
1941
|
-
* reference to its Rule record, never a predicate this package evaluates.
|
|
1942
|
-
*/
|
|
1943
|
-
ruleId?: Uuid | null;
|
|
1944
|
-
/**
|
|
1945
|
-
* THE FLAT FILTER a digest or a notify rule wrote the view with — the one shape
|
|
1946
|
-
* `custom.record_filter_sql` compiles, by Field KEY. A view saved in the bar has
|
|
1947
|
-
* none; a view saved by `DigestScheduler` ("where Status is Open") does, and the
|
|
1948
|
-
* grid and the board show exactly the records it names.
|
|
1949
|
-
*/
|
|
1950
|
-
filters?: RecordFilter;
|
|
1951
|
-
/**
|
|
1952
|
-
* S2-PRIME — THE VIEW'S OWN QUESTION, as the condition builder writes it: the store's Rule
|
|
1953
|
-
* shape `{op, args}`, ALL / ANY / NOT groups nested to any depth, Fields by id. Kept in the
|
|
1954
|
-
* definition as `where` and asked of the store unchanged — the grid's list door, the board's
|
|
1955
|
-
* headings and the dashboard's numbers compile it into the one WHERE clause
|
|
1956
|
-
* (`custom.record_filter_sql`). Never stored under `filters`: that key is the flat map the
|
|
1957
|
-
* digests and the notifier read, and they would refuse it by name.
|
|
1958
|
-
*/
|
|
1959
|
-
where?: RuleExpression | null;
|
|
1960
|
-
isDefault?: boolean;
|
|
1961
|
-
/**
|
|
1962
|
-
* HOW THIS VIEW LOOKS — its colors, its per-column formats and its frozen
|
|
1963
|
-
* column (`presentation.ts`).
|
|
1964
|
-
*
|
|
1965
|
-
* It lives on the VIEW and not on the Fields because two people read one
|
|
1966
|
-
* table two ways and neither reading is a fact about the records; it lives on
|
|
1967
|
-
* a RECORD, not a new column, because that is what makes it something an
|
|
1968
|
-
* agent writes with the same `records` tool as everything else.
|
|
1969
|
-
*/
|
|
1970
|
-
presentation?: GridPresentation;
|
|
1971
|
-
}
|
|
1972
|
-
/**
|
|
1973
|
-
* A saved view as it comes back out of the store, with its row's own id.
|
|
1974
|
-
*
|
|
1975
|
-
* It carries no version: `custom.view_declare` MERGES one key at a time, so two
|
|
1976
|
-
* tabs pressing two different controls on one view both stand, and one control
|
|
1977
|
-
* pressed in both keeps the latest — how Airtable and Notion keep a view change.
|
|
1978
|
-
*/
|
|
1979
|
-
interface SavedView extends SavedViewSpec {
|
|
1980
|
-
id: Uuid;
|
|
1981
|
-
/** Where the view came from when it was moved in (the mover, the S0 repair), else null. */
|
|
1982
|
-
movedFrom: Record<string, unknown> | null;
|
|
1983
|
-
}
|
|
1984
|
-
/** THE TABLE'S DEFAULT VIEW: the first view that says it is. */
|
|
1985
|
-
declare function defaultViewOf<V extends Pick<SavedView, "isDefault">>(views: readonly V[]): V | undefined;
|
|
1986
|
-
/**
|
|
1987
|
-
* WHICH FIELD EACH LAYOUT CAN BE DRAWN FROM, decided from the FIELD'S OWN
|
|
1988
|
-
* DECLARATION and never from the values it happens to hold.
|
|
1989
|
-
*
|
|
1990
|
-
* A kanban makes columns from a choice: the Field whose value is one of a
|
|
1991
|
-
* closed set (FLD-5 / FLD-6 — a pick-list is a Table, and a select stores the
|
|
1992
|
-
* id of one of its records). Grouping by a free-text Field produces one column
|
|
1993
|
-
* per record, which is not a board. A calendar places a record in time, so it
|
|
1994
|
-
* needs a Field that holds a date.
|
|
1995
|
-
*
|
|
1996
|
-
* These two answers are here, beside the layouts, because the picker on the
|
|
1997
|
-
* screen and any agent writing a view spec must agree about what is offerable.
|
|
1998
|
-
*/
|
|
1999
|
-
declare const LAYOUT_FIELD_KIND: Record<ViewLayout, ViewNeedKind | null>;
|
|
2000
|
-
/**
|
|
2001
|
-
* ─────────────────────────────────────────────────────────────────────────────
|
|
2002
|
-
* WHICH VIEW A LINK NAMES — the address bar as a first-class control.
|
|
2003
|
-
*
|
|
2004
|
-
* 🚨 THE DEFECT THIS CLOSES (lane FRONT-DOOR, 2026-09-21; VERIFIER-8 HIGH-2).
|
|
2005
|
-
* `/data/<table>?view=kanban` returned 200 and rendered THE GRID. The
|
|
2006
|
-
* switcher was there, the four buttons worked, and the parameter was read by
|
|
2007
|
-
* nobody — so a person who bookmarked a board, or sent one to a colleague, got
|
|
2008
|
-
* a grid, and nothing on the screen said the view had been dropped. A link that
|
|
2009
|
-
* does not land is the inbox-link defect (`activeRecordId`) and the dashboard
|
|
2010
|
-
* defect (`activeDashboardId`) for the third time, so this is the same shape of
|
|
2011
|
-
* fix: the URL names it, the page opens on it, and the URL FOLLOWS the person
|
|
2012
|
-
* when they pick another.
|
|
2013
|
-
*
|
|
2014
|
-
* The dashboards are a fifth value and not a special case: to the person, "the
|
|
2015
|
-
* dashboard" is one of the ways to look at this table, and a link to it has to
|
|
2016
|
-
* work like a link to the board.
|
|
2017
|
-
*/
|
|
2018
|
-
/**
|
|
2019
|
-
* 🚨 `archived` IS THE SIXTH VALUE, AND IT IS NOT A SPECIAL CASE EITHER (lane
|
|
2020
|
-
* FIX-10A-ARCHIVE, 2026-09-22; VERIFIER-10 F4).
|
|
2021
|
-
*
|
|
2022
|
-
* Archiving a record used to be a ONE-WAY DOOR: the grid's row action soft-
|
|
2023
|
-
* deletes correctly — `deleted_at` set, version bumped, nothing removed — and
|
|
2024
|
-
* then no screen anywhere in the platform could bring it back. The store's
|
|
2025
|
-
* `custom.record_restore` was there the whole time and did exactly the right
|
|
2026
|
-
* thing; nothing reached it, because every read door answers live rows only.
|
|
2027
|
-
*
|
|
2028
|
-
* So the archive is a WAY OF LOOKING AT THIS TABLE, like the board and the
|
|
2029
|
-
* dashboards, reached by the same row of buttons and named by the same
|
|
2030
|
-
* `?view=` parameter — never a Trash area of the app somebody has to know
|
|
2031
|
-
* exists, and never a per-table screen. Every Table inherits it the moment it
|
|
2032
|
-
* is in this list.
|
|
2033
|
-
*/
|
|
2034
|
-
declare const PAGE_VIEWS: readonly ["grid", "kanban", "calendar", "gallery", "timeline", "list", "dashboards", "archived"];
|
|
2035
|
-
type PageView = (typeof PAGE_VIEWS)[number];
|
|
2036
|
-
declare const PAGE_VIEW_LABEL: Record<PageView, string>;
|
|
2037
|
-
/**
|
|
2038
|
-
* What a `?view=` value means, or `null` when it means nothing here.
|
|
2039
|
-
*
|
|
2040
|
-
* `null` is NOT "show the grid": the caller is expected to say that the link
|
|
2041
|
-
* named something this table has no view for, because silently substituting a
|
|
2042
|
-
* different view is exactly the defect above wearing a parser.
|
|
2043
|
-
*/
|
|
2044
|
-
declare function pageViewFromParam(raw: string | null | undefined): PageView | null;
|
|
2045
|
-
/** The sentence a link that named a view nobody has says. Never silent. */
|
|
2046
|
-
declare function unknownViewLine(raw: string): string;
|
|
2047
|
-
/**
|
|
2048
|
-
* THE SPEC AS THE ONE DEFINITION `platform.saved_view` HOLDS — the keys
|
|
2049
|
-
* `custom.view_declare` documents, by Field KEY. `subject` is not in it: the door
|
|
2050
|
-
* takes the Table as its own argument and writes `table_id` itself.
|
|
2051
|
-
*/
|
|
2052
|
-
declare function viewDocument(spec: SavedViewSpec): Record<string, unknown>;
|
|
2053
|
-
/**
|
|
2054
|
-
* One row of `custom.views` back into the spec a screen and an agent both read — THROUGH THE ONE
|
|
2055
|
-
* ACCESSOR (`viewSettings`, viewKeys.ts), so every layout sees every declared key the same way.
|
|
2056
|
-
*/
|
|
2057
|
-
declare function viewFromRow(row: SavedViewRow): SavedView;
|
|
2058
|
-
/**
|
|
2059
|
-
* SAVE ONE NEW VIEW of a Table — the bar's "New view" and an agent's seed spec.
|
|
2060
|
-
* One `view_declare` with no `view_id`; the answer is the new view's id.
|
|
2061
|
-
*/
|
|
2062
|
-
declare function declareView(client: Pick<RecordsClient, "viewDeclare">, spec: SavedViewSpec): Promise<RecordsResult<Uuid>>;
|
|
2063
|
-
/**
|
|
2064
|
-
* WRITE A CHANGE ONTO A SAVED VIEW, AND KEEP IT.
|
|
2065
|
-
*
|
|
2066
|
-
* `custom.view_declare` with the view's id MERGES: only the keys in `patch` are
|
|
2067
|
-
* written, a key cleared to null is removed, and everything the patch did not
|
|
2068
|
-
* name — the grid's own choices, a hand-set order, where the view was moved from,
|
|
2069
|
-
* a colour set in another tab — stays exactly as it was (S0, 2026-09-23: the door
|
|
2070
|
-
* used to rebuild the whole definition from what one press sent).
|
|
2071
|
-
*
|
|
2072
|
-
* There is no version to be stale against (VERIFIER-15 M4 is closed by the shape,
|
|
2073
|
-
* not by a retry): a saved view is a person's own arrangement of a table, and
|
|
2074
|
-
* their latest press on a control is the one that stands. A refusal — the view
|
|
2075
|
-
* was removed, or belongs to a table this person cannot open — is handed back for
|
|
2076
|
-
* the page to say through the one notice.
|
|
2077
|
-
*/
|
|
2078
|
-
declare function saveViewPatch(client: Pick<RecordsClient, "viewDeclare">, tableId: Uuid, viewId: Uuid, patch: Partial<SavedViewSpec>): Promise<RecordsResult<Uuid>>;
|
|
2079
|
-
/**
|
|
2080
|
-
* A PARTIAL change to a saved view, as the definition keys the door merges. Only
|
|
2081
|
-
* the keys the caller actually changed are sent; a Field cleared (a board with no
|
|
2082
|
-
* "Group by") is sent as `null`, which the door removes.
|
|
2083
|
-
*/
|
|
2084
|
-
declare function viewPatchDocument(patch: Partial<SavedViewSpec>): Record<string, unknown>;
|
|
2085
|
-
|
|
2086
1589
|
/** A column sort as the grid holds it: the Field key and a direction. */
|
|
2087
1590
|
interface ColumnSort {
|
|
2088
1591
|
field: string;
|
|
@@ -4054,6 +3557,15 @@ declare function useViewRecords(view: SavedViewSpec, pageSize?: number, filter?:
|
|
|
4054
3557
|
};
|
|
4055
3558
|
declare function ViewSwitcher({ view, onLayoutChange, onViewChange, onOpenRecord, openRecordId, onCloseRecord, onMoved, onNewRecordForm, onAskWhoChanged, pageSize: pageSizeAsked, titleField, filter, onClearFilter, chooser, viewId, onOrderPlaced, footer, embedded, sortOverride, searchOverride, onSearchChange, searchBox, newRowLabel, className, }: ViewSwitcherProps): react.JSX.Element;
|
|
4056
3559
|
|
|
3560
|
+
/** The host app's saved zone (IANA). `null` / junk clears it: the device zone applies. */
|
|
3561
|
+
declare function setPersonTimeZone(next: string | null | undefined): void;
|
|
3562
|
+
declare function getPersonTimeZone(): string | null;
|
|
3563
|
+
/**
|
|
3564
|
+
* `at` as a Date whose LOCAL fields (getFullYear, getHours, ...) read the wall clock in the person's zone.
|
|
3565
|
+
* For day / hour math only: never compare it with a stored instant.
|
|
3566
|
+
*/
|
|
3567
|
+
declare function personWallNow(at?: Date): Date;
|
|
3568
|
+
|
|
4057
3569
|
type CalendarMode = "month" | "week" | "day" | "list";
|
|
4058
3570
|
interface CalendarViewProps {
|
|
4059
3571
|
/** The table the records live in — the undo history's table, and where a new record is made. */
|
|
@@ -6973,7 +6485,19 @@ interface PipelineBoardProps {
|
|
|
6973
6485
|
declare function PipelineBoard({ tableId, rows, titleKey, measure, filter, onMeasureChange, onOpenRecord, onMoved, onChanged, style, dateFields, canAdd, className, }: PipelineBoardProps): react.JSX.Element;
|
|
6974
6486
|
|
|
6975
6487
|
/** The source's Dimensions, as the door says them; a choice and a relation read by their words. */
|
|
6976
|
-
declare function drillDimensionsOf(def: DrillDefinition | null, labels: ReadonlyMap<string, ReadonlyMap<string, string>>): MatrxDrillDimension[];
|
|
6488
|
+
declare function drillDimensionsOf(def: DrillDefinition | null, labels: ReadonlyMap<string, ReadonlyMap<string, string>>, options?: Readonly<Record<string, MatrxDrillDimensionOptions | undefined>> | undefined): MatrxDrillDimension[];
|
|
6489
|
+
/** What a host adds to a server Dimension: its group actions, its value's door, what names its values. */
|
|
6490
|
+
type MatrxDrillDimensionOptions = Partial<Pick<MatrxDrillDimension, "groupActions" | "doorFor" | "labelFrom" | "labelFor" | "colorFor" | "entity">>;
|
|
6491
|
+
/** One fixed filter of the host (one site): applied to every ask, said as a crumb no click removes. */
|
|
6492
|
+
interface DrillBase {
|
|
6493
|
+
/** The Dimension (or column) key. */
|
|
6494
|
+
key: string;
|
|
6495
|
+
value: string | number | boolean | null;
|
|
6496
|
+
/** The crumb's name. Default the Dimension's label. */
|
|
6497
|
+
label?: string | undefined;
|
|
6498
|
+
/** The crumb's value words. Default the Dimension's words for the value. */
|
|
6499
|
+
valueLabel?: string | undefined;
|
|
6500
|
+
}
|
|
6977
6501
|
/** The source's Measures, as the door says them. */
|
|
6978
6502
|
declare function drillMeasuresOf(def: DrillDefinition | null): MatrxDrillMeasure[];
|
|
6979
6503
|
/** The declared drill paths, as level lists. */
|
|
@@ -7003,6 +6527,8 @@ declare function useDrillAnswers(args: {
|
|
|
7003
6527
|
rule?: StoreFilter | undefined;
|
|
7004
6528
|
/** The time Dimension a window (and a comparison) runs along. */
|
|
7005
6529
|
windowKey?: string | undefined;
|
|
6530
|
+
/** The lane the door answers in (`platform` on an admin page). Default the door's own. */
|
|
6531
|
+
lane?: DrillLane | undefined;
|
|
7006
6532
|
version?: unknown;
|
|
7007
6533
|
enabled: boolean;
|
|
7008
6534
|
}): {
|
|
@@ -7012,9 +6538,10 @@ declare function useDrillAnswers(args: {
|
|
|
7012
6538
|
says: string[];
|
|
7013
6539
|
};
|
|
7014
6540
|
/**
|
|
7015
|
-
* THE PORT, FOR ANY SOURCE: a custom Table `{kind: "table", id}` or a standard table
|
|
7016
|
-
* `{kind: "entity", token}`. The caller owns where the question lives (the address, a
|
|
7017
|
-
* hands its flat filter; the table gets Dimensions
|
|
6541
|
+
* THE PORT, FOR ANY SOURCE: a custom Table `{kind: "table", id}` or a standard table / declared
|
|
6542
|
+
* definition `{kind: "entity", token}`. The caller owns where the question lives (the address, a
|
|
6543
|
+
* view) and hands its flat filter; the table gets Dimensions (with their declared levels), Measures,
|
|
6544
|
+
* paths, answers, the level's attributes and the drilled value's header facts from the doors.
|
|
7018
6545
|
*/
|
|
7019
6546
|
declare function useDrill(args: {
|
|
7020
6547
|
source: DrillSource | null;
|
|
@@ -7023,6 +6550,17 @@ declare function useDrill(args: {
|
|
|
7023
6550
|
/** The host's own flat filter, before the trail. */
|
|
7024
6551
|
filter?: RecordFilter | undefined;
|
|
7025
6552
|
rule?: StoreFilter | undefined;
|
|
6553
|
+
/**
|
|
6554
|
+
* THE HOST'S FIXED FILTERS (one site's id): applied to every ask like `filter`, and said first in
|
|
6555
|
+
* the trail as crumbs no click removes.
|
|
6556
|
+
*/
|
|
6557
|
+
base?: readonly DrillBase[] | undefined;
|
|
6558
|
+
/** The lane the door answers in (`platform` on an admin page). Default the door's own. */
|
|
6559
|
+
lane?: DrillLane | undefined;
|
|
6560
|
+
/** What the host adds to a Dimension, keyed by it: group actions, a value's door, `labelFrom`. */
|
|
6561
|
+
dimensions?: Readonly<Record<string, MatrxDrillDimensionOptions | undefined>> | undefined;
|
|
6562
|
+
/** Where the drill's controls sit (see `MatrxDataTableDrillConfig.controls`). */
|
|
6563
|
+
controls?: MatrxDataTableDrillConfig["controls"];
|
|
7026
6564
|
version?: unknown;
|
|
7027
6565
|
rowNoun?: string;
|
|
7028
6566
|
rootLabel?: string;
|
|
@@ -7031,6 +6569,59 @@ declare function useDrill(args: {
|
|
|
7031
6569
|
config: MatrxDataTableDrillConfig | null;
|
|
7032
6570
|
def: DrillDefinition | null;
|
|
7033
6571
|
};
|
|
6572
|
+
/**
|
|
6573
|
+
* THE DRILL WHOSE QUESTION LIVES IN THE ADDRESS (`?drill.by=…`): a whole-source page's drill of a
|
|
6574
|
+
* standard table or declared definition, `useDrill` over `useDrillUrlState`. `startWindow` ("30d")
|
|
6575
|
+
* bounds a big ledger until the person picks another period.
|
|
6576
|
+
*/
|
|
6577
|
+
declare function useAddressDrill(args: {
|
|
6578
|
+
/** A registry token or a declared definition's key; null asks nothing. */
|
|
6579
|
+
token: string | null;
|
|
6580
|
+
enabled?: boolean;
|
|
6581
|
+
startWindow?: string | undefined;
|
|
6582
|
+
/** The address prefix. Default `drill`. */
|
|
6583
|
+
prefix?: string | undefined;
|
|
6584
|
+
} & Omit<Parameters<typeof useDrill>[0], "source" | "question" | "onQuestionChange" | "enabled">): MatrxDataTableDrillConfig | null;
|
|
6585
|
+
|
|
6586
|
+
interface Ask {
|
|
6587
|
+
/** What the asked rows are grouped by: the Dimension, or none (the drilled value's own facts). */
|
|
6588
|
+
outer: string | null;
|
|
6589
|
+
fact: string;
|
|
6590
|
+
where: Record<string, unknown>;
|
|
6591
|
+
}
|
|
6592
|
+
/** The asks one screen needs, in a stable order: the grouped Dimension's facts, the drilled value's, the names. */
|
|
6593
|
+
declare function drillLevelAsks(args: {
|
|
6594
|
+
question: MatrxDrillQuestion;
|
|
6595
|
+
dimensions: readonly MatrxDrillDimension[];
|
|
6596
|
+
answers: MatrxDrillAnswers;
|
|
6597
|
+
where: Record<string, unknown>;
|
|
6598
|
+
}): {
|
|
6599
|
+
attributes: Ask[];
|
|
6600
|
+
focus: Ask[];
|
|
6601
|
+
names: Ask[];
|
|
6602
|
+
};
|
|
6603
|
+
/** One fact of one group, as a person reads it: its words, "Several", or blank. */
|
|
6604
|
+
declare function drillFactWords(values: Map<string | null, string | null> | undefined, dim: MatrxDrillDimension | undefined): string | null;
|
|
6605
|
+
/**
|
|
6606
|
+
* THE LEVEL'S READS for a server drill: attributes as columns, the drilled value's header facts and
|
|
6607
|
+
* the `labelFrom` names, each through `drill_ask`. Nothing to read = nothing asked.
|
|
6608
|
+
*/
|
|
6609
|
+
declare function useDrillLevelReads(args: {
|
|
6610
|
+
source: DrillSource | null;
|
|
6611
|
+
question: MatrxDrillQuestion;
|
|
6612
|
+
dimensions: readonly MatrxDrillDimension[];
|
|
6613
|
+
answers: MatrxDrillAnswers;
|
|
6614
|
+
/** The answer's own where (host filter, base and trail), window and lane. */
|
|
6615
|
+
where: Record<string, unknown>;
|
|
6616
|
+
window?: DrillQuestion["window"] | undefined;
|
|
6617
|
+
lane?: DrillLane | undefined;
|
|
6618
|
+
enabled: boolean;
|
|
6619
|
+
}): {
|
|
6620
|
+
attributes: MatrxDrillAttribute[] | undefined;
|
|
6621
|
+
focusAttributes: MatrxDrillFocusAttribute[] | undefined;
|
|
6622
|
+
/** Dimension key → value → its words, from `labelFrom`. */
|
|
6623
|
+
names: ReadonlyMap<string, ReadonlyMap<string, string>>;
|
|
6624
|
+
};
|
|
7034
6625
|
|
|
7035
6626
|
interface ObjectActionMenuItemsProps {
|
|
7036
6627
|
actions: readonly ObjectAction[];
|
|
@@ -7332,4 +6923,4 @@ declare function RecordsSkeleton({ layout, embedded, rows, className }: RecordsS
|
|
|
7332
6923
|
*/
|
|
7333
6924
|
declare function TablePageSkeleton({ layout: layoutAsked, embedded, rows, tableId, className, }: RecordsSkeletonProps): react.JSX.Element;
|
|
7334
6925
|
|
|
7335
|
-
export { ABSENCE_WORD_LABEL, ABSENCE_WORD_VALUES, ACTION_KINDS, ARCHIVED_NEVER_DESTROYED, ARCHIVE_MEANS, ASK_EXAMPLE, type AbsenceWord, AccentSwatches, type AccentSwatchesProps, ActionInbox, type ActionInboxProps, type ActionKind, type AgentBuildAsk, type AnnounceTableArchived, type AppletPageBlock, ArchiveDeliberatelyDialog, type ArchiveDeliberatelyDialogProps, ArchivedDisclosure, type ArchivedDisclosureProps, ArchivedPortals, type ArchivedPortalsProps, ArchivedView, type ArchivedViewProps, type AskRead, BODY_COLUMN_NAME, BODY_SAVE_PAUSE_MS, BOOKING_NOT_HERE_LINE, BOOKING_PAGE_STATE_LABEL, BOOKING_PAGE_STATE_VALUES, BookingBuilder, type BookingBuilderProps, type BookingPageState, BookingSlots, type BookingSlotsProps, BuildOrAsk, type BuildOrAskProps, type BuildableKind, type ButtonPageBlock, CAPTURE_MODES, CHART_KINDS, CHART_KIND_LABEL, CHART_NEEDS, CHECKLIST_REQUIREMENT_KINDS, CHECKLIST_REQUIREMENT_LABEL, CONDITION_OPS, CONTEXT_POLICY_LABEL, ADDABLE_TYPES as CUSTOM_FIELD_ADDABLE_TYPES, type CalendarMode, CalendarView, type CalendarViewProps, 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 ChartPageBlock, type ChartSpec, ChartTooltipContent, ChecklistRunner, type ChecklistRunnerProps, ChecklistTemplateEditor, ChecklistsPanel, type ChecklistsPanelProps, type ChoiceAddition, type ChoiceAsk, ChoiceAskButtons, ChoiceListEditor, type ChoiceListRow, type CombinedRows, CommentThread, type CommentThreadProps, type ConditionField, ConditionGroup, type ConditionGroupProps, ConditionRow, type ConditionRowProps, type CustomFieldAddRequest, type CustomFieldAddResult, type CustomFieldSetResult, type CustomFieldValuesRequest, type CustomFieldsAgentDoor, type CustomFieldsAgentState, CustomFieldsSection, type CustomFieldsSectionProps, DEFAULT_FOOTER, DEFAULT_VIEW_NAME, DUE_STATE_LABEL, DashboardCanvas, type DashboardCanvasProps, DigestScheduler, type DigestSchedulerProps, DocRender, type DocRenderProps, DocTemplate, type DocTemplateProps, type DocTemplateSpec, EMPTY_PRESENTATION, ENGINEER_TEXT, ENTITY_REFERENCE_KINDS_MISSING, type EditorKind, EmbedFrame, type EmbedFrameProps, type EnrichAsk, EnrichBadge, type EnrichBadgeProps, type EnrichOutcome, EnrichPanel, type EnrichPanelProps, EntityBoard, type EntityBoardProps, EntityChartBlock, type EntityChartBlockProps, type EntityColumn, EntityDataScope, EntityGrid, type EntityLayout, EntityReferenceKindPicker, type EntityReferenceKindPickerProps, type EntityRow, type EntitySource, type EntityTable, EntityTablePage, type EntityTablePageProps, ExportMenu, type ExportMenuProps, FIELD_RULE_KIND_LABEL, FIELD_RULE_KIND_VALUES, FIELD_SENSITIVITY_LABEL, FIELD_TYPE_CATALOGUE, FIELD_TYPE_CHOICES, FIELD_TYPE_GROUPS, FOOTER_WORDS, FORMULA_FUNCTIONS, FORMULA_OP_JOINS, FORMULA_OP_LABEL, FORMULA_OP_VALUES, FORM_EMBEDS, FORM_FLOWS, FORM_NOT_HERE_LINE, FROZEN_COLUMN_WIDTH, FieldControl, FieldEditor, type FieldEditorControlProps, type FieldEditorProps, FieldHistoryPanel, type FieldHistoryPanelProps, FieldLabel, type FieldProposalRow, type FieldRuleKindValue, type FieldTypeChoice, FilePicker, type FilePickerProps, type FilterPageBlock, type FooterPlacement, type FormAsked, FormBuilder, type FormBuilderProps, type FormEmbed, type FormEnding, type FormFlow, type FormJump, type FormLook, FormLookFrame, type FormLookFrameProps, FormLookLogo, type FormLookView, type FormPageBlock, type FormQuestionSpec, FormResultsPanel, type FormResultsPanelProps, FormRunner, type FormRunnerProps, type FormSpec, type FormSubmitOutcome, type FormTheme, type FormWelcome, FormsPanel, type FormsPanelProps, type FormulaHelpAsk, type FormulaOp, Grid, GridCell, type GridContextRecord, type GridContextSnapshot, type GridEditing, type GridGrouping, type GridPresentation, type GridProps, GuessedFieldType, type HeadingPageBlock, HistoryPanel, type HistoryPanelProps, INBOX_GROUPINGS, INBOX_VIEWS, IN_MEMORY_QUEUE_REASON, ImportNotice, type ImportNoticeProps, type ImportSource, ImportWizard, type ImportWizardProps, InTableToolbar, type InboxGroup, type InboxGrouping, LANE_EMPTY, LANE_TITLE, LAYOUT_FIELD_KIND, LAYOUT_LABEL, LOOK_WORDS, type LabelLookup, type LinkRail, type ListPageBlock, MACHINE_IDENTITY, MANUAL_SORT, MAX_ROW_HEIGHT, MIN_ROW_HEIGHT, MOST_NEW_COLUMNS, type MainView, type MoveWritten, MyChecklistSteps, NEEDS_A_SENTENCE, NEW_COLUMN_TYPES, NOT_DRAWN_HERE, NO_AGENT_PORT, NO_CHAT_REASON, 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 NewColumn, type NewColumnType, NotifyRuleEditor, type NotifyRuleEditorProps, type NotifyRuleSpec, ObjectAction, ObjectActionContextMenuItems, ObjectActionGlyph, ObjectActionIcon, ObjectActionMenuItems, type ObjectActionMenuItemsProps, type OpenRecordsAsk, type OrganizationMember, PAGE_BLOCK_KINDS, PAGE_BLOCK_LABEL, PAGE_KIND, PAGE_VIEWS, PAGE_VIEW_LABEL, PARITY_LABEL, PARITY_MADE_OF, PORTAL_NOT_HERE_LINE, PROPOSED_CHANGE_ACT_LABEL, PROPOSED_CHANGE_ACT_VALUES, type PageBlock, type PageBlockKind, PageScreen, type PageScreenProps, type PageView, Peek, type PeekProps, type PendingCapture, PersonPicker, type PersonPickerProps, PickOrAdd, type PickOrAddItem, type PickOrAddProps, type PickableFieldType, type PickerTable, PipelineBoard, type PipelineBoardProps, type PlainFieldType, type PlainRefusal, type PortalAnswer, PortalBuilder, type PortalBuilderProps, PortalCardView, type PortalCardViewProps, PortalLookEditor, type PortalLookEditorProps, PortalShell, type PortalShellProps, PortalsPanel, type PortalsPanelProps, type ProposalOutcome, ProposalRow, type ProposalRowProps, type ProposedChange, type ProposedChangeAct, ProvenanceBadge, PublicPicturePicker, type PublicPicturePickerProps, PublicViewPage, type PublicViewPageProps, QUESTION_OPS, QUESTION_SURFACE, type QuestionAnswer, QuestionAnswerView, type QuestionGroup, type QuestionMeasure, type QuestionOp, QuestionPanel, type QuestionPanelProps, type QuestionRow, type QuestionShow, type QuestionSpec, RECORDS_GRID_ROW_PX, RECORDS_SKELETON_LAYOUTS, ROLLUP_AGG_LABEL, ROLLUP_AGG_VALUES, RULE_NOT_HERE_LINE, type ReaskContext, type ReasonGroup, type RecordActionHost, RecordActionMenu, type RecordActionMenuProps, type RecordActionSubject, type RecordActionsInput, RecordBody, RecordChat, type RecordChatContext, type RecordChatEntry, type RecordChatProps, type RecordChatWithheld, RecordChip, RecordForm, type RecordFormProps, RecordLabelProvider, type RecordMoves, type RecordPageBlock, RecordPanel, type RecordPanelProps, RecordValue, RecordsMount, type RecordsMountProps, RecordsSkeleton, type RecordsSkeletonLayout, type RecordsSkeletonProps, RecordsTableCard, type RecordsTableCardProps, type RecordsUiHost, RecordsUiProvider, ReferenceBuilder, type ReferenceBuilderProps, type ReferenceChoice, RefusalLine, RefusalNotice, type RefusedRow, type RelationFieldType, RelationPicker, type RelationPickerProps, type RenderTextSlot, type ResolveName, type RichTextEditProps, type RollupAgg, SAVED_VIEWS_UNAVAILABLE, SAVE_TO_TABLE_TYPES, SAY_WHAT_YOU_ARE_WAITING_FOR_AFTER_MS, SECTIONS_UNKNOWN, SERIES_COLORS, SHARE_NOT_YOURS_LINE, SIGNED_WORD, SOMEBODY, STAGE_RULE_ON_FAIL_LABEL, STORE_ANSWERS_THESE, STORE_DECIDES_REASON, STORE_KEEPS_TIMELINE, STORE_KEPT_LAYOUTS, SUBSCRIPTION_CADENCES, SUBSCRIPTION_CADENCE_LABEL, SUBSCRIPTION_CHANNEL_LABEL, SUBSCRIPTION_CHANNEL_VALUES, SaveToTable, type SaveToTableProps, type SaveToTableSource, type SavedDashboard, type SavedForm, type SavedQuestion, type SavedView, type SavedViewSpec, ShareControl, type ShareControlProps, type ShareSubject, ShowListsToggle, type ShownViewReport, SignBlock, type SignBlockProps, SignaturePad, SignatureValue, type SnoozeChoice, type SortStateAction, SortStateControl, type SortStateControlProps, StageRulesSection, type StageRulesSectionProps, type StandardColumn, StandardRecordForm, type StandardRecordFormProps, StepRow, type SubscriptionChannel, SubscriptionsPanel, type SubscriptionsPanelProps, type Surface, type SurfacePress, type SystemFieldSpec, type SystemTableSpec, TABLE_LANES, TABLE_NAME_MAX, TABLE_NOT_REACHABLE, TABLE_TOOLBAR_ROW_CLASS, THE_SYSTEM, TIMELINE_ZOOMS, TableActionHost, TableAsk, type TableAskProps, TableDetails, TableDuplicateDialog, type TableDuplicateDialogProps, TableFoundationSwitch, type TableLane, TablePage, type TablePageActionHost, type TablePageHeaderChrome, type TablePageProps, TablePageSkeleton, type TablePageSource, type TablePickerEntries, type TablePickerEntry, TableReferenceDialog, TableRenameDialog, TableRestoreRefused, type TableRights, TableSettings, type TableSettingsAgent, type TableSettingsProps, type TableSettingsSnapshot, TableShape, TableToolbarSlotContext, TablesHome, type TablesHomeProps, TemplatePreview, type TemplatePreviewProps, type TextPageBlock, type ThroughCondition, type TimelineSettings, TimelineView, type TimelineViewProps, type TimelineZoom, type TitleRepeats, type TrackedVersion, UNREAD_RECORD_LABEL, type UseSystemTableState, VIEW_ADDRESS_KEYS, VIEW_KEYS, VIEW_LAYOUTS, VIEW_NEEDS, VIEW_NOT_SAVED_YET, VISIBILITY_LANES, VISIBILITY_LANE_TITLE, type ViewAddressSort, type ViewAddressState, ViewBar, type ViewBarProps, type ViewKeyDeclaration, type ViewKeyLayout, type ViewKeyWriter, type ViewLayout, type ViewLook, type ViewNeed, type ViewNeedKind, ViewNeeds, type ViewNeedsProps, type ViewSettings, type ViewSettingsPatch, type ViewSort, type ViewSortKey, ViewSwitcher, type ViewSwitcherProps, type VisibilityLane, WITHHELD_RECORD_LABEL, WITHHELD_WORD, WORK_APPROVAL_STATES, WORK_APPROVAL_STATE_LABEL, WORK_DUE_STATES, WORK_INBOX_KINDS, WORK_INBOX_KIND_GROUP_LABEL, WORK_INBOX_KIND_LABEL, WhatYouMayDo, WhereItLives, type WhereItLivesProps, type WhoChanged, WhoChangedSource, WithheldValue, actionForAgent, actorBadge, actorWords, addDays, announceTableArchived, applyLook, archiveConfirmSentence, archivedRowLine, asRefusal, askExampleFor, askQuestion, askableFields, blockFromSpec, bodyFieldOf, bodyForReading, bodyFromKeys, calendarDayLabel, calendarDayOf, cameFromLine, cardTitleField, cardWords, carriesTimeOfDay, cellState, choiceAddition, choiceAskSentence, choiceListPatch, choiceNudgeOf, choiceRowsFrom, chooseSurface, codeDependsRefusal, colorFromTheValue, columnDeclarationFor, columnForField, columnFromName, columnNamesFrom, columnsFrom, combineFilter, combineRows, conditionInWords, conditionIsDrawable, conditionIsSimple, conditionValue, controlFor, copyNameFor, currencyCodeFor, customFieldRequestProblems, dashboardDeclareArgs, dashboardFromSummary, dateFormatFor, dateText, dayAt, dayKeyOf, daysBetween, declareView, defaultViewOf, descriptionPatch, drawnBelowOnPage, drawnSignatureOf, drillDimensionsOf, drillMeasuresOf, drillPathsOf, drillWhere, duplicateProgressWords, editorKindFor, endingsFromDocument, ensureSystemTable, entityCellValue, entityChoiceColumns, entityNameColumn, entityReferenceSpec, entityShownColumns, entityTableColumns, entityTitleColumn, entityValueText, envelopeFor, fieldIsEditable, fieldName, fieldToken, fieldTypeChoice, fieldTypeLabel, fieldsForNewColumns, filterTargets, flatWhere, footerOf, formDeclareArgs, formEmbedSnippet, formFromSummary, formLookDocument, formLookFromDocument, formLookView, formPresentation, formRoutes, formatForField, freeColumnName, freshFormName, gridContextKey, gridContextSnapshot, groupInbox, groupLabel, groupReasons, groupableFields, handOrderLine, handOrderSortState, hasTimePart, hiddenFromLink, hintForAPerson, hintIsMachineIdentity, idsOf, isChoiceAddition, isDateField, isEngineerText, isFoundationTable, isId, isKeptTable, isMachineIdentity, isPage, isParityFieldType, isPlainFieldType, isRelationFieldType, isSignatureField, isValueSet, isViewAddressEmpty, keepLook, keptByTheApp, keyFor, kindsWithNoChoice, laneFor, lastChangeSentence, lookDiffers, lookDocument, lookFromDocument, lookPart, looksLikeId, machineIdentityIn, mayNotRestoreLine, measurableFields, memberName, moveRecordValue, newQuestion, nextInWords, nextSummaryAt, notAChoiceSentence, onlyCandidate, openingRail, openingView, packOverlaps, pageBlocksOf, pagePresentation, pageViewFromParam, parityTypesWithNoExplanation, parseGridPresentation, personActor, personRecordForMember, pickableTypeOf, pointsAtRecords, presentationDocument, presentationIsEmpty, previewLine, previewWords, publiclyAnswerable, questionArchive, questionFromDefinition, questionFromWords, questionSave, questionsOf, railFromParam, readLooks, recordActions, recordLink, recordName, recordNameIn, recordsDataSource, refusal, refusalForAPerson, refusalFromThrown, refusalLineForAPerson, refusalOr, refusedFileName, refusedRowsCsv, renderValue, rescheduledValue, resolveTableStyle, revokeConsequence, rowActionFromAgent, rowLabelChoices, rowName, rowNameIn, runToNotice, sameRecordLikely, sameViewAddress, saveTableDescription, saveToViewPlan, saveViewPatch, scalarText, seedIsSatisfied, shapesOfSource, shareUnavailableReason, signatureFileIn, signatureFileOf, signatureWords, singularNoun, skeletonLayoutFor, snoozeChoices, specFromBlock, standardTokenOf, starterPageBlocks, stepFromAgent, storeDecidesRights, storeKeepsLayout, storePublishesKind, styleFromDecorations, submissionStamp, surfaceChosen, tableName, tableNameProblem, tablePickerEntries, tableReferenceChoices, tableRightsAt, themeFromDocument, titleRepeats, unknownRailLine, unknownViewLine, unreadableKeys, useCanShare, useChoiceNudge, useDrill, useDrillAnswers, useDrillDefinition, useEmbedHandshake, useEnrichCells, useEntityTable, useGridEditing, useLabelWait, useMeasuredWidth, useMyChecklistSteps, usePickerTables, useRecordActionHost, useRecordLabels, useRecordMoves, useRecordRights, useRecordsUi, useRowColorBy, useRowRights, useSystemTable, useTableRights, useTableToolbarSlot, useTemplatePreview, useViewRecords, useWhoChanged, viewActions, viewAddressFromParams, viewAddressToParams, viewDocument, viewFromRow, viewKeysFor, viewNeedFor, viewPatchDocument, viewSettings, viewSettingsFor, viewSettingsPatch, visibilityLaneFor, welcomeFromDocument, whatIsMissing, whatIsMissingForEntityReference, whatTheChoiceListIsMissing, whenWords, whyNotAskable, withheldNoticeOf, withheldSentence, withoutAddition, wordsList };
|
|
6926
|
+
export { ABSENCE_WORD_LABEL, ABSENCE_WORD_VALUES, ACTION_KINDS, ARCHIVED_NEVER_DESTROYED, ARCHIVE_MEANS, ASK_EXAMPLE, type AbsenceWord, AccentSwatches, type AccentSwatchesProps, ActionInbox, type ActionInboxProps, type ActionKind, type AgentBuildAsk, type AnnounceTableArchived, type AppletPageBlock, ArchiveDeliberatelyDialog, type ArchiveDeliberatelyDialogProps, ArchivedDisclosure, type ArchivedDisclosureProps, ArchivedPortals, type ArchivedPortalsProps, ArchivedView, type ArchivedViewProps, type AskRead, BODY_COLUMN_NAME, BODY_SAVE_PAUSE_MS, BOOKING_NOT_HERE_LINE, BOOKING_PAGE_STATE_LABEL, BOOKING_PAGE_STATE_VALUES, BookingBuilder, type BookingBuilderProps, type BookingPageState, BookingSlots, type BookingSlotsProps, BuildOrAsk, type BuildOrAskProps, type BuildableKind, type ButtonPageBlock, CAPTURE_MODES, CHART_KINDS, CHART_KIND_LABEL, CHART_NEEDS, CHECKLIST_REQUIREMENT_KINDS, CHECKLIST_REQUIREMENT_LABEL, CONDITION_OPS, CONTEXT_POLICY_LABEL, ADDABLE_TYPES as CUSTOM_FIELD_ADDABLE_TYPES, type CalendarMode, CalendarView, type CalendarViewProps, 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 ChartPageBlock, type ChartSpec, ChartTooltipContent, ChecklistRunner, type ChecklistRunnerProps, ChecklistTemplateEditor, ChecklistsPanel, type ChecklistsPanelProps, type ChoiceAddition, type ChoiceAsk, ChoiceAskButtons, ChoiceListEditor, type ChoiceListRow, type CombinedRows, CommentThread, type CommentThreadProps, type ConditionField, ConditionGroup, type ConditionGroupProps, ConditionRow, type ConditionRowProps, type CustomFieldAddRequest, type CustomFieldAddResult, type CustomFieldSetResult, type CustomFieldValuesRequest, type CustomFieldsAgentDoor, type CustomFieldsAgentState, CustomFieldsSection, type CustomFieldsSectionProps, DEFAULT_VIEW_NAME, DUE_STATE_LABEL, DashboardCanvas, type DashboardCanvasProps, DigestScheduler, type DigestSchedulerProps, DocRender, type DocRenderProps, DocTemplate, type DocTemplateProps, type DocTemplateSpec, type DrillBase, ENGINEER_TEXT, ENTITY_REFERENCE_KINDS_MISSING, type EditorKind, EmbedFrame, type EmbedFrameProps, type EnrichAsk, EnrichBadge, type EnrichBadgeProps, type EnrichOutcome, EnrichPanel, type EnrichPanelProps, EntityBoard, type EntityBoardProps, EntityChartBlock, type EntityChartBlockProps, type EntityColumn, EntityDataScope, EntityGrid, type EntityLayout, EntityReferenceKindPicker, type EntityReferenceKindPickerProps, type EntityRow, type EntitySource, type EntityTable, EntityTablePage, type EntityTablePageProps, ExportMenu, type ExportMenuProps, FIELD_RULE_KIND_LABEL, FIELD_RULE_KIND_VALUES, FIELD_SENSITIVITY_LABEL, FIELD_TYPE_CATALOGUE, FIELD_TYPE_CHOICES, FIELD_TYPE_GROUPS, FOOTER_WORDS, FORMULA_FUNCTIONS, FORMULA_OP_JOINS, FORMULA_OP_LABEL, FORMULA_OP_VALUES, FORM_EMBEDS, FORM_FLOWS, FORM_NOT_HERE_LINE, FieldControl, FieldEditor, type FieldEditorControlProps, type FieldEditorProps, FieldHistoryPanel, type FieldHistoryPanelProps, FieldLabel, type FieldProposalRow, type FieldRuleKindValue, type FieldTypeChoice, FilePicker, type FilePickerProps, type FilterPageBlock, FooterPlacement, type FormAsked, FormBuilder, type FormBuilderProps, type FormEmbed, type FormEnding, type FormFlow, type FormJump, type FormLook, FormLookFrame, type FormLookFrameProps, FormLookLogo, type FormLookView, type FormPageBlock, type FormQuestionSpec, FormResultsPanel, type FormResultsPanelProps, FormRunner, type FormRunnerProps, type FormSpec, type FormSubmitOutcome, type FormTheme, type FormWelcome, FormsPanel, type FormsPanelProps, type FormulaHelpAsk, type FormulaOp, Grid, GridCell, type GridContextRecord, type GridContextSnapshot, type GridEditing, GridPresentation, type GridProps, GuessedFieldType, type HeadingPageBlock, HistoryPanel, type HistoryPanelProps, INBOX_GROUPINGS, INBOX_VIEWS, IN_MEMORY_QUEUE_REASON, ImportNotice, type ImportNoticeProps, type ImportSource, ImportWizard, type ImportWizardProps, InTableToolbar, type InboxGroup, type InboxGrouping, LANE_EMPTY, LANE_TITLE, LOOK_WORDS, type LabelLookup, type LinkRail, type ListPageBlock, MACHINE_IDENTITY, MANUAL_SORT, MOST_NEW_COLUMNS, type MainView, type MatrxDrillDimensionOptions, type MoveWritten, MyChecklistSteps, NEEDS_A_SENTENCE, NEW_COLUMN_TYPES, NOT_DRAWN_HERE, NO_AGENT_PORT, NO_CHAT_REASON, 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 NewColumn, type NewColumnType, NotifyRuleEditor, type NotifyRuleEditorProps, type NotifyRuleSpec, ObjectAction, ObjectActionContextMenuItems, ObjectActionGlyph, ObjectActionIcon, ObjectActionMenuItems, type ObjectActionMenuItemsProps, type OpenRecordsAsk, type OrganizationMember, PAGE_BLOCK_KINDS, PAGE_BLOCK_LABEL, PAGE_KIND, PARITY_LABEL, PARITY_MADE_OF, PORTAL_NOT_HERE_LINE, PROPOSED_CHANGE_ACT_LABEL, PROPOSED_CHANGE_ACT_VALUES, type PageBlock, type PageBlockKind, PageScreen, type PageScreenProps, PageView, Peek, type PeekProps, type PendingCapture, PersonPicker, type PersonPickerProps, PickOrAdd, type PickOrAddItem, type PickOrAddProps, type PickableFieldType, type PickerTable, PipelineBoard, type PipelineBoardProps, type PlainFieldType, type PlainRefusal, type PortalAnswer, PortalBuilder, type PortalBuilderProps, PortalCardView, type PortalCardViewProps, PortalLookEditor, type PortalLookEditorProps, PortalShell, type PortalShellProps, PortalsPanel, type PortalsPanelProps, type ProposalOutcome, ProposalRow, type ProposalRowProps, type ProposedChange, type ProposedChangeAct, ProvenanceBadge, PublicPicturePicker, type PublicPicturePickerProps, PublicViewPage, type PublicViewPageProps, QUESTION_OPS, QUESTION_SURFACE, type QuestionAnswer, QuestionAnswerView, type QuestionGroup, type QuestionMeasure, type QuestionOp, QuestionPanel, type QuestionPanelProps, type QuestionRow, type QuestionShow, type QuestionSpec, RECORDS_GRID_ROW_PX, RECORDS_SKELETON_LAYOUTS, ROLLUP_AGG_LABEL, ROLLUP_AGG_VALUES, RULE_NOT_HERE_LINE, type ReaskContext, type ReasonGroup, type RecordActionHost, RecordActionMenu, type RecordActionMenuProps, type RecordActionSubject, type RecordActionsInput, RecordBody, RecordChat, type RecordChatContext, type RecordChatEntry, type RecordChatProps, type RecordChatWithheld, RecordChip, RecordForm, type RecordFormProps, RecordLabelProvider, type RecordMoves, type RecordPageBlock, RecordPanel, type RecordPanelProps, RecordValue, RecordsMount, type RecordsMountProps, RecordsSkeleton, type RecordsSkeletonLayout, type RecordsSkeletonProps, RecordsTableCard, type RecordsTableCardProps, type RecordsUiHost, RecordsUiProvider, ReferenceBuilder, type ReferenceBuilderProps, type ReferenceChoice, RefusalLine, RefusalNotice, type RefusedRow, type RelationFieldType, RelationPicker, type RelationPickerProps, type RenderTextSlot, type ResolveName, type RichTextEditProps, type RollupAgg, SAVED_VIEWS_UNAVAILABLE, SAVE_TO_TABLE_TYPES, SAY_WHAT_YOU_ARE_WAITING_FOR_AFTER_MS, SECTIONS_UNKNOWN, SERIES_COLORS, SHARE_NOT_YOURS_LINE, SIGNED_WORD, SOMEBODY, STAGE_RULE_ON_FAIL_LABEL, STORE_ANSWERS_THESE, STORE_DECIDES_REASON, STORE_KEEPS_TIMELINE, STORE_KEPT_LAYOUTS, SUBSCRIPTION_CADENCES, SUBSCRIPTION_CADENCE_LABEL, SUBSCRIPTION_CHANNEL_LABEL, SUBSCRIPTION_CHANNEL_VALUES, SaveToTable, type SaveToTableProps, type SaveToTableSource, type SavedDashboard, type SavedForm, type SavedQuestion, SavedView, SavedViewSpec, ShareControl, type ShareControlProps, type ShareSubject, ShowListsToggle, type ShownViewReport, SignBlock, type SignBlockProps, SignaturePad, SignatureValue, type SnoozeChoice, type SortStateAction, SortStateControl, type SortStateControlProps, StageRulesSection, type StageRulesSectionProps, type StandardColumn, StandardRecordForm, type StandardRecordFormProps, StepRow, type SubscriptionChannel, SubscriptionsPanel, type SubscriptionsPanelProps, type Surface, type SurfacePress, type SystemFieldSpec, type SystemTableSpec, TABLE_LANES, TABLE_NAME_MAX, TABLE_NOT_REACHABLE, TABLE_TOOLBAR_ROW_CLASS, THE_SYSTEM, TIMELINE_ZOOMS, TableActionHost, TableAsk, type TableAskProps, TableDetails, TableDuplicateDialog, type TableDuplicateDialogProps, TableFoundationSwitch, type TableLane, TablePage, type TablePageActionHost, type TablePageHeaderChrome, type TablePageProps, TablePageSkeleton, type TablePageSource, type TablePickerEntries, type TablePickerEntry, TableReferenceDialog, TableRenameDialog, TableRestoreRefused, type TableRights, TableSettings, type TableSettingsAgent, type TableSettingsProps, type TableSettingsSnapshot, TableShape, TableToolbarSlotContext, TablesHome, type TablesHomeProps, TemplatePreview, type TemplatePreviewProps, type TextPageBlock, type ThroughCondition, type TimelineSettings, TimelineView, type TimelineViewProps, type TimelineZoom, type TitleRepeats, type TrackedVersion, UNREAD_RECORD_LABEL, type UseSystemTableState, VIEW_ADDRESS_KEYS, VIEW_KEYS, VIEW_NOT_SAVED_YET, VISIBILITY_LANES, VISIBILITY_LANE_TITLE, type ViewAddressSort, type ViewAddressState, ViewBar, type ViewBarProps, type ViewKeyDeclaration, type ViewKeyLayout, type ViewKeyWriter, ViewLayout, type ViewLook, ViewNeed, ViewNeeds, type ViewNeedsProps, type ViewSettings, type ViewSettingsPatch, ViewSort, type ViewSortKey, ViewSwitcher, type ViewSwitcherProps, type VisibilityLane, WITHHELD_RECORD_LABEL, WITHHELD_WORD, WORK_APPROVAL_STATES, WORK_APPROVAL_STATE_LABEL, WORK_DUE_STATES, WORK_INBOX_KINDS, WORK_INBOX_KIND_GROUP_LABEL, WORK_INBOX_KIND_LABEL, WhatYouMayDo, WhereItLives, type WhereItLivesProps, type WhoChanged, WhoChangedSource, WithheldValue, actionForAgent, actorBadge, actorWords, addDays, announceTableArchived, applyLook, archiveConfirmSentence, archivedRowLine, asRefusal, askExampleFor, askQuestion, askableFields, blockFromSpec, bodyFieldOf, bodyForReading, bodyFromKeys, calendarDayLabel, calendarDayOf, cameFromLine, cardTitleField, cardWords, carriesTimeOfDay, cellState, choiceAddition, choiceAskSentence, choiceListPatch, choiceNudgeOf, choiceRowsFrom, chooseSurface, codeDependsRefusal, columnDeclarationFor, columnForField, columnFromName, columnNamesFrom, columnsFrom, combineFilter, combineRows, conditionInWords, conditionIsDrawable, conditionIsSimple, conditionValue, controlFor, copyNameFor, customFieldRequestProblems, dashboardDeclareArgs, dashboardFromSummary, dateFormatFor, dateText, dayAt, dayKeyOf, daysBetween, descriptionPatch, drawnBelowOnPage, drawnSignatureOf, drillDimensionsOf, drillFactWords, drillLevelAsks, drillMeasuresOf, drillPathsOf, drillWhere, duplicateProgressWords, editorKindFor, endingsFromDocument, ensureSystemTable, entityCellValue, entityChoiceColumns, entityNameColumn, entityReferenceSpec, entityShownColumns, entityTableColumns, entityTitleColumn, entityValueText, envelopeFor, fieldIsEditable, fieldName, fieldToken, fieldTypeChoice, fieldTypeLabel, fieldsForNewColumns, filterTargets, flatWhere, formDeclareArgs, formEmbedSnippet, formFromSummary, formLookDocument, formLookFromDocument, formLookView, formPresentation, formRoutes, freshFormName, getPersonTimeZone, gridContextKey, gridContextSnapshot, groupInbox, groupLabel, groupReasons, groupableFields, handOrderLine, handOrderSortState, hasTimePart, hiddenFromLink, hintForAPerson, hintIsMachineIdentity, idsOf, isChoiceAddition, isDateField, isEngineerText, isFoundationTable, isId, isKeptTable, isMachineIdentity, isPage, isParityFieldType, isPlainFieldType, isRelationFieldType, isSignatureField, isValueSet, isViewAddressEmpty, keepLook, keptByTheApp, keyFor, kindsWithNoChoice, laneFor, lastChangeSentence, lookDiffers, lookDocument, lookFromDocument, lookPart, looksLikeId, machineIdentityIn, mayNotRestoreLine, measurableFields, memberName, moveRecordValue, newQuestion, nextInWords, nextSummaryAt, notAChoiceSentence, onlyCandidate, openingRail, openingView, packOverlaps, pageBlocksOf, pagePresentation, parityTypesWithNoExplanation, personActor, personRecordForMember, personWallNow, pickableTypeOf, pointsAtRecords, previewLine, previewWords, publiclyAnswerable, questionArchive, questionFromDefinition, questionFromWords, questionSave, questionsOf, railFromParam, readLooks, recordActions, recordLink, recordName, recordNameIn, recordsDataSource, refusal, refusalForAPerson, refusalFromThrown, refusalLineForAPerson, refusalOr, refusedFileName, refusedRowsCsv, renderValue, rescheduledValue, revokeConsequence, rowActionFromAgent, rowLabelChoices, rowName, rowNameIn, runToNotice, sameRecordLikely, sameViewAddress, saveTableDescription, saveToViewPlan, scalarText, seedIsSatisfied, setPersonTimeZone, shapesOfSource, shareUnavailableReason, signatureFileIn, signatureFileOf, signatureWords, singularNoun, skeletonLayoutFor, snoozeChoices, specFromBlock, standardTokenOf, starterPageBlocks, stepFromAgent, storeDecidesRights, storeKeepsLayout, storePublishesKind, submissionStamp, surfaceChosen, tableName, tableNameProblem, tablePickerEntries, tableReferenceChoices, tableRightsAt, themeFromDocument, titleRepeats, unknownRailLine, unreadableKeys, useAddressDrill, useCanShare, useChoiceNudge, useDrill, useDrillAnswers, useDrillDefinition, useDrillLevelReads, useEmbedHandshake, useEnrichCells, useEntityTable, useGridEditing, useLabelWait, useMeasuredWidth, useMyChecklistSteps, usePickerTables, useRecordActionHost, useRecordLabels, useRecordMoves, useRecordRights, useRecordsUi, useRowColorBy, useRowRights, useSystemTable, useTableRights, useTableToolbarSlot, useTemplatePreview, useViewRecords, useWhoChanged, viewActions, viewAddressFromParams, viewAddressToParams, viewKeysFor, viewNeedFor, viewSettings, viewSettingsFor, viewSettingsPatch, visibilityLaneFor, welcomeFromDocument, whatIsMissing, whatIsMissingForEntityReference, whatTheChoiceListIsMissing, whenWords, whyNotAskable, withheldNoticeOf, withheldSentence, withoutAddition };
|