@ai-matrx/records-ui 0.115.35 → 0.115.37
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 +12 -0
- package/dist/first-page.cjs +18 -2
- package/dist/first-page.cjs.map +1 -1
- package/dist/first-page.d.cts +14 -21
- package/dist/first-page.d.ts +14 -21
- package/dist/first-page.js +18 -2
- package/dist/first-page.js.map +1 -1
- package/dist/index.cjs +6381 -5717
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +27 -24
- package/dist/index.d.ts +27 -24
- package/dist/index.js +5178 -4510
- package/dist/index.js.map +1 -1
- package/dist/pickers.cjs.map +1 -1
- package/dist/pickers.js.map +1 -1
- package/package.json +2 -2
package/dist/index.d.cts
CHANGED
|
@@ -1555,28 +1555,19 @@ declare function RefusalLine({ error, className }: {
|
|
|
1555
1555
|
}): react.JSX.Element;
|
|
1556
1556
|
|
|
1557
1557
|
/**
|
|
1558
|
-
*
|
|
1559
|
-
*
|
|
1560
|
-
*
|
|
1561
|
-
* currency, a percent, a date, a person. A VIEW declares HOW that reads and
|
|
1562
|
-
* what it is worth looking at: two decimal places or none, tint the row when
|
|
1563
|
-
* Status is Blocked, keep Name in place while the rest scrolls. Airtable draws
|
|
1564
|
-
* the line in exactly this place, and it has to be here: two people read one
|
|
1565
|
-
* table two different ways, and neither reading is a fact about the records.
|
|
1566
|
-
*
|
|
1567
|
-
* So nothing in this module is a new column on a Field and nothing here needed
|
|
1568
|
-
* a migration. A presentation lives on the saved-view record (`views.ts`), which
|
|
1569
|
-
* is an ordinary record of an ordinary Table — which means an agent sets it
|
|
1570
|
-
* through the same `records` tool it uses for everything else, and it travels
|
|
1571
|
-
* with the table the way every other record does.
|
|
1572
|
-
*
|
|
1573
|
-
* A FIELD STILL GETS ITS MONEY RIGHT WITH NO CONFIGURATION. `formatForField`
|
|
1574
|
-
* reads the Field's OWN declaration — a `currency` parity type with unit `$`, a
|
|
1575
|
-
* `percent`, a `datetime` with `config.kind` — and returns the format that
|
|
1576
|
-
* follows from it. The view's `formats` map only OVERRIDES that. A table nobody
|
|
1577
|
-
* has ever styled still shows `$1,250.50` and `45%`.
|
|
1558
|
+
* The Gantt mode of a timeline view, by Field key. `mode` turns the left task list on; `critical` paints the longest
|
|
1559
|
+
* chain; `progress` is a percent/number column; `milestone` a yes/no column; `baselineStart` / `baselineEnd` the two
|
|
1560
|
+
* date columns "Save baseline" writes; `dependency` the link column that dependencies are written to.
|
|
1578
1561
|
*/
|
|
1579
|
-
|
|
1562
|
+
interface GanttLook {
|
|
1563
|
+
mode?: boolean;
|
|
1564
|
+
critical?: boolean;
|
|
1565
|
+
progress?: string;
|
|
1566
|
+
milestone?: string;
|
|
1567
|
+
baselineStart?: string;
|
|
1568
|
+
baselineEnd?: string;
|
|
1569
|
+
dependency?: string;
|
|
1570
|
+
}
|
|
1580
1571
|
/**
|
|
1581
1572
|
* SECTIONS BY A FIELD — the view's own grouping.
|
|
1582
1573
|
*
|
|
@@ -1723,6 +1714,8 @@ type GridPresentation = {
|
|
|
1723
1714
|
* by `custom.record_aggregate` over the whole table.
|
|
1724
1715
|
*/
|
|
1725
1716
|
summaries?: Record<string, string>;
|
|
1717
|
+
/** THE TIMELINE'S GANTT MODE (kept as `presentation.gantt`): see `GanttLook`. */
|
|
1718
|
+
gantt?: GanttLook;
|
|
1726
1719
|
/**
|
|
1727
1720
|
* WHERE THE FOOTER SITS (lane TABLE-PAGE-CHROME, owner 2026-09-25) — the row count and the
|
|
1728
1721
|
* pages: `sticky`, pinned to the bottom of the screen while the rows scroll (the older grid's
|
|
@@ -1748,7 +1741,7 @@ declare const FROZEN_COLUMN_WIDTH = 200;
|
|
|
1748
1741
|
* still draw, which is the tolerant half.
|
|
1749
1742
|
*/
|
|
1750
1743
|
declare const MIN_ROW_HEIGHT = 24;
|
|
1751
|
-
declare const MAX_ROW_HEIGHT =
|
|
1744
|
+
declare const MAX_ROW_HEIGHT = 240;
|
|
1752
1745
|
/**
|
|
1753
1746
|
* Read a presentation out of whatever the view record holds — an object, or the
|
|
1754
1747
|
* JSON string a text field stores.
|
|
@@ -1938,6 +1931,8 @@ interface GridViewOrder {
|
|
|
1938
1931
|
* `sorts`), which turns the hand order off in the store. Unbound, the control is ABSENT.
|
|
1939
1932
|
*/
|
|
1940
1933
|
onUseSort?: ((sort: ColumnSort) => void) | undefined;
|
|
1934
|
+
/** "Save to view" on the sort panel: the host writes ALL the sorts (up to three) onto the view. */
|
|
1935
|
+
onUseSorts?: ((sorts: ColumnSort[]) => void) | undefined;
|
|
1941
1936
|
}
|
|
1942
1937
|
interface GridProps {
|
|
1943
1938
|
tableId: Uuid$1;
|
|
@@ -3957,12 +3952,16 @@ interface TimelineViewProps {
|
|
|
3957
3952
|
/** The day the timeline opens on; today when left out. `YYYY-MM-DD`. */
|
|
3958
3953
|
initialDate?: string | undefined;
|
|
3959
3954
|
className?: string | undefined;
|
|
3955
|
+
/** The view's Gantt mode (`presentation.gantt`): left task list, critical path, baseline, diamonds, progress. */
|
|
3956
|
+
gantt?: GanttLook | undefined;
|
|
3957
|
+
/** A Gantt setting changed: the host keeps it on the view. */
|
|
3958
|
+
onGanttChange?: ((patch: Partial<GanttLook>) => void) | undefined;
|
|
3960
3959
|
}
|
|
3961
3960
|
/** THE ONE COLUMN THERE IS, or null — a setting picks itself only when nothing else could be meant. */
|
|
3962
3961
|
declare function onlyCandidate(candidates: readonly Field$1[]): string | null;
|
|
3963
3962
|
/** The columns a timeline can lay lanes out by: a choice, a person, a link, yes / no, or a worked-out column. */
|
|
3964
3963
|
declare function groupableFields(all: readonly Field$1[]): Field$1[];
|
|
3965
|
-
declare function TimelineView({ cardFields, tableId, rows, fields, farFields, titleField, startKey, endKey, groupKey, colorKey, onSettingsChange, layoutKept, onOpenRecord, onMoved, note, style, initialZoom, initialDate, className, }: TimelineViewProps): react.JSX.Element;
|
|
3964
|
+
declare function TimelineView({ cardFields, tableId, rows, fields, farFields, titleField, startKey, endKey, groupKey, colorKey, onSettingsChange, layoutKept, onOpenRecord, onMoved, note, style, initialZoom, initialDate, className, gantt, onGanttChange, }: TimelineViewProps): react.JSX.Element;
|
|
3966
3965
|
|
|
3967
3966
|
/** The colour of each record's card under `colorKey` (null: the table's own decorations only). */
|
|
3968
3967
|
declare function useRowColorBy(all: readonly Field$1[], colorKey: string | null, style?: TableStyle | undefined): (row: ReadRow$1) => StyleColor | null;
|
|
@@ -6712,9 +6711,13 @@ interface ViewActionHost {
|
|
|
6712
6711
|
archive?: () => void | Promise<void>;
|
|
6713
6712
|
/** Lock or unlock the view (lane NOTION-SMALL-2). Left out, no lock verb is listed. */
|
|
6714
6713
|
toggleLock?: () => void | Promise<void>;
|
|
6714
|
+
/** Turn the view Personal (only its creator lists it) or Collaborative (VIEWS-AIRTABLE). Left out, no such verb. */
|
|
6715
|
+
togglePersonal?: () => void | Promise<void>;
|
|
6716
|
+
/** Move the view to a named section of the list. Left out, no such verb. */
|
|
6717
|
+
moveToSection?: () => void | Promise<void>;
|
|
6715
6718
|
}
|
|
6716
6719
|
/** `whyNot`: the person's reason they may not change this table's views, or null when they may. */
|
|
6717
|
-
declare function viewActions(whyNot: string | null, host: ViewActionHost, locked?: boolean): ObjectAction[];
|
|
6720
|
+
declare function viewActions(whyNot: string | null, host: ViewActionHost, locked?: boolean, personal?: boolean): ObjectAction[];
|
|
6718
6721
|
|
|
6719
6722
|
interface RecordPanelProps {
|
|
6720
6723
|
tableId: Uuid$1;
|
package/dist/index.d.ts
CHANGED
|
@@ -1555,28 +1555,19 @@ declare function RefusalLine({ error, className }: {
|
|
|
1555
1555
|
}): react.JSX.Element;
|
|
1556
1556
|
|
|
1557
1557
|
/**
|
|
1558
|
-
*
|
|
1559
|
-
*
|
|
1560
|
-
*
|
|
1561
|
-
* currency, a percent, a date, a person. A VIEW declares HOW that reads and
|
|
1562
|
-
* what it is worth looking at: two decimal places or none, tint the row when
|
|
1563
|
-
* Status is Blocked, keep Name in place while the rest scrolls. Airtable draws
|
|
1564
|
-
* the line in exactly this place, and it has to be here: two people read one
|
|
1565
|
-
* table two different ways, and neither reading is a fact about the records.
|
|
1566
|
-
*
|
|
1567
|
-
* So nothing in this module is a new column on a Field and nothing here needed
|
|
1568
|
-
* a migration. A presentation lives on the saved-view record (`views.ts`), which
|
|
1569
|
-
* is an ordinary record of an ordinary Table — which means an agent sets it
|
|
1570
|
-
* through the same `records` tool it uses for everything else, and it travels
|
|
1571
|
-
* with the table the way every other record does.
|
|
1572
|
-
*
|
|
1573
|
-
* A FIELD STILL GETS ITS MONEY RIGHT WITH NO CONFIGURATION. `formatForField`
|
|
1574
|
-
* reads the Field's OWN declaration — a `currency` parity type with unit `$`, a
|
|
1575
|
-
* `percent`, a `datetime` with `config.kind` — and returns the format that
|
|
1576
|
-
* follows from it. The view's `formats` map only OVERRIDES that. A table nobody
|
|
1577
|
-
* has ever styled still shows `$1,250.50` and `45%`.
|
|
1558
|
+
* The Gantt mode of a timeline view, by Field key. `mode` turns the left task list on; `critical` paints the longest
|
|
1559
|
+
* chain; `progress` is a percent/number column; `milestone` a yes/no column; `baselineStart` / `baselineEnd` the two
|
|
1560
|
+
* date columns "Save baseline" writes; `dependency` the link column that dependencies are written to.
|
|
1578
1561
|
*/
|
|
1579
|
-
|
|
1562
|
+
interface GanttLook {
|
|
1563
|
+
mode?: boolean;
|
|
1564
|
+
critical?: boolean;
|
|
1565
|
+
progress?: string;
|
|
1566
|
+
milestone?: string;
|
|
1567
|
+
baselineStart?: string;
|
|
1568
|
+
baselineEnd?: string;
|
|
1569
|
+
dependency?: string;
|
|
1570
|
+
}
|
|
1580
1571
|
/**
|
|
1581
1572
|
* SECTIONS BY A FIELD — the view's own grouping.
|
|
1582
1573
|
*
|
|
@@ -1723,6 +1714,8 @@ type GridPresentation = {
|
|
|
1723
1714
|
* by `custom.record_aggregate` over the whole table.
|
|
1724
1715
|
*/
|
|
1725
1716
|
summaries?: Record<string, string>;
|
|
1717
|
+
/** THE TIMELINE'S GANTT MODE (kept as `presentation.gantt`): see `GanttLook`. */
|
|
1718
|
+
gantt?: GanttLook;
|
|
1726
1719
|
/**
|
|
1727
1720
|
* WHERE THE FOOTER SITS (lane TABLE-PAGE-CHROME, owner 2026-09-25) — the row count and the
|
|
1728
1721
|
* pages: `sticky`, pinned to the bottom of the screen while the rows scroll (the older grid's
|
|
@@ -1748,7 +1741,7 @@ declare const FROZEN_COLUMN_WIDTH = 200;
|
|
|
1748
1741
|
* still draw, which is the tolerant half.
|
|
1749
1742
|
*/
|
|
1750
1743
|
declare const MIN_ROW_HEIGHT = 24;
|
|
1751
|
-
declare const MAX_ROW_HEIGHT =
|
|
1744
|
+
declare const MAX_ROW_HEIGHT = 240;
|
|
1752
1745
|
/**
|
|
1753
1746
|
* Read a presentation out of whatever the view record holds — an object, or the
|
|
1754
1747
|
* JSON string a text field stores.
|
|
@@ -1938,6 +1931,8 @@ interface GridViewOrder {
|
|
|
1938
1931
|
* `sorts`), which turns the hand order off in the store. Unbound, the control is ABSENT.
|
|
1939
1932
|
*/
|
|
1940
1933
|
onUseSort?: ((sort: ColumnSort) => void) | undefined;
|
|
1934
|
+
/** "Save to view" on the sort panel: the host writes ALL the sorts (up to three) onto the view. */
|
|
1935
|
+
onUseSorts?: ((sorts: ColumnSort[]) => void) | undefined;
|
|
1941
1936
|
}
|
|
1942
1937
|
interface GridProps {
|
|
1943
1938
|
tableId: Uuid$1;
|
|
@@ -3957,12 +3952,16 @@ interface TimelineViewProps {
|
|
|
3957
3952
|
/** The day the timeline opens on; today when left out. `YYYY-MM-DD`. */
|
|
3958
3953
|
initialDate?: string | undefined;
|
|
3959
3954
|
className?: string | undefined;
|
|
3955
|
+
/** The view's Gantt mode (`presentation.gantt`): left task list, critical path, baseline, diamonds, progress. */
|
|
3956
|
+
gantt?: GanttLook | undefined;
|
|
3957
|
+
/** A Gantt setting changed: the host keeps it on the view. */
|
|
3958
|
+
onGanttChange?: ((patch: Partial<GanttLook>) => void) | undefined;
|
|
3960
3959
|
}
|
|
3961
3960
|
/** THE ONE COLUMN THERE IS, or null — a setting picks itself only when nothing else could be meant. */
|
|
3962
3961
|
declare function onlyCandidate(candidates: readonly Field$1[]): string | null;
|
|
3963
3962
|
/** The columns a timeline can lay lanes out by: a choice, a person, a link, yes / no, or a worked-out column. */
|
|
3964
3963
|
declare function groupableFields(all: readonly Field$1[]): Field$1[];
|
|
3965
|
-
declare function TimelineView({ cardFields, tableId, rows, fields, farFields, titleField, startKey, endKey, groupKey, colorKey, onSettingsChange, layoutKept, onOpenRecord, onMoved, note, style, initialZoom, initialDate, className, }: TimelineViewProps): react.JSX.Element;
|
|
3964
|
+
declare function TimelineView({ cardFields, tableId, rows, fields, farFields, titleField, startKey, endKey, groupKey, colorKey, onSettingsChange, layoutKept, onOpenRecord, onMoved, note, style, initialZoom, initialDate, className, gantt, onGanttChange, }: TimelineViewProps): react.JSX.Element;
|
|
3966
3965
|
|
|
3967
3966
|
/** The colour of each record's card under `colorKey` (null: the table's own decorations only). */
|
|
3968
3967
|
declare function useRowColorBy(all: readonly Field$1[], colorKey: string | null, style?: TableStyle | undefined): (row: ReadRow$1) => StyleColor | null;
|
|
@@ -6712,9 +6711,13 @@ interface ViewActionHost {
|
|
|
6712
6711
|
archive?: () => void | Promise<void>;
|
|
6713
6712
|
/** Lock or unlock the view (lane NOTION-SMALL-2). Left out, no lock verb is listed. */
|
|
6714
6713
|
toggleLock?: () => void | Promise<void>;
|
|
6714
|
+
/** Turn the view Personal (only its creator lists it) or Collaborative (VIEWS-AIRTABLE). Left out, no such verb. */
|
|
6715
|
+
togglePersonal?: () => void | Promise<void>;
|
|
6716
|
+
/** Move the view to a named section of the list. Left out, no such verb. */
|
|
6717
|
+
moveToSection?: () => void | Promise<void>;
|
|
6715
6718
|
}
|
|
6716
6719
|
/** `whyNot`: the person's reason they may not change this table's views, or null when they may. */
|
|
6717
|
-
declare function viewActions(whyNot: string | null, host: ViewActionHost, locked?: boolean): ObjectAction[];
|
|
6720
|
+
declare function viewActions(whyNot: string | null, host: ViewActionHost, locked?: boolean, personal?: boolean): ObjectAction[];
|
|
6718
6721
|
|
|
6719
6722
|
interface RecordPanelProps {
|
|
6720
6723
|
tableId: Uuid$1;
|