@ai-matrx/records-ui 0.93.12 → 0.93.26
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 +83 -0
- package/dist/index.cjs +8861 -8299
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +28 -3
- package/dist/index.d.ts +28 -3
- package/dist/index.js +9659 -9084
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.d.cts
CHANGED
|
@@ -1215,6 +1215,8 @@ interface PersonPickerProps {
|
|
|
1215
1215
|
autoOpen?: boolean | undefined;
|
|
1216
1216
|
/** The list closed: the cell commits who is picked. */
|
|
1217
1217
|
onClose?: (() => void) | undefined;
|
|
1218
|
+
/** What was typed to open a grid cell's list: its first search (`FieldEditorControlProps.initialSearch`). */
|
|
1219
|
+
initialSearch?: string | undefined;
|
|
1218
1220
|
}
|
|
1219
1221
|
/** A Person record in the kernel Table, as this picker needs to read it. */
|
|
1220
1222
|
interface PersonRecord {
|
|
@@ -1236,7 +1238,7 @@ declare function personRecordForMember(client: RecordsClient, personTableId: Uui
|
|
|
1236
1238
|
ok: false;
|
|
1237
1239
|
error: RecordsError;
|
|
1238
1240
|
}>;
|
|
1239
|
-
declare function PersonPicker({ field, value, onChange, disabled, id, className, autoOpen, onClose }: PersonPickerProps): react.JSX.Element;
|
|
1241
|
+
declare function PersonPicker({ field, value, onChange, disabled, id, className, autoOpen, onClose, initialSearch }: PersonPickerProps): react.JSX.Element;
|
|
1240
1242
|
|
|
1241
1243
|
/** Which cell is open. A grid opens exactly one at a time, like every other grid. */
|
|
1242
1244
|
interface CellAddress {
|
|
@@ -1269,6 +1271,12 @@ interface GridEditing {
|
|
|
1269
1271
|
* exactly that, replacing the value, as every spreadsheet does; a picker column opens as usual.
|
|
1270
1272
|
*/
|
|
1271
1273
|
begin: (address: CellAddress, seed?: string | null) => void;
|
|
1274
|
+
/**
|
|
1275
|
+
* What was typed to open a PICKER cell (a choice, a multi-choice, a person): the list opens with
|
|
1276
|
+
* it in its search box (merged-grid review 2, A2 — Airtable). `null` when the cell was opened by
|
|
1277
|
+
* Enter, a click or a double-click.
|
|
1278
|
+
*/
|
|
1279
|
+
searchSeed: string | null;
|
|
1272
1280
|
/** `via`: a key (Escape) or a pointer (the picker's own close) — how the grid gets its keys back. */
|
|
1273
1281
|
cancel: (via?: EditVia) => void;
|
|
1274
1282
|
/**
|
|
@@ -2545,6 +2553,12 @@ interface FieldEditorControlProps {
|
|
|
2545
2553
|
autoOpen?: boolean | undefined;
|
|
2546
2554
|
/** The picker's list closed (a pick, Escape, a click away): the cell commits what is chosen. */
|
|
2547
2555
|
onClose?: (() => void) | undefined;
|
|
2556
|
+
/**
|
|
2557
|
+
* WHAT THE PERSON TYPED TO OPEN A GRID CELL'S PICKER (merged-grid review 2, A2 — Airtable): a
|
|
2558
|
+
* letter typed on a selected choice, multi-choice or person cell opens its list with that text
|
|
2559
|
+
* already in the search box. Honoured by the choice and person pickers.
|
|
2560
|
+
*/
|
|
2561
|
+
initialSearch?: string | undefined;
|
|
2548
2562
|
/** The control's own answer is final (a choice cell's Add / Keep as typed): commit it now. */
|
|
2549
2563
|
onCommit?: (() => void) | undefined;
|
|
2550
2564
|
/** The control's own Cancel: the cell goes back to what it held. */
|
|
@@ -2561,7 +2575,7 @@ declare function FieldLabel({ field, htmlFor, children }: {
|
|
|
2561
2575
|
htmlFor: string;
|
|
2562
2576
|
children?: ReactNode;
|
|
2563
2577
|
}): react.JSX.Element;
|
|
2564
|
-
declare function FieldControl({ field, value, onChange, disabled, id, autoOpen, onClose, onCommit, onCancel, addsChoices }: FieldEditorControlProps): string | number | bigint | true | Iterable<ReactNode> | Promise<string | number | bigint | boolean | react.ReactPortal | react.ReactElement<unknown, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | react.JSX.Element;
|
|
2578
|
+
declare function FieldControl({ field, value, onChange, disabled, id, autoOpen, onClose, onCommit, onCancel, addsChoices, initialSearch }: FieldEditorControlProps): string | number | bigint | true | Iterable<ReactNode> | Promise<string | number | bigint | boolean | react.ReactPortal | react.ReactElement<unknown, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | react.JSX.Element;
|
|
2565
2579
|
/** The chip a picked record shows as — REC-2's "a record is a chip" in one place. */
|
|
2566
2580
|
declare function RecordChip({ title, onRemove, className, }: {
|
|
2567
2581
|
title: string;
|
|
@@ -4355,9 +4369,20 @@ interface TablesHomeProps {
|
|
|
4355
4369
|
* Default false: the package's own home, lists and all.
|
|
4356
4370
|
*/
|
|
4357
4371
|
makingOnly?: boolean | undefined;
|
|
4372
|
+
/**
|
|
4373
|
+
* THE HOST'S OWN BUTTONS ASK (merged-grid review 2, J6: "New table" sat ~1,700 px down /data-v2,
|
|
4374
|
+
* then as a row of its own). A host whose page header already has an action bar puts "New table"
|
|
4375
|
+
* and "Start from an example" THERE and passes how many times each was pressed; this list then
|
|
4376
|
+
* draws no button row of its own, and opens the name box / the examples when asked. Absent: the
|
|
4377
|
+
* list draws its own buttons, as before.
|
|
4378
|
+
*/
|
|
4379
|
+
askedBy?: {
|
|
4380
|
+
create: number;
|
|
4381
|
+
examples: number;
|
|
4382
|
+
} | undefined;
|
|
4358
4383
|
className?: string | undefined;
|
|
4359
4384
|
}
|
|
4360
|
-
declare function TablesHome({ onOpenTable, organizationName, makingOnly, className }: TablesHomeProps): react.JSX.Element;
|
|
4385
|
+
declare function TablesHome({ onOpenTable, organizationName, makingOnly, askedBy, className }: TablesHomeProps): react.JSX.Element;
|
|
4361
4386
|
|
|
4362
4387
|
interface WhereItLivesProps {
|
|
4363
4388
|
tableId: Uuid$1;
|
package/dist/index.d.ts
CHANGED
|
@@ -1215,6 +1215,8 @@ interface PersonPickerProps {
|
|
|
1215
1215
|
autoOpen?: boolean | undefined;
|
|
1216
1216
|
/** The list closed: the cell commits who is picked. */
|
|
1217
1217
|
onClose?: (() => void) | undefined;
|
|
1218
|
+
/** What was typed to open a grid cell's list: its first search (`FieldEditorControlProps.initialSearch`). */
|
|
1219
|
+
initialSearch?: string | undefined;
|
|
1218
1220
|
}
|
|
1219
1221
|
/** A Person record in the kernel Table, as this picker needs to read it. */
|
|
1220
1222
|
interface PersonRecord {
|
|
@@ -1236,7 +1238,7 @@ declare function personRecordForMember(client: RecordsClient, personTableId: Uui
|
|
|
1236
1238
|
ok: false;
|
|
1237
1239
|
error: RecordsError;
|
|
1238
1240
|
}>;
|
|
1239
|
-
declare function PersonPicker({ field, value, onChange, disabled, id, className, autoOpen, onClose }: PersonPickerProps): react.JSX.Element;
|
|
1241
|
+
declare function PersonPicker({ field, value, onChange, disabled, id, className, autoOpen, onClose, initialSearch }: PersonPickerProps): react.JSX.Element;
|
|
1240
1242
|
|
|
1241
1243
|
/** Which cell is open. A grid opens exactly one at a time, like every other grid. */
|
|
1242
1244
|
interface CellAddress {
|
|
@@ -1269,6 +1271,12 @@ interface GridEditing {
|
|
|
1269
1271
|
* exactly that, replacing the value, as every spreadsheet does; a picker column opens as usual.
|
|
1270
1272
|
*/
|
|
1271
1273
|
begin: (address: CellAddress, seed?: string | null) => void;
|
|
1274
|
+
/**
|
|
1275
|
+
* What was typed to open a PICKER cell (a choice, a multi-choice, a person): the list opens with
|
|
1276
|
+
* it in its search box (merged-grid review 2, A2 — Airtable). `null` when the cell was opened by
|
|
1277
|
+
* Enter, a click or a double-click.
|
|
1278
|
+
*/
|
|
1279
|
+
searchSeed: string | null;
|
|
1272
1280
|
/** `via`: a key (Escape) or a pointer (the picker's own close) — how the grid gets its keys back. */
|
|
1273
1281
|
cancel: (via?: EditVia) => void;
|
|
1274
1282
|
/**
|
|
@@ -2545,6 +2553,12 @@ interface FieldEditorControlProps {
|
|
|
2545
2553
|
autoOpen?: boolean | undefined;
|
|
2546
2554
|
/** The picker's list closed (a pick, Escape, a click away): the cell commits what is chosen. */
|
|
2547
2555
|
onClose?: (() => void) | undefined;
|
|
2556
|
+
/**
|
|
2557
|
+
* WHAT THE PERSON TYPED TO OPEN A GRID CELL'S PICKER (merged-grid review 2, A2 — Airtable): a
|
|
2558
|
+
* letter typed on a selected choice, multi-choice or person cell opens its list with that text
|
|
2559
|
+
* already in the search box. Honoured by the choice and person pickers.
|
|
2560
|
+
*/
|
|
2561
|
+
initialSearch?: string | undefined;
|
|
2548
2562
|
/** The control's own answer is final (a choice cell's Add / Keep as typed): commit it now. */
|
|
2549
2563
|
onCommit?: (() => void) | undefined;
|
|
2550
2564
|
/** The control's own Cancel: the cell goes back to what it held. */
|
|
@@ -2561,7 +2575,7 @@ declare function FieldLabel({ field, htmlFor, children }: {
|
|
|
2561
2575
|
htmlFor: string;
|
|
2562
2576
|
children?: ReactNode;
|
|
2563
2577
|
}): react.JSX.Element;
|
|
2564
|
-
declare function FieldControl({ field, value, onChange, disabled, id, autoOpen, onClose, onCommit, onCancel, addsChoices }: FieldEditorControlProps): string | number | bigint | true | Iterable<ReactNode> | Promise<string | number | bigint | boolean | react.ReactPortal | react.ReactElement<unknown, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | react.JSX.Element;
|
|
2578
|
+
declare function FieldControl({ field, value, onChange, disabled, id, autoOpen, onClose, onCommit, onCancel, addsChoices, initialSearch }: FieldEditorControlProps): string | number | bigint | true | Iterable<ReactNode> | Promise<string | number | bigint | boolean | react.ReactPortal | react.ReactElement<unknown, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | react.JSX.Element;
|
|
2565
2579
|
/** The chip a picked record shows as — REC-2's "a record is a chip" in one place. */
|
|
2566
2580
|
declare function RecordChip({ title, onRemove, className, }: {
|
|
2567
2581
|
title: string;
|
|
@@ -4355,9 +4369,20 @@ interface TablesHomeProps {
|
|
|
4355
4369
|
* Default false: the package's own home, lists and all.
|
|
4356
4370
|
*/
|
|
4357
4371
|
makingOnly?: boolean | undefined;
|
|
4372
|
+
/**
|
|
4373
|
+
* THE HOST'S OWN BUTTONS ASK (merged-grid review 2, J6: "New table" sat ~1,700 px down /data-v2,
|
|
4374
|
+
* then as a row of its own). A host whose page header already has an action bar puts "New table"
|
|
4375
|
+
* and "Start from an example" THERE and passes how many times each was pressed; this list then
|
|
4376
|
+
* draws no button row of its own, and opens the name box / the examples when asked. Absent: the
|
|
4377
|
+
* list draws its own buttons, as before.
|
|
4378
|
+
*/
|
|
4379
|
+
askedBy?: {
|
|
4380
|
+
create: number;
|
|
4381
|
+
examples: number;
|
|
4382
|
+
} | undefined;
|
|
4358
4383
|
className?: string | undefined;
|
|
4359
4384
|
}
|
|
4360
|
-
declare function TablesHome({ onOpenTable, organizationName, makingOnly, className }: TablesHomeProps): react.JSX.Element;
|
|
4385
|
+
declare function TablesHome({ onOpenTable, organizationName, makingOnly, askedBy, className }: TablesHomeProps): react.JSX.Element;
|
|
4361
4386
|
|
|
4362
4387
|
interface WhereItLivesProps {
|
|
4363
4388
|
tableId: Uuid$1;
|