@declarion/react 0.50.0 → 0.51.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.
Files changed (45) hide show
  1. package/dist-lib/{DraggableChildrenTable-Dar8C-Z9.js → DraggableChildrenTable-CJCjc_cd.js} +1 -1
  2. package/dist-lib/{Grid-BkHtfsty.js → Grid-DUjbQg3r.js} +2 -2
  3. package/dist-lib/{LayoutRenderer-Cic7IAop.js → LayoutRenderer-DbdxC-Bq.js} +9 -8
  4. package/dist-lib/{ListCardsBody-Dko91bLv.js → ListCardsBody-C8ofksQb.js} +4 -4
  5. package/dist-lib/{MarkdownRenderer-CJrVG5HZ.js → MarkdownRenderer-B9_5fwuE.js} +1 -1
  6. package/dist-lib/{RefreshControl-BS8WWL8i.js → RefreshControl-C-8UCyau.js} +2 -2
  7. package/dist-lib/{SmartDetailPage.impl-DxRDo0p2.js → SmartDetailPage.impl-DWjNQ052.js} +8 -8
  8. package/dist-lib/{SmartListPage.impl-CNdq5Vts.js → SmartListPage.impl-yKBK7a8b.js} +651 -646
  9. package/dist-lib/{SmartRecordListPage.impl-3ct7f4rT.js → SmartRecordListPage.impl-DRpU_DOC.js} +9 -9
  10. package/dist-lib/{SortHeaderMenu-NgjkW8QZ.js → SortHeaderMenu-CbihbEGd.js} +1 -1
  11. package/dist-lib/{action-dispatch-hVrm3Hrg.js → action-dispatch-C28UhXXA.js} +14 -13
  12. package/dist-lib/{cardProjection-BR-fXPvJ.js → cardProjection-Bp_ZPLUE.js} +2 -2
  13. package/dist-lib/components/fields/cells/registry.d.ts +1 -0
  14. package/dist-lib/components/fields/index.d.ts +1 -0
  15. package/dist-lib/components/file-widgets/host.d.ts +1 -0
  16. package/dist-lib/components/pages/list/DataCell.d.ts +2 -3
  17. package/dist-lib/components/pages/list/ListCardRow.d.ts +2 -2
  18. package/dist-lib/components/pages/list/ListCardsBody.d.ts +2 -2
  19. package/dist-lib/components/pages/list/ListTable.d.ts +5 -6
  20. package/dist-lib/components/pages/list/ListTableRow.d.ts +2 -3
  21. package/dist-lib/components/pages/list/column-sizing.d.ts +2 -3
  22. package/dist-lib/components/pages/list/columns.d.ts +2 -2
  23. package/dist-lib/components/pages/list/table-features.d.ts +14 -0
  24. package/dist-lib/{field-classification-Bm0mgbwA.js → field-classification-CeYJlsNq.js} +1 -1
  25. package/dist-lib/{format-count-BfRGwx2v.js → format-count-C3N-WxEy.js} +5 -5
  26. package/dist-lib/hooks/useActionData.d.ts +1 -1
  27. package/dist-lib/hooks/useAllEntityData.d.ts +1 -1
  28. package/dist-lib/hooks/useChildrenData.d.ts +1 -1
  29. package/dist-lib/hooks/useEntityData.d.ts +2 -2
  30. package/dist-lib/hooks/useObject.d.ts +1 -1
  31. package/dist-lib/hooks/useParams.d.ts +3 -3
  32. package/dist-lib/hooks/useSchema.d.ts +1 -1
  33. package/dist-lib/index.js +14 -14
  34. package/dist-lib/{peekDraftStore-bb4WroTA.js → peekDraftStore-D3sowXga.js} +1 -1
  35. package/dist-lib/{registry-CgeGoWpW.js → registry-p6CejATt.js} +3 -3
  36. package/dist-lib/testing.js +1 -1
  37. package/dist-lib/types/files.d.ts +3 -0
  38. package/dist-lib/types/ordmap.d.ts +9 -2
  39. package/dist-lib/types/schema.d.ts +2 -1
  40. package/dist-lib/{useCurrentScreen-D3XH5ptA.js → useCurrentScreen-74x5yJNb.js} +21 -14
  41. package/dist-lib/{useListQuery-CfuINl-0.js → useListQuery-D75bgLLz.js} +3 -3
  42. package/dist-lib/{useProperties-DNocaxBX.js → useProperties-C5fZp12D.js} +1 -1
  43. package/dist-lib/{useTabSearchMirror-d0BAUIcQ.js → useTabSearchMirror-D_wzoYRz.js} +2 -2
  44. package/dist-lib/{value-D71J0sJq.js → value-DKekzcjz.js} +1 -1
  45. package/package.json +20 -20
@@ -1,13 +1,13 @@
1
1
  import { s as e } from "./DynamicIcon-DW5krHuX.js";
2
- import { $n as t, A as n, At as r, Dn as i, F as a, In as o, Jn as s, N as c, Sn as l, Tn as u, Zn as d, dr as f, fr as p, q as m, rr as ee, rt as h, wn as g, zn as te } from "./useCurrentScreen-D3XH5ptA.js";
3
- import { a as _ } from "./registry-CgeGoWpW.js";
4
- import { O as ne, c as re, f as v } from "./field-classification-Bm0mgbwA.js";
5
- import { f as y, h as b, p as x, u as S } from "./action-dispatch-hVrm3Hrg.js";
6
- import { d as C, m as w, n as T, p as E, t as D, u as O } from "./cardProjection-BR-fXPvJ.js";
7
- import { c as k, f as A, h as j, m as M, n as ie, t as ae } from "./useTabSearchMirror-d0BAUIcQ.js";
8
- import { n as oe, r as N } from "./useProperties-DNocaxBX.js";
9
- import { t as P } from "./LayoutRenderer-Cic7IAop.js";
10
- import { t as se } from "./useListQuery-CfuINl-0.js";
2
+ import { $n as t, A as n, At as r, Dn as i, F as a, In as o, Jn as s, N as c, Sn as l, Tn as u, Zn as d, dr as f, fr as p, q as m, rr as ee, rt as h, wn as g, zn as te } from "./useCurrentScreen-74x5yJNb.js";
3
+ import { a as _ } from "./registry-p6CejATt.js";
4
+ import { O as ne, c as re, f as v } from "./field-classification-CeYJlsNq.js";
5
+ import { f as y, h as b, p as x, u as S } from "./action-dispatch-C28UhXXA.js";
6
+ import { d as C, m as w, n as T, p as E, t as D, u as O } from "./cardProjection-Bp_ZPLUE.js";
7
+ import { c as k, f as A, h as j, m as M, n as ie, t as ae } from "./useTabSearchMirror-D_wzoYRz.js";
8
+ import { n as oe, r as N } from "./useProperties-C5fZp12D.js";
9
+ import { t as P } from "./LayoutRenderer-DbdxC-Bq.js";
10
+ import { t as se } from "./useListQuery-D75bgLLz.js";
11
11
  import { useCallback as F, useEffect as I, useMemo as L, useRef as R, useState as z } from "react";
