@ai-matrx/records-ui 0.101.33 → 0.101.35

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/dist/index.d.cts CHANGED
@@ -2253,6 +2253,15 @@ interface GridProps {
2253
2253
  field: string;
2254
2254
  direction: "asc" | "desc";
2255
2255
  } | null | undefined;
2256
+ /**
2257
+ * THE VIEWER'S OWN SEARCH, handed by the host (CHAIR-EMBEDDED-FIDELITY 15), the way `sortOverride`
2258
+ * hands a sort: it filters rows for this viewer only, is never written to the view, and is asked of
2259
+ * the store's own search (`custom.read_records_page`'s `search`), never a filter over loaded rows.
2260
+ * `null` / `""` clears it. Left out, an embedded grid's own magnifier owns the term.
2261
+ */
2262
+ searchOverride?: string | null | undefined;
2263
+ /** Every change of the term, from the embedded magnifier or the override (a controlled host's echo). */
2264
+ onSearchChange?: ((search: string) => void) | undefined;
2256
2265
  /** The new-row line's words ("New page"). Default "Add row". */
2257
2266
  newRowLabel?: string | undefined;
2258
2267
  /**
@@ -3910,6 +3919,9 @@ interface ViewSwitcherProps {
3910
3919
  field: string;
3911
3920
  direction: "asc" | "desc";
3912
3921
  } | null | undefined;
3922
+ /** The viewer's own search (`GridProps.searchOverride`): this viewer only, never saved, asked of the store. */
3923
+ searchOverride?: string | null | undefined;
3924
+ onSearchChange?: ((search: string) => void) | undefined;
3913
3925
  /** The grid's new-row line words (`GridProps.newRowLabel`). */
3914
3926
  newRowLabel?: string | undefined;
3915
3927
  className?: string | undefined;
@@ -3941,7 +3953,7 @@ declare function useViewRecords(view: SavedViewSpec, pageSize?: number, filter?:
3941
3953
  */
3942
3954
  membership: string;
3943
3955
  };
3944
- declare function ViewSwitcher({ view, onLayoutChange, onViewChange, onOpenRecord, openRecordId, onCloseRecord, onMoved, onNewRecordForm, onAskWhoChanged, pageSize: pageSizeAsked, titleField, filter, onClearFilter, hostLayout, onHostLayoutChange, chooser, openExport, viewId, onOrderPlaced, footer, embedded, sortOverride, newRowLabel, className, }: ViewSwitcherProps): react.JSX.Element;
3956
+ declare function ViewSwitcher({ view, onLayoutChange, onViewChange, onOpenRecord, openRecordId, onCloseRecord, onMoved, onNewRecordForm, onAskWhoChanged, pageSize: pageSizeAsked, titleField, filter, onClearFilter, hostLayout, onHostLayoutChange, chooser, openExport, viewId, onOrderPlaced, footer, embedded, sortOverride, searchOverride, onSearchChange, newRowLabel, className, }: ViewSwitcherProps): react.JSX.Element;
3945
3957
 
3946
3958
  type CalendarMode = "month" | "week" | "day" | "list";
3947
3959
  interface CalendarViewProps {
@@ -5985,6 +5997,13 @@ interface TablePageProps$1 {
5985
5997
  presentation?: "page" | "embedded" | undefined;
5986
5998
  /** The new-row line's words in an embedded table ("New page"). */
5987
5999
  newRowLabel?: string | undefined;
6000
+ /**
6001
+ * The viewer's own search, handed by the host (the `sortOverride` model): filters rows for this
6002
+ * viewer only, is never saved to the view, and is asked of the store's search. An embedded table
6003
+ * also draws its own magnifier (`onSearchChange` hears it).
6004
+ */
6005
+ searchOverride?: string | null | undefined;
6006
+ onSearchChange?: ((search: string) => void) | undefined;
5988
6007
  /** Rows per page for every layout. */
5989
6008
  pageSize?: number | undefined;
5990
6009
  /**
@@ -6383,20 +6402,30 @@ interface EntitySourceState {
6383
6402
  refused: string;
6384
6403
  }>;
6385
6404
  reload: () => void;
6405
+ /**
6406
+ * "SHOW MORE" (CHAIR-EMBEDDED-FIDELITY 16): the rows the door has not given yet are asked as the
6407
+ * NEXT page (`limit` = one page, `offset` = rows held) and appended — never the whole source.
6408
+ */
6409
+ loadMore: () => Promise<void>;
6410
+ /** The door counts more rows than are held. */
6411
+ hasMore: boolean;
6412
+ loadingMore: boolean;
6386
6413
  }
6387
6414
  /** A standard source's presented columns and one page of its rows, read as the person. */
6388
6415
  declare function useEntitySource(token: string, options?: {
6389
6416
  limit?: number;
6417
+ search?: string | null;
6390
6418
  }): EntitySourceState;
6391
6419
  /** The column that names a row: the door's first of name / display_name / title / subject, else its first text column. */
6392
6420
  declare function entityNameColumn(columns: readonly EntityColumn[]): EntityColumn | null;
6393
6421
  /** The columns of the one table, from the door's presented columns. */
6394
6422
  declare function entityTableColumns(columns: readonly EntityColumn[]): MatrxColumnDef$1<EntityRow>[];
6395
6423
  /** A standard source in the one table. */
6396
- declare function EntityGrid({ entity, pageSize, drill }: {
6424
+ declare function EntityGrid({ entity, pageSize, drill, embedded }: {
6397
6425
  entity: EntitySourceState;
6398
6426
  pageSize?: number;
6399
6427
  drill?: MatrxDataTableDrillConfig;
6428
+ embedded?: boolean;
6400
6429
  }): react.JSX.Element;
6401
6430
 
6402
6431
  /** A standard source, by its registry token. */
@@ -6455,11 +6484,14 @@ interface EntityTablePageProps {
6455
6484
  /** The board's choice column (api_name). */
6456
6485
  groupBy?: string | undefined;
6457
6486
  onOpenRecord?: ((rowId: string) => void) | undefined;
6487
+ /** The viewer's own search, handed by the host; asked of the door. Never saved. */
6488
+ searchOverride?: string | null | undefined;
6489
+ onSearchChange?: ((search: string) => void) | undefined;
6458
6490
  /** Beside the title row's controls (the host's own). */
6459
6491
  actions?: ReactNode;
6460
6492
  className?: string | undefined;
6461
6493
  }
6462
- declare function EntityTablePage({ source, presentation, pageSize, layout: opened, onLayoutChange, groupBy, onOpenRecord, actions, className, }: EntityTablePageProps): react.JSX.Element;
6494
+ declare function EntityTablePage({ source, presentation, searchOverride, onSearchChange, pageSize, layout: opened, onLayoutChange, groupBy, onOpenRecord, actions, className, }: EntityTablePageProps): react.JSX.Element;
6463
6495
 
6464
6496
  type TablePageSource = {
6465
6497
  kind: "table";
package/dist/index.d.ts CHANGED
@@ -2253,6 +2253,15 @@ interface GridProps {
2253
2253
  field: string;
2254
2254
  direction: "asc" | "desc";
2255
2255
  } | null | undefined;
2256
+ /**
2257
+ * THE VIEWER'S OWN SEARCH, handed by the host (CHAIR-EMBEDDED-FIDELITY 15), the way `sortOverride`
2258
+ * hands a sort: it filters rows for this viewer only, is never written to the view, and is asked of
2259
+ * the store's own search (`custom.read_records_page`'s `search`), never a filter over loaded rows.
2260
+ * `null` / `""` clears it. Left out, an embedded grid's own magnifier owns the term.
2261
+ */
2262
+ searchOverride?: string | null | undefined;
2263
+ /** Every change of the term, from the embedded magnifier or the override (a controlled host's echo). */
2264
+ onSearchChange?: ((search: string) => void) | undefined;
2256
2265
  /** The new-row line's words ("New page"). Default "Add row". */
2257
2266
  newRowLabel?: string | undefined;
2258
2267
  /**
@@ -3910,6 +3919,9 @@ interface ViewSwitcherProps {
3910
3919
  field: string;
3911
3920
  direction: "asc" | "desc";
3912
3921
  } | null | undefined;
3922
+ /** The viewer's own search (`GridProps.searchOverride`): this viewer only, never saved, asked of the store. */
3923
+ searchOverride?: string | null | undefined;
3924
+ onSearchChange?: ((search: string) => void) | undefined;
3913
3925
  /** The grid's new-row line words (`GridProps.newRowLabel`). */
3914
3926
  newRowLabel?: string | undefined;
3915
3927
  className?: string | undefined;
@@ -3941,7 +3953,7 @@ declare function useViewRecords(view: SavedViewSpec, pageSize?: number, filter?:
3941
3953
  */
3942
3954
  membership: string;
3943
3955
  };
3944
- declare function ViewSwitcher({ view, onLayoutChange, onViewChange, onOpenRecord, openRecordId, onCloseRecord, onMoved, onNewRecordForm, onAskWhoChanged, pageSize: pageSizeAsked, titleField, filter, onClearFilter, hostLayout, onHostLayoutChange, chooser, openExport, viewId, onOrderPlaced, footer, embedded, sortOverride, newRowLabel, className, }: ViewSwitcherProps): react.JSX.Element;
3956
+ declare function ViewSwitcher({ view, onLayoutChange, onViewChange, onOpenRecord, openRecordId, onCloseRecord, onMoved, onNewRecordForm, onAskWhoChanged, pageSize: pageSizeAsked, titleField, filter, onClearFilter, hostLayout, onHostLayoutChange, chooser, openExport, viewId, onOrderPlaced, footer, embedded, sortOverride, searchOverride, onSearchChange, newRowLabel, className, }: ViewSwitcherProps): react.JSX.Element;
3945
3957
 
3946
3958
  type CalendarMode = "month" | "week" | "day" | "list";
3947
3959
  interface CalendarViewProps {
@@ -5985,6 +5997,13 @@ interface TablePageProps$1 {
5985
5997
  presentation?: "page" | "embedded" | undefined;
5986
5998
  /** The new-row line's words in an embedded table ("New page"). */
5987
5999
  newRowLabel?: string | undefined;
6000
+ /**
6001
+ * The viewer's own search, handed by the host (the `sortOverride` model): filters rows for this
6002
+ * viewer only, is never saved to the view, and is asked of the store's search. An embedded table
6003
+ * also draws its own magnifier (`onSearchChange` hears it).
6004
+ */
6005
+ searchOverride?: string | null | undefined;
6006
+ onSearchChange?: ((search: string) => void) | undefined;
5988
6007
  /** Rows per page for every layout. */
5989
6008
  pageSize?: number | undefined;
5990
6009
  /**
@@ -6383,20 +6402,30 @@ interface EntitySourceState {
6383
6402
  refused: string;
6384
6403
  }>;
6385
6404
  reload: () => void;
6405
+ /**
6406
+ * "SHOW MORE" (CHAIR-EMBEDDED-FIDELITY 16): the rows the door has not given yet are asked as the
6407
+ * NEXT page (`limit` = one page, `offset` = rows held) and appended — never the whole source.
6408
+ */
6409
+ loadMore: () => Promise<void>;
6410
+ /** The door counts more rows than are held. */
6411
+ hasMore: boolean;
6412
+ loadingMore: boolean;
6386
6413
  }
6387
6414
  /** A standard source's presented columns and one page of its rows, read as the person. */
6388
6415
  declare function useEntitySource(token: string, options?: {
6389
6416
  limit?: number;
6417
+ search?: string | null;
6390
6418
  }): EntitySourceState;
6391
6419
  /** The column that names a row: the door's first of name / display_name / title / subject, else its first text column. */
6392
6420
  declare function entityNameColumn(columns: readonly EntityColumn[]): EntityColumn | null;
6393
6421
  /** The columns of the one table, from the door's presented columns. */
6394
6422
  declare function entityTableColumns(columns: readonly EntityColumn[]): MatrxColumnDef$1<EntityRow>[];
6395
6423
  /** A standard source in the one table. */
6396
- declare function EntityGrid({ entity, pageSize, drill }: {
6424
+ declare function EntityGrid({ entity, pageSize, drill, embedded }: {
6397
6425
  entity: EntitySourceState;
6398
6426
  pageSize?: number;
6399
6427
  drill?: MatrxDataTableDrillConfig;
6428
+ embedded?: boolean;
6400
6429
  }): react.JSX.Element;
6401
6430
 
6402
6431
  /** A standard source, by its registry token. */
@@ -6455,11 +6484,14 @@ interface EntityTablePageProps {
6455
6484
  /** The board's choice column (api_name). */
6456
6485
  groupBy?: string | undefined;
6457
6486
  onOpenRecord?: ((rowId: string) => void) | undefined;
6487
+ /** The viewer's own search, handed by the host; asked of the door. Never saved. */
6488
+ searchOverride?: string | null | undefined;
6489
+ onSearchChange?: ((search: string) => void) | undefined;
6458
6490
  /** Beside the title row's controls (the host's own). */
6459
6491
  actions?: ReactNode;
6460
6492
  className?: string | undefined;
6461
6493
  }
6462
- declare function EntityTablePage({ source, presentation, pageSize, layout: opened, onLayoutChange, groupBy, onOpenRecord, actions, className, }: EntityTablePageProps): react.JSX.Element;
6494
+ declare function EntityTablePage({ source, presentation, searchOverride, onSearchChange, pageSize, layout: opened, onLayoutChange, groupBy, onOpenRecord, actions, className, }: EntityTablePageProps): react.JSX.Element;
6463
6495
 
6464
6496
  type TablePageSource = {
6465
6497
  kind: "table";