12
12
  import { useSearchParams as ce } from "react-router";
13
13
  import { Fragment as B, jsx as V, jsxs as H } from "react/jsx-runtime";
@@ -1,5 +1,5 @@
1
1
  import { s as e } from "./DynamicIcon-DW5krHuX.js";
2
- import { cr as t, er as n } from "./useCurrentScreen-D3XH5ptA.js";
2
+ import { cr as t, er as n } from "./useCurrentScreen-74x5yJNb.js";
3
3
  import { useRef as r, useState as i } from "react";
4
4
  import { Fragment as a, jsx as o, jsxs as s } from "react/jsx-runtime";
5
5
  //#region src/components/pages/list/SortHeaderMenu.tsx
@@ -1,6 +1,6 @@
1
1
  import { s as e, t } from "./DynamicIcon-DW5krHuX.js";
2
- import { $n as n, B as r, Dn as i, E as a, I as o, L as s, O as c, P as l, R as u, V as d, W as f, cr as p, d as m, dr as h, er as g, fr as _, g as v, j as y, u as b, wn as x, z as S } from "./useCurrentScreen-D3XH5ptA.js";
3
- import { a as C, c as w, d as T, f as E, i as D, l as O, n as ee, o as k, p as A, r as te, s as j, t as M, u as N } from "./value-D71J0sJq.js";
2
+ import { $n as n, B as r, Dn as i, E as a, I as o, L as s, O as c, P as l, R as u, V as d, W as f, cr as p, d as m, dr as h, er as g, fr as _, g as v, j as y, u as b, wn as x, z as S } from "./useCurrentScreen-74x5yJNb.js";
3
+ import { a as C, c as w, d as T, f as E, i as D, l as O, n as ee, o as k, p as A, r as te, s as j, t as M, u as N } from "./value-DKekzcjz.js";
4
4
  import { Fragment as P, Suspense as F, lazy as I, useCallback as L, useEffect as R, useLayoutEffect as z, useMemo as ne, useRef as B, useState as V } from "react";
5
5
  import { Fragment as H, jsx as U, jsxs as W } from "react/jsx-runtime";
6
6
  //#region src/components/file-widgets/registry.ts
@@ -396,7 +396,7 @@ function X(e) {
396
396
  }
397
397
  //#endregion
398
398
  //#region src/components/file-widgets/GridLazy.tsx
399
- var _e = I(() => import("./Grid-BkHtfsty.js").then((e) => ({ default: e.Grid })));
399
+ var _e = I(() => import("./Grid-DUjbQg3r.js").then((e) => ({ default: e.Grid })));
400
400
  function Z() {
401
401
  return /* @__PURE__ */ U("div", { className: "h-24 w-full rounded-md bg-muted animate-pulse" });
402
402
  }
@@ -1004,11 +1004,11 @@ function Fe(e, t, n) {
1004
1004
  return i ? x(i, t, n) : t;
1005
1005
  }
1006
1006
  function Ie(e) {
1007
- let { entity: t, entityCode: n, fieldName: r, record: i, mode: a, onChange: o, refs: s, disabled: c, surface: l, entities: u, screens: d, locale: f, fieldId: p, labelId: m, structure: h } = e, g = je(t, r);
1008
- if (g) {
1009
- let e = g.display?.widget ?? "", t = q(e);
1007
+ let { entity: t, entityCode: n, fieldName: r, record: i, mode: a, onChange: o, refs: s, disabled: c, surface: l, entities: u, screens: d, locale: f, fieldId: p, labelId: m, structure: h, detailScreen: g } = e, _ = je(t, r);
1008
+ if (_) {
1009
+ let e = _.display?.widget ?? "", t = q(e);
1010
1010
  return t ? /* @__PURE__ */ U(t, {
1011
- field: g,
1011
+ field: _,
1012
1012
  fieldName: r,
1013
1013
  entityCode: n,
1014
1014
  value: Me(i, r),
@@ -1021,12 +1021,12 @@ function Ie(e) {
1021
1021
  children: e ? `Unknown file widget: ${e}` : "Missing file widget"
1022
1022
  });
1023
1023
  }
1024
- let _ = t.fields.get(r), v = h && a === "display" && _ ? {
1025
- ..._,
1024
+ let v = t.fields.get(r), b = h && a === "display" && v ? {
1025
+ ...v,
1026
1026
  structure: h
1027
- } : _;
1028
- return v ? y({
1029
- field: v,
1027
+ } : v;
1028
+ return b ? y({
1029
+ field: b,
1030
1030
  entityCode: n,
1031
1031
  fieldName: r,
1032
1032
  value: Ne(t, i, r),
@@ -1040,7 +1040,8 @@ function Ie(e) {
1040
1040
  screens: d,
1041
1041
  locale: f,
1042
1042
  fieldId: p,
1043
- labelId: m
1043
+ labelId: m,
1044
+ detailScreen: g
1044
1045
  }) : null;
1045
1046
  }
1046
1047
  //#endregion
@@ -1,5 +1,5 @@
1
- import { En as e, U as t, W as n } from "./useCurrentScreen-D3XH5ptA.js";
2
- import { d as r, f as i, u as a } from "./action-dispatch-hVrm3Hrg.js";
1
+ import { En as e, U as t, W as n } from "./useCurrentScreen-74x5yJNb.js";
2
+ import { d as r, f as i, u as a } from "./action-dispatch-C28UhXXA.js";
3
3
  import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
4
4
  //#region src/components/file-widgets/payload.ts
5
5
  function l(e) {
@@ -13,6 +13,7 @@ export interface CellResolveCtx {
13
13
  screens?: Record<string, Screen>;
14
14
  refs?: Refs | (() => Refs | undefined);
15
15
  locale: string;
16
+ detailScreen?: string;
16
17
  }
17
18
  export type CellFactory = (ctx: CellResolveCtx) => CellRenderer;
18
19
  export declare const REGISTRY_WIDGETS: readonly string[];
@@ -20,6 +20,7 @@ export interface FieldRendererProps {
20
20
  entities?: Record<string, Entity>;
21
21
  screens?: Record<string, Screen>;
22
22
  locale: string;
23
+ detailScreen?: string;
23
24
  }
24
25
  type FieldRenderer = React.ComponentType<FieldRendererProps>;
25
26
  export declare const editRegistry: Record<FieldType, FieldRenderer>;
@@ -23,4 +23,5 @@ export declare function renderSchemaField(props: {
23
23
  fieldId?: string;
24
24
  labelId?: string;
25
25
  structure?: string;
26
+ detailScreen?: string;
26
27
  }): ReactNode;
@@ -1,5 +1,4 @@
1
- import type { Cell } from "@tanstack/react-table";
2
- import type { RowData } from "../../../types/api";
1
+ import type { ListCell } from "./table-features";
3
2
  export declare function DataCell({ cell, }: {
4
- cell: Cell<RowData, unknown>;
3
+ cell: ListCell;
5
4
  }): import("react").JSX.Element;
@@ -1,11 +1,11 @@
1
- import type { Row } from "@tanstack/react-table";
1
+ import type { ListRow } from "./table-features";
2
2
  import type { ListResponse, RowData } from "../../../types/api";
3
3
  import { type Action, type Entity, type Screen } from "../../../types/schema";
4
4
  import type { resolveCellRenderer } from "../../../components/fields/cells/registry";
5
5
  import type { RowInteraction } from "./useListRowInteraction";
6
6
  type CellRenderer = ReturnType<typeof resolveCellRenderer>;
7
7
  interface ListCardRowProps {
8
- row: Row<RowData>;
8
+ row: ListRow;
9
9
  /** The ABSOLUTE index, which is what decides striping - the list is
10
10
  * virtualized, so `nth-child` would count the render window. */
11
11
  rowIndex: number;
@@ -1,11 +1,11 @@
1
- import type { Row } from "@tanstack/react-table";
1
+ import type { ListRow } from "./table-features";
2
2
  import type { Virtualizer } from "@tanstack/react-virtual";
3
3
  import type { ListResponse, RowData } from "../../../types/api";
4
4
  import type { resolveCellRenderer } from "../../../components/fields/cells/registry";
5
5
  import type { Action, Entity, Screen } from "../../../types/schema";
6
6
  import type { RowInteraction } from "./useListRowInteraction";
7
7
  interface ListCardsBodyProps {
8
- rows: Row<RowData>[];
8
+ rows: ListRow[];
9
9
  virtualizer: Virtualizer<HTMLDivElement, Element>;
10
10
  entity: Entity;
11
11
  screen: Screen;
@@ -1,14 +1,13 @@
1
1
  import { type ReactNode } from "react";
2
- import { type ColumnDef, type Row, type Table } from "@tanstack/react-table";
2
+ import type { ListColumnDef, ListRow, ListTableInstance } from "./table-features";
3
3
  import type { Virtualizer } from "@tanstack/react-virtual";
4
4
  import { type SortCol, type SortNulls } from "../../../lib/sort";
5
- import type { RowData } from "../../../types/api";
6
5
  import type { Entity } from "../../../types/schema";
7
6
  import type { useHeaderReorder } from "./useHeaderReorder";
8
7
  interface ListTableProps {
9
- table: Table<RowData>;
10
- columns: ColumnDef<RowData>[];
11
- rows: Row<RowData>[];
8
+ table: ListTableInstance;
9
+ columns: ListColumnDef[];
10
+ rows: ListRow[];
12
11
  entity: Entity;
13
12
  /** Published as CSS variables on the <table> so a resize drag reflows without
14
13
  * re-rendering the memoized body. */
@@ -27,7 +26,7 @@ interface ListTableProps {
27
26
  appendColumnSort: (field: string, dir: "asc" | "desc", nulls: SortNulls | undefined) => void;
28
27
  clearColumnSort: (field: string) => void;
29
28
  clearAllSorts: () => void;
30
- renderRow: (row: Row<RowData>, index: number) => ReactNode;
29
+ renderRow: (row: ListRow, index: number) => ReactNode;
31
30
  isResizingColumn: string | false;
32
31
  }
33
32
  export declare function ListTable({ table, columns, rows, entity, columnSizeVars, totalColumnsWidth, theadRef, virtualizer: rowVirtualizer, visibleCols, headerReorder, sortCols, sortNullsMap, shiftClickColumn, applyColumnSort, appendColumnSort, clearColumnSort, clearAllSorts, renderRow, isResizingColumn, }: ListTableProps): import("react").JSX.Element;
@@ -1,9 +1,8 @@
1
- import type { Row } from "@tanstack/react-table";
2
- import type { RowData } from "../../../types/api";
1
+ import type { ListRow } from "./table-features";
3
2
  import type { Entity } from "../../../types/schema";
4
3
  import type { RowInteraction } from "./useListRowInteraction";
5
4
  interface ListTableRowProps {
6
- row: Row<RowData>;
5
+ row: ListRow;
7
6
  rowIndex: number;
8
7
  entity: Entity;
9
8
  hasSoftDelete: boolean;
@@ -1,5 +1,4 @@
1
- import type { Table } from "@tanstack/react-table";
2
- import type { RowData } from "../../../types/api";
1
+ import type { ListTableInstance } from "./table-features";
3
2
  /** CSS custom-property name for a header's width. */
4
3
  export declare function headerSizeVar(headerId: string): string;
5
4
  /** CSS custom-property name for a column's (cell) width. */
@@ -12,4 +11,4 @@ export declare function sizeFromVar(varName: string): string;
12
11
  * establishes the reactivity so the object recomputes on every resize frame;
13
12
  * memoize it on those two state slices in the component.
14
13
  */
15
- export declare function buildColumnSizeVars(table: Table<RowData>): Record<string, number>;
14
+ export declare function buildColumnSizeVars(table: ListTableInstance): Record<string, number>;
@@ -1,5 +1,5 @@
1
1
  import { type RefObject } from "react";
2
- import type { ColumnDef } from "@tanstack/react-table";
2
+ import type { ListColumnDef } from "./table-features";
3
3
  import { type Refs } from "../../../components/fields/cells/registry";
4
4
  import type { Action, Entity, Screen } from "../../../types/schema";
5
5
  import type { RowData } from "../../../types/api";
@@ -41,5 +41,5 @@ export interface BuildListColumnsArgs {
41
41
  rowSelectionKey: (entity: Entity, row: RowData) => string;
42
42
  setPeekRow: (row: RowData) => void;
43
43
  }
44
- export declare function buildListColumns(args: BuildListColumnsArgs): ColumnDef<RowData>[];
44
+ export declare function buildListColumns(args: BuildListColumnsArgs): ListColumnDef[];
45
45
  export {};
@@ -0,0 +1,14 @@
1
+ import { type Cell, type ColumnDef, type Row, type Table } from "@tanstack/react-table";
2
+ import type { RowData } from "../../../types/api";
3
+ export declare const listTableFeatures: {
4
+ rowSortingFeature: import("@tanstack/react-table").TableFeature;
5
+ rowSelectionFeature: import("@tanstack/react-table").TableFeature;
6
+ columnSizingFeature: import("@tanstack/react-table").TableFeature;
7
+ columnResizingFeature: import("@tanstack/react-table").TableFeature;
8
+ columnVisibilityFeature: import("@tanstack/react-table").TableFeature;
9
+ };
10
+ export type ListFeatures = typeof listTableFeatures;
11
+ export type ListTableInstance = Table<ListFeatures, RowData>;
12
+ export type ListRow = Row<ListFeatures, RowData>;
13
+ export type ListCell = Cell<ListFeatures, RowData, unknown>;
14
+ export type ListColumnDef = ColumnDef<ListFeatures, RowData, unknown>;
@@ -1,4 +1,4 @@
1
- import { At as e, Fn as t, Gt as n, St as r, Tt as i, _t as a, bt as o, jt as s, kn as c, kt as l, mt as u, ot as d, pt as f, rt as p, st as m, vt as h } from "./useCurrentScreen-D3XH5ptA.js";
1
+ import { At as e, Fn as t, Gt as n, St as r, Tt as i, _t as a, bt as o, jt as s, kn as c, kt as l, mt as u, ot as d, pt as f, rt as p, st as m, vt as h } from "./useCurrentScreen-74x5yJNb.js";
2
2
  import { useCallback as g, useEffect as _, useMemo as v, useRef as ee, useState as te } from "react";
3
3
  import { parsePath as ne, useLocation as re, useNavigate as ie } from "react-router";
4
4
  import { useMutation as y, useQuery as b, useQueryClient as x } from "@tanstack/react-query";
@@ -1,9 +1,9 @@
1
1
  import { s as e, t } from "./DynamicIcon-DW5krHuX.js";
2
- import { A as n, At as r, Dn as i, G as a, Jn as o, Wn as s, X as c, Zn as l, _ as u, cr as d, dr as f, er as p, fr as m, i as h, j as g, lr as _, or as v, rr as y, v as b, x, zn as S } from "./useCurrentScreen-D3XH5ptA.js";
3
- import { _ as C } from "./RefreshControl-BS8WWL8i.js";
4
- import { A as w, C as T, S as E } from "./field-classification-Bm0mgbwA.js";
5
- import { c as ee, o as te, p as ne, r as re } from "./action-dispatch-hVrm3Hrg.js";
6
- import { a as D, d as O, f as k, h as A, i as j, l as M, o as N, s as P, u as F } from "./useTabSearchMirror-d0BAUIcQ.js";
2
+ import { A as n, At as r, Dn as i, G as a, Jn as o, Wn as s, X as c, Zn as l, _ as u, cr as d, dr as f, er as p, fr as m, i as h, j as g, lr as _, or as v, rr as y, v as b, x, zn as S } from "./useCurrentScreen-74x5yJNb.js";
3
+ import { _ as C } from "./RefreshControl-C-8UCyau.js";
4
+ import { A as w, C as T, S as E } from "./field-classification-CeYJlsNq.js";
5
+ import { c as ee, o as te, p as ne, r as re } from "./action-dispatch-C28UhXXA.js";
6
+ import { a as D, d as O, f as k, h as A, i as j, l as M, o as N, s as P, u as F } from "./useTabSearchMirror-D_wzoYRz.js";
7
7
  import { Fragment as I, useCallback as L, useEffect as R, useMemo as z, useRef as B, useState as V } from "react";
8
8
  import { useLocation as H, useSearchParams as ie } from "react-router";
9
9
  import { Fragment as U, jsx as W, jsxs as G } from "react/jsx-runtime";
@@ -29,7 +29,7 @@ export declare function actionDataQueryKey(actionCode: string | undefined, param
29
29
  * the caller registers the key via `actionDataQueryKey` +
30
30
  * `useRegisterRetainedQuery` for retention.
31
31
  */
32
- export declare function useActionData<T>(actionCode: string | undefined, params: Record<string, unknown>, enabled?: boolean): import("@tanstack/react-query").UseQueryResult<NoInfer<T>, Error>;
32
+ export declare function useActionData<T>(actionCode: string | undefined, params: Record<string, unknown>, enabled?: boolean): import("@tanstack/react-query").UseQueryResult<T, Error>;
33
33
  /**
34
34
  * The React Query key for a cursor (infinite) action read. Single source of
35
35
  * truth for both `useCursorActionData` and its retained-page registration. The
@@ -13,4 +13,4 @@ import type { ListParams, ListResponse } from "../types/api";
13
13
  * The caller's `page` / `per_page` in `params` are ignored - this hook owns
14
14
  * pagination - while `filters`, `search`, `sort`, and `expand` are honored.
15
15
  */
16
- export declare function useAllEntityData(entity: string | undefined, params?: ListParams): import("@tanstack/react-query").UseQueryResult<NoInfer<ListResponse<Record<string, unknown>>>, Error>;
16
+ export declare function useAllEntityData(entity: string | undefined, params?: ListParams): import("@tanstack/react-query").UseQueryResult<ListResponse<Record<string, unknown>>, Error>;
@@ -1,3 +1,3 @@
1
1
  import type { ListResponse } from "../types/api";
2
2
  export declare const ENTITY_CHILDREN_KEY: "entity-children";
3
- export declare function useChildrenData(parentEntity: string, parentId: string, childCode: string, foreignKey: string | string[], sort?: string, limit?: number): import("@tanstack/react-query").UseQueryResult<NoInfer<ListResponse<Record<string, unknown>>>, Error>;
3
+ export declare function useChildrenData(parentEntity: string, parentId: string, childCode: string, foreignKey: string | string[], sort?: string, limit?: number): import("@tanstack/react-query").UseQueryResult<ListResponse<Record<string, unknown>>, Error>;
@@ -16,7 +16,7 @@ export declare function entityDataQueryKey(entity: string | undefined, params: L
16
16
  * is fetched separately by `useEntityCount`; the table renders rows the
17
17
  * moment this query resolves, independent of count latency.
18
18
  */
19
- export declare function useEntityData(entity: string | undefined, params: ListParams, enabled?: boolean): import("@tanstack/react-query").UseQueryResult<NoInfer<ListResponse<Record<string, unknown>>>, Error>;
19
+ export declare function useEntityData(entity: string | undefined, params: ListParams, enabled?: boolean): import("@tanstack/react-query").UseQueryResult<ListResponse<Record<string, unknown>>, Error>;
20
20
  /**
21
21
  * useEntityCount fetches the total row count for a list view in a SEPARATE
22
22
  * request from the window (`count: "only"` - the server skips the data
@@ -31,4 +31,4 @@ export declare function useEntityData(entity: string | undefined, params: ListPa
31
31
  * to render. A count failure does NOT break the table: callers treat a
32
32
  * failed/absent count as "unknown" and fall back to the loaded row count.
33
33
  */
34
- export declare function useEntityCount(entity: string | undefined, params: ListParams, enabled?: boolean): import("@tanstack/react-query").UseQueryResult<NoInfer<ListResponse<Record<string, unknown>>>, Error>;
34
+ export declare function useEntityCount(entity: string | undefined, params: ListParams, enabled?: boolean): import("@tanstack/react-query").UseQueryResult<ListResponse<Record<string, unknown>>, Error>;
@@ -7,4 +7,4 @@ import type { PkValues } from "../types/schema";
7
7
  * for a composite PK sorts the parts so key order does not fork the cache.
8
8
  */
9
9
  export declare function objectQueryKey(entity: string | undefined, pkValues: PkValues | string | undefined): QueryKey;
10
- export declare function useObject(entity: string | undefined, pkValues: PkValues | string | undefined): import("@tanstack/react-query").UseQueryResult<NoInfer<import("..").DataResponse<Record<string, unknown>>>, Error>;
10
+ export declare function useObject(entity: string | undefined, pkValues: PkValues | string | undefined): import("@tanstack/react-query").UseQueryResult<import("..").DataResponse<Record<string, unknown>>, Error>;
@@ -42,8 +42,8 @@ export declare function useCarrierParamOverrides({ carrierEntityCode, rowId, ena
42
42
  * resolution. Disclosure-tiered server-side. Short staleTime: params are
43
43
  * push-invalidated on the server, and edits invalidate this key directly.
44
44
  */
45
- export declare function useAllParams(resolution?: "tenant"): import("@tanstack/react-query").UseQueryResult<NoInfer<ResolvedParam[]>, Error>;
46
- export declare function usePublicParams(): import("@tanstack/react-query").UseQueryResult<NoInfer<import("../types/api").PublicParamsResponse>, Error>;
45
+ export declare function useAllParams(resolution?: "tenant"): import("@tanstack/react-query").UseQueryResult<ResolvedParam[], Error>;
46
+ export declare function usePublicParams(): import("@tanstack/react-query").UseQueryResult<import("../types/api").PublicParamsResponse, Error>;
47
47
  /**
48
48
  * Looks up the platform's record for a parameter without a default.
49
49
  * Returns the full ParamLookup envelope (`found`, `value`, `source`).
@@ -51,7 +51,7 @@ export declare function usePublicParams(): import("@tanstack/react-query").UseQu
51
51
  */
52
52
  export declare function useResolvedParam(code: string, options?: {
53
53
  enabled?: boolean;
54
- }): import("@tanstack/react-query").UseQueryResult<NoInfer<ParamLookup>, Error>;
54
+ }): import("@tanstack/react-query").UseQueryResult<ParamLookup, Error>;
55
55
  export declare function useEffectiveParam<T = unknown>(code: string): {
56
56
  value: T | undefined;
57
57
  found: boolean;
@@ -1 +1 @@
1
- export declare function useSchema(): import("@tanstack/react-query").UseQueryResult<NoInfer<import("..").Schema>, Error>;
1
+ export declare function useSchema(): import("@tanstack/react-query").UseQueryResult<import("..").Schema, Error>;
package/dist-lib/index.js CHANGED
@@ -1,14 +1,14 @@
1
1
  import { a as e, r as t, s as n, t as r } from "./DynamicIcon-DW5krHuX.js";
2
- import { $n as i, $t as a, A as o, An as s, At as c, B as l, Bn as u, Bt as d, C as f, Cn as p, Ct as m, D as h, Dn as g, En as _, F as v, Ft as y, G as b, Gn as x, Hn as S, Ht as C, I as w, It as T, J as E, Jn as D, Jt as O, K as ee, Kn as k, Kt as A, L as j, Lt as M, Mt as te, N as ne, Nn as re, Nt as ie, O as ae, On as oe, P as se, Pt as ce, Qn as le, Qt as ue, R as de, Rt as fe, St as pe, Tt as me, Un as he, Ut as ge, Vn as _e, Vt as ve, Wn as ye, Wt as be, X as xe, Xn as Se, Xt as Ce, Y as we, Yn as Te, Yt as Ee, Zn as N, Zt as De, _ as Oe, _n as ke, a as Ae, ar as je, at as Me, bt as Ne, c as Pe, cn as Fe, cr as Ie, ct as Le, dn as Re, dr as P, en as ze, er as F, fn as Be, fr as I, ft as Ve, gt as He, hn as Ue, ht as We, i as Ge, in as Ke, ir as qe, it as Je, j as Ye, jn as Xe, jt as L, k as Ze, kn as Qe, kt as $e, l as et, ln as tt, lr as nt, lt as rt, mn as it, n as at, nn as ot, nr as st, nt as ct, o as lt, on as ut, or as dt, pt as ft, q as pt, qn as mt, qt as ht, r as gt, rn as _t, rr as R, rt as z, s as vt, sn as yt, sr as bt, t as xt, tn as St, tr as Ct, un as wt, ur as B, ut as Tt, vn as Et, vt as Dt, wn as Ot, yn as kt, z as At, zn as V, zt as jt } from "./useCurrentScreen-D3XH5ptA.js";
3
- import { _ as Mt, a as Nt, c as Pt, d as Ft, f as It, g as Lt, h as Rt, i as zt, l as Bt, m as Vt, n as Ht, o as Ut, p as Wt, r as Gt, s as Kt, t as qt, u as Jt } from "./RefreshControl-BS8WWL8i.js";
4
- import { a as Yt, d as Xt, f as Zt, i as Qt, n as $t, o as en, r as tn, s as nn, t as rn, u as an } from "./registry-CgeGoWpW.js";
2
+ import { $n as i, $t as a, A as o, An as s, At as c, B as l, Bn as u, Bt as d, C as f, Cn as p, Ct as m, D as h, Dn as g, En as _, F as v, Ft as y, G as b, Gn as x, Hn as S, Ht as C, I as w, It as T, J as E, Jn as D, Jt as O, K as ee, Kn as k, Kt as A, L as j, Lt as M, Mt as te, N as ne, Nn as re, Nt as ie, O as ae, On as oe, P as se, Pt as ce, Qn as le, Qt as ue, R as de, Rt as fe, St as pe, Tt as me, Un as he, Ut as ge, Vn as _e, Vt as ve, Wn as ye, Wt as be, X as xe, Xn as Se, Xt as Ce, Y as we, Yn as Te, Yt as Ee, Zn as N, Zt as De, _ as Oe, _n as ke, a as Ae, ar as je, at as Me, bt as Ne, c as Pe, cn as Fe, cr as Ie, ct as Le, dn as Re, dr as P, en as ze, er as F, fn as Be, fr as I, ft as Ve, gt as He, hn as Ue, ht as We, i as Ge, in as Ke, ir as qe, it as Je, j as Ye, jn as Xe, jt as L, k as Ze, kn as Qe, kt as $e, l as et, ln as tt, lr as nt, lt as rt, mn as it, n as at, nn as ot, nr as st, nt as ct, o as lt, on as ut, or as dt, pt as ft, q as pt, qn as mt, qt as ht, r as gt, rn as _t, rr as R, rt as z, s as vt, sn as yt, sr as bt, t as xt, tn as St, tr as Ct, un as wt, ur as B, ut as Tt, vn as Et, vt as Dt, wn as Ot, yn as kt, z as At, zn as V, zt as jt } from "./useCurrentScreen-74x5yJNb.js";
3
+ import { _ as Mt, a as Nt, c as Pt, d as Ft, f as It, g as Lt, h as Rt, i as zt, l as Bt, m as Vt, n as Ht, o as Ut, p as Wt, r as Gt, s as Kt, t as qt, u as Jt } from "./RefreshControl-C-8UCyau.js";
4
+ import { a as Yt, d as Xt, f as Zt, i as Qt, n as $t, o as en, r as tn, s as nn, t as rn, u as an } from "./registry-p6CejATt.js";
5
5
  import { n as on, t as sn } from "./record-documents-key-8fdm7C10.js";
6
6
  import { t as cn } from "./Check-DAfMbQIw.js";
7
- import { A as ln, B as un, C as dn, D as fn, F as H, H as pn, I as mn, L as U, M as hn, N as gn, O as W, P as _n, R as vn, T as yn, U as bn, V as xn, _ as Sn, a as Cn, b as wn, c as Tn, f as En, i as Dn, j as On, k as kn, l as An, m as jn, n as Mn, o as Nn, p as Pn, r as Fn, s as In, t as Ln, u as Rn, v as zn, x as Bn, y as Vn, z as Hn } from "./field-classification-Bm0mgbwA.js";
8
- import { C as Un, S as Wn, _ as Gn, a as Kn, b as qn, c as Jn, g as Yn, i as Xn, n as Zn, o as Qn, r as $n, s as er, t as tr, v as nr, x as rr, y as ir } from "./action-dispatch-hVrm3Hrg.js";
9
- import { S as ar, _ as or, a as sr, b as cr, d as lr, f as ur, g as dr, h as fr, o as pr, p as mr, r as hr, s as gr, t as _r, v as vr, x as yr, y as br } from "./useTabSearchMirror-d0BAUIcQ.js";
10
- import { a as xr, c as Sr, d as Cr, f as wr, i as Tr, l as Er, m as Dr, n as Or, o as kr, p as Ar, r as jr, s as Mr, t as Nr, u as Pr } from "./format-count-BfRGwx2v.js";
11
- import { n as Fr, r as Ir, t as Lr } from "./useProperties-DNocaxBX.js";
7
+ import { A as ln, B as un, C as dn, D as fn, F as H, H as pn, I as mn, L as U, M as hn, N as gn, O as W, P as _n, R as vn, T as yn, U as bn, V as xn, _ as Sn, a as Cn, b as wn, c as Tn, f as En, i as Dn, j as On, k as kn, l as An, m as jn, n as Mn, o as Nn, p as Pn, r as Fn, s as In, t as Ln, u as Rn, v as zn, x as Bn, y as Vn, z as Hn } from "./field-classification-CeYJlsNq.js";
8
+ import { C as Un, S as Wn, _ as Gn, a as Kn, b as qn, c as Jn, g as Yn, i as Xn, n as Zn, o as Qn, r as $n, s as er, t as tr, v as nr, x as rr, y as ir } from "./action-dispatch-C28UhXXA.js";
9
+ import { S as ar, _ as or, a as sr, b as cr, d as lr, f as ur, g as dr, h as fr, o as pr, p as mr, r as hr, s as gr, t as _r, v as vr, x as yr, y as br } from "./useTabSearchMirror-D_wzoYRz.js";
10
+ import { a as xr, c as Sr, d as Cr, f as wr, i as Tr, l as Er, m as Dr, n as Or, o as kr, p as Ar, r as jr, s as Mr, t as Nr, u as Pr } from "./format-count-C3N-WxEy.js";
11
+ import { n as Fr, r as Ir, t as Lr } from "./useProperties-C5fZp12D.js";
12
12
  import { Fragment as Rr, Suspense as zr, createElement as Br, lazy as Vr, useCallback as G, useEffect as K, useMemo as q, useRef as J, useState as Y } from "react";
13
13
  import { BrowserRouter as Hr, Link as Ur, Navigate as Wr, Outlet as Gr, Route as X, Routes as Kr, useLocation as qr, useLocation as Jr, useNavigate as Yr, useNavigate as Xr, useNavigationType as Zr, useParams as Qr, useSearchParams as $r, useSearchParams as ei } from "react-router";
14
14
  import { QueryClient as ti, QueryClientProvider as ni, useInfiniteQuery as ri, useMutation as ii, useQuery as ai, useQueryClient as oi } from "@tanstack/react-query";
@@ -9014,7 +9014,7 @@ function xc({ code: e, action: t }) {
9014
9014
  }
9015
9015
  //#endregion
9016
9016
  //#region src/components/pages/SmartListPage.tsx
9017
- var Sc = Vr(() => import("./SmartListPage.impl-CNdq5Vts.js").then((e) => ({ default: e.SmartListPage })));
9017
+ var Sc = Vr(() => import("./SmartListPage.impl-yKBK7a8b.js").then((e) => ({ default: e.SmartListPage })));
9018
9018
  function Cc(e) {
9019
9019
  return /* @__PURE__ */ Q(zr, {
9020
9020
  fallback: null,
@@ -9023,7 +9023,7 @@ function Cc(e) {
9023
9023
  }
9024
9024
  //#endregion
9025
9025
  //#region src/components/pages/SmartDetailPage.tsx
9026
- var wc = Vr(() => import("./SmartDetailPage.impl-DxRDo0p2.js").then((e) => ({ default: e.SmartDetailPage })));
9026
+ var wc = Vr(() => import("./SmartDetailPage.impl-DWjNQ052.js").then((e) => ({ default: e.SmartDetailPage })));
9027
9027
  function Tc(e) {
9028
9028
  return /* @__PURE__ */ Q(zr, {
9029
9029
  fallback: null,
@@ -9032,7 +9032,7 @@ function Tc(e) {
9032
9032
  }
9033
9033
  //#endregion
9034
9034
  //#region src/components/pages/SmartRecordListPage.tsx
9035
- var Ec = Vr(() => import("./SmartRecordListPage.impl-3ct7f4rT.js").then((e) => ({ default: e.SmartRecordListPage })));
9035
+ var Ec = Vr(() => import("./SmartRecordListPage.impl-DRpU_DOC.js").then((e) => ({ default: e.SmartRecordListPage })));
9036
9036
  function Dc(e) {
9037
9037
  return /* @__PURE__ */ Q(zr, {
9038
9038
  fallback: null,
@@ -9099,10 +9099,10 @@ function Oc() {
9099
9099
  //#endregion
9100
9100
  //#region src/lib/capabilityPrefetch.ts
9101
9101
  var kc = [
9102
- () => import("./MarkdownRenderer-CJrVG5HZ.js"),
9102
+ () => import("./MarkdownRenderer-B9_5fwuE.js"),
9103
9103
  () => import("./JsonEditor-DoNmyrYd.js"),
9104
- () => import("./Grid-BkHtfsty.js"),
9105
- () => import("./DraggableChildrenTable-Dar8C-Z9.js")
9104
+ () => import("./Grid-DUjbQg3r.js"),
9105
+ () => import("./DraggableChildrenTable-CJCjc_cd.js")
9106
9106
  ];
9107
9107
  function Ac() {
9108
9108
  for (let e of kc) e().catch(() => {});
@@ -1,5 +1,5 @@
1
1
  import { s as e } from "./DynamicIcon-DW5krHuX.js";
2
- import { Bn as t, Dn as n, bt as r, cr as i, er as a, fr as o, i as s, rr as c } from "./useCurrentScreen-D3XH5ptA.js";
2
+ import { Bn as t, Dn as n, bt as r, cr as i, er as a, fr as o, i as s, rr as c } from "./useCurrentScreen-74x5yJNb.js";
3
3
  import { useMemo as l, useRef as u, useState as d } from "react";
4
4
  import { useQuery as f } from "@tanstack/react-query";
5
5
  import { Fragment as p, jsx as m, jsxs as h } from "react/jsx-runtime";
@@ -1,7 +1,7 @@
1
1
  import { s as e, t } from "./DynamicIcon-DW5krHuX.js";
2
- import { $n as n, A as r, At as i, Bn as a, C as o, Cn as s, Dn as c, E as l, En as u, Gt as d, Jn as f, K as p, Nn as m, O as h, Sn as g, St as _, T as v, X as y, Zn as b, _ as x, _t as S, b as C, bt as w, cr as T, d as E, dr as D, er as O, fr as k, gn as A, gt as j, i as M, j as N, kt as P, rr as ee, rt as F, u as I, ur as L, v as R, vt as te, wn as z, wt as B, yt as V, zn as H } from "./useCurrentScreen-D3XH5ptA.js";
3
- import { g as ne, h as U, j as re } from "./field-classification-Bm0mgbwA.js";
4
- import { c as ie, l as ae, o as oe, t as se } from "./action-dispatch-hVrm3Hrg.js";
2
+ import { $n as n, A as r, At as i, Bn as a, C as o, Cn as s, Dn as c, E as l, En as u, Gt as d, Jn as f, K as p, Nn as m, O as h, Sn as g, St as _, T as v, X as y, Zn as b, _ as x, _t as S, b as C, bt as w, cr as T, d as E, dr as D, er as O, fr as k, gn as A, gt as j, i as M, j as N, kt as P, rr as ee, rt as F, u as I, ur as L, v as R, vt as te, wn as z, wt as B, yt as V, zn as H } from "./useCurrentScreen-74x5yJNb.js";
3
+ import { g as ne, h as U, j as re } from "./field-classification-CeYJlsNq.js";
4
+ import { c as ie, l as ae, o as oe, t as se } from "./action-dispatch-C28UhXXA.js";
5
5
  import { n as ce, r as le, t as W } from "./dataTableStyles-vwD1mVOP.js";
6
6
  import { Component as ue, useCallback as G, useEffect as de, useId as K, useMemo as q, useRef as J, useState as Y } from "react";
7
7
  import { useInfiniteQuery as fe, useQuery as pe, useQueryClient as X } from "@tanstack/react-query";
@@ -1,4 +1,4 @@
1
- import { Dt as e, Et as t, Ot as n, ft as r, jt as i, nr as a, r as o, t as s, yt as c } from "./useCurrentScreen-D3XH5ptA.js";
1
+ import { Dt as e, Et as t, Ot as n, ft as r, jt as i, nr as a, r as o, t as s, yt as c } from "./useCurrentScreen-74x5yJNb.js";
2
2
  import { useState as l } from "react";
3
3
  import { MemoryRouter as u, useLocation as d } from "react-router";
4
4
  import { QueryClient as f, QueryClientProvider as p } from "@tanstack/react-query";
@@ -22,6 +22,9 @@ export interface FileNamedSlotDef {
22
22
  storage_backend?: string;
23
23
  }
24
24
  export interface FileFieldDef {
25
+ /** The field's code, populated by the hydrator from the enclosing map key -
26
+ * not a label a person reads. `OrderedMap.fromObject` takes bodies as
27
+ * `Omit<_, "name">`, so a body cannot state it. */
25
28
  name: string;
26
29
  mode: FileFieldMode;
27
30
  accepts?: string[];
@@ -16,10 +16,17 @@ export declare class OrderedMap<T extends {
16
16
  }> implements Iterable<[string, T]> {
17
17
  #private;
18
18
  constructor(items: readonly T[]);
19
- /** Build from a `{ name: value }` object, populating each value's `name`
20
- * field from the object key. Insertion order is the JS property order. */
19
+ /** Build from a `{ name: body }` object written in code: the key supplies
20
+ * `name`, insertion order is the JS property order, and bodies are
21
+ * type-checked. The wire equivalent, whose bodies cannot be, is `fromWire`. */
21
22
  static fromObject<T extends {
22
23
  name?: string;
24
+ }>(raw: Readonly<Record<string, Omit<T, "name">>> | null | undefined): OrderedMap<T>;
25
+ /** Build from a `{ name: body }` object decoded from JSON. Bodies are
26
+ * `unknown` and the cast to T is a claim about the server's envelope, not a
27
+ * check; anything written in code goes through `fromObject`, which checks. */
28
+ static fromWire<T extends {
29
+ name?: string;
23
30
  }>(raw: Readonly<Record<string, unknown>> | null | undefined): OrderedMap<T>;
24
31
  get length(): number;
25
32
  has(name: string): boolean;
@@ -553,9 +553,10 @@ export interface WidgetNode {
553
553
  options?: Record<string, unknown>;
554
554
  }
555
555
  export interface LayoutField {
556
- name: string;
556
+ code: string;
557
557
  actions?: Action[];
558
558
  structure?: string;
559
+ detail_screen?: string;
559
560
  }
560
561
  export interface LayoutNode {
561
562
  row?: RowConfig;
@@ -1350,6 +1350,12 @@ var L = class e {
1350
1350
  this.#t = t;
1351
1351
  }
1352
1352
  static fromObject(t) {
1353
+ return e.#n(t);
1354
+ }
1355
+ static fromWire(t) {
1356
+ return e.#n(t);
1357
+ }
1358
+ static #n(t) {
1353
1359
  if (!t) return new e([]);
1354
1360
  let n = [];
1355
1361
  for (let [e, r] of Object.entries(t)) n.push({
@@ -2156,13 +2162,13 @@ async function Y(e, t = {}) {
2156
2162
  function Fn(e) {
2157
2163
  return {
2158
2164
  ...e,
2159
- params: e.params ? L.fromObject(e.params) : void 0
2165
+ params: e.params ? L.fromWire(e.params) : void 0
2160
2166
  };
2161
2167
  }
2162
2168
  function In(e) {
2163
2169
  return {
2164
2170
  ...e,
2165
- resolved_params: e.resolved_params ? L.fromObject(e.resolved_params) : void 0
2171
+ resolved_params: e.resolved_params ? L.fromWire(e.resolved_params) : void 0
2166
2172
  };
2167
2173
  }
2168
2174
  function Ln(e) {
@@ -2172,9 +2178,9 @@ function Ln(e) {
2172
2178
  if (e.actions) for (let [t, r] of Object.entries(e.actions)) n[t] = In(r);
2173
2179
  return {
2174
2180
  ...e,
2175
- fields: L.fromObject(e.fields),
2176
- files: e.files ? L.fromObject(e.files) : void 0,
2177
- variants: e.variants ? L.fromObject(e.variants) : void 0,
2181
+ fields: L.fromWire(e.fields),
2182
+ files: e.files ? L.fromWire(e.files) : void 0,
2183
+ variants: e.variants ? L.fromWire(e.variants) : void 0,
2178
2184
  handlers: e.handlers ? t : void 0,
2179
2185
  actions: e.actions ? n : void 0
2180
2186
  };
@@ -2185,7 +2191,7 @@ function Rn(e) {
2185
2191
  let n = {};
2186
2192
  if (e.structures) for (let [t, r] of Object.entries(e.structures)) n[t] = {
2187
2193
  ...r,
2188
- fields: L.fromObject(r.fields)
2194
+ fields: L.fromWire(r.fields)
2189
2195
  };
2190
2196
  let r = {};
2191
2197
  if (e.handlers) for (let [t, n] of Object.entries(e.handlers)) r[t] = Fn(n);
@@ -2196,7 +2202,7 @@ function Rn(e) {
2196
2202
  let n = t;
2197
2203
  a[e] = {
2198
2204
  ...t,
2199
- variants: n.variants ? L.fromObject(n.variants) : void 0
2205
+ variants: n.variants ? L.fromWire(n.variants) : void 0
2200
2206
  };
2201
2207
  }
2202
2208
  return {
@@ -3048,7 +3054,7 @@ var Z = {
3048
3054
  update: ri,
3049
3055
  dismiss: (e) => v.dismiss(e),
3050
3056
  dismissAll: () => v.dismiss()
3051
- }, ii = o(() => import("./MarkdownRenderer-CJrVG5HZ.js").then((e) => ({ default: e.MarkdownRenderer })));
3057
+ }, ii = o(() => import("./MarkdownRenderer-B9_5fwuE.js").then((e) => ({ default: e.MarkdownRenderer })));
3052
3058
  function ai() {
3053
3059
  return /* @__PURE__ */ b("div", { className: "h-4 w-2/3 rounded bg-muted animate-pulse" });
3054
3060
  }
@@ -5046,19 +5052,19 @@ function co(e, t, n) {
5046
5052
  //#endregion
5047
5053
  //#region src/components/fields/cells/factories/refLink.tsx
5048
5054
  var lo = (e) => {
5049
- let { field: t, entities: r, screens: i, refs: a, surface: o } = e, s = t.ref?.entity, c = s ? r?.[s] : void 0, l = typeof a == "function" ? a : () => a, u = o === "detail", d = c?.display?.icon, f = t.display?.ref_display_field || "$display", p = c?.detail_screen, m = (p ? i?.[p] : void 0)?.route;
5055
+ let { field: t, entities: r, screens: i, refs: a, surface: o, detailScreen: s } = e, c = t.ref?.entity, l = c ? r?.[c] : void 0, u = typeof a == "function" ? a : () => a, d = o === "detail", f = l?.display?.icon, p = t.display?.ref_display_field || "$display", m = s || l?.detail_screen, h = (m ? i?.[m] : void 0)?.route;
5050
5056
  return (e, t) => {
5051
5057
  if (e == null || e === "") return "—";
5052
- let r = R(e), i = uo(r, s, l(), f), a = m ? m.replace(":id", encodeURIComponent(r)) : void 0;
5053
- if (u) {
5054
- let e = /* @__PURE__ */ x(y, { children: [d && /* @__PURE__ */ b("span", {
5058
+ let r = R(e), i = uo(r, c, u(), p), a = h ? h.replace(":id", encodeURIComponent(r)) : void 0;
5059
+ if (d) {
5060
+ let e = /* @__PURE__ */ x(y, { children: [f && /* @__PURE__ */ b("span", {
5055
5061
  style: {
5056
5062
  color: "var(--text-3)",
5057
5063
  display: "flex",
5058
5064
  flexShrink: 0
5059
5065
  },
5060
5066
  children: /* @__PURE__ */ b(n, {
5061
- name: d,
5067
+ name: f,
5062
5068
  size: 13
5063
5069
  })
5064
5070
  }), /* @__PURE__ */ b("span", {
@@ -5737,7 +5743,8 @@ function Cs(e) {
5737
5743
  entities: e.entities,
5738
5744
  screens: e.screens,
5739
5745
  refs: e.refs,
5740
- locale: e.locale
5746
+ locale: e.locale,
5747
+ detailScreen: e.detailScreen
5741
5748
  })(e.value, e.record ?? {});
5742
5749
  }
5743
5750
  //#endregion
@@ -1,6 +1,6 @@
1
- import { J as e, X as t, Y as n } from "./useCurrentScreen-D3XH5ptA.js";
2
- import { y as r } from "./field-classification-Bm0mgbwA.js";
3
- import { _ as i, y as a } from "./useTabSearchMirror-d0BAUIcQ.js";
1
+ import { J as e, X as t, Y as n } from "./useCurrentScreen-74x5yJNb.js";
2
+ import { y as r } from "./field-classification-CeYJlsNq.js";
3
+ import { _ as i, y as a } from "./useTabSearchMirror-D_wzoYRz.js";
4
4
  import { useCallback as o, useEffect as s, useMemo as c, useState as l } from "react";
5
5
  import { useQueryClient as u } from "@tanstack/react-query";
6
6
  //#region src/components/pages/list/useListQuery.ts