@declarion/react 0.106.0 → 0.109.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/dist-lib/api/agents.js +8 -7
- package/dist-lib/api/client.js +48 -49
- package/dist-lib/components/agents/AgentChatPanel.impl.js +362 -301
- package/dist-lib/components/agents/ChatAttachments.js +144 -0
- package/dist-lib/components/agents/transcript-runs.js +1 -1
- package/dist-lib/components/chrome/AssociationTabs.js +89 -75
- package/dist-lib/components/detail-layout/AssociatedBlock.js +243 -235
- package/dist-lib/components/detail-layout/ChildrenCards.js +57 -55
- package/dist-lib/components/detail-layout/ChildrenList.js +45 -43
- package/dist-lib/components/detail-layout/ChildrenTable.js +93 -91
- package/dist-lib/components/detail-layout/ChildrenTimeline.js +160 -155
- package/dist-lib/components/detail-layout/widgets/EntityScorecardWidget.js +127 -121
- package/dist-lib/components/fields/RefCombobox.js +53 -48
- package/dist-lib/components/fields/index.js +1 -0
- package/dist-lib/components/file-widgets/useFileSelection.js +152 -0
- package/dist-lib/components/pages/SmartDetailPage.impl.js +506 -482
- package/dist-lib/components/pages/SmartRecordListPage.impl.js +335 -300
- package/dist-lib/components/pages/tenant-params/TenantParamsPage.impl.js +112 -109
- package/dist-lib/components/params/ParamsBlock.js +18 -15
- package/dist-lib/components/params/param-editors.js +60 -54
- package/dist-lib/components/primitives/RetryButton.js +14 -0
- package/dist-lib/components/primitives/StatTile.js +42 -34
- package/dist-lib/hooks/useAgentConversation.js +18 -13
- package/dist-lib/hooks/useParams.js +54 -52
- package/dist-lib/hooks/useSchema.js +5 -2
- package/dist-lib/hooks/useTimelineData.js +26 -24
- package/dist-lib/index.d.ts +89 -5
- package/dist-lib/index.js +95 -93
- package/dist-lib/lib/read-display-state.js +19 -0
- package/dist-lib/stores/auth.js +1 -0
- package/dist-lib/testing.d.ts +1 -1
- package/dist-lib/types/fieldType.js +1 -1
- package/dist-lib/{useResponsiveMode-ECv1AEhv.d.ts → useResponsiveMode-DODbtSrY.d.ts} +3 -0
- package/package.json +1 -1
|
@@ -1,44 +1,46 @@
|
|
|
1
1
|
import { apiFetch as e } from "../api/client.js";
|
|
2
2
|
import { pkValuesFromId as t } from "../types/schema.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { readDisplayState as n } from "../lib/read-display-state.js";
|
|
4
|
+
import { ENTITY_CHILDREN_KEY as r } from "./useChildrenData.js";
|
|
5
|
+
import { useMemo as i } from "react";
|
|
6
|
+
import { useInfiniteQuery as a } from "@tanstack/react-query";
|
|
6
7
|
//#region src/hooks/useTimelineData.ts
|
|
7
|
-
var
|
|
8
|
-
function
|
|
9
|
-
let
|
|
8
|
+
var o = 50;
|
|
9
|
+
function s(s, c, l, u, d, f) {
|
|
10
|
+
let p = Array.isArray(u) ? u : [u], m = Array.isArray(u) ? t(c, p.length) : [c], h = f ?? o, g = a({
|
|
10
11
|
queryKey: [
|
|
11
|
-
|
|
12
|
-
o,
|
|
12
|
+
r,
|
|
13
13
|
s,
|
|
14
14
|
c,
|
|
15
|
+
l,
|
|
15
16
|
"timeline",
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
d,
|
|
18
|
+
h
|
|
18
19
|
],
|
|
19
20
|
queryFn: ({ pageParam: t }) => {
|
|
20
21
|
let n = new URLSearchParams();
|
|
21
|
-
if (!
|
|
22
|
-
let r =
|
|
22
|
+
if (!m) throw Error("invalid composite parent id");
|
|
23
|
+
let r = p.map((e, t) => ({
|
|
23
24
|
field: e,
|
|
24
25
|
op: "eq",
|
|
25
|
-
value:
|
|
26
|
+
value: m[t]
|
|
26
27
|
}));
|
|
27
|
-
return n.set("filters", JSON.stringify(r)),
|
|
28
|
+
return n.set("filters", JSON.stringify(r)), d ? n.set("sort", `${d}:desc`) : typeof console < "u" && console.warn(`[useTimelineData] no time_field for ${l}; fetch order falls back to API default`), n.set("limit", String(h)), t && n.set("after", t), e(`/api/data/${l}?${n.toString()}`);
|
|
28
29
|
},
|
|
29
30
|
getNextPageParam: (e) => e.meta?.has_more ? e.meta.cursor : void 0,
|
|
30
31
|
initialPageParam: void 0,
|
|
31
|
-
enabled: !!
|
|
32
|
-
});
|
|
32
|
+
enabled: !!s && !!c && !!l && !!u && m !== null
|
|
33
|
+
}), _ = i(() => g.data?.pages.flatMap((e) => e.data) ?? [], [g.data?.pages]), v = g.data?.pages[0]?.$refs, y = n(g);
|
|
33
34
|
return {
|
|
34
|
-
rows:
|
|
35
|
-
refs:
|
|
36
|
-
fetchNextPage:
|
|
37
|
-
hasOlder: !!
|
|
38
|
-
isFetchingOlder:
|
|
39
|
-
isLoading:
|
|
40
|
-
isError:
|
|
35
|
+
rows: _,
|
|
36
|
+
refs: v,
|
|
37
|
+
fetchNextPage: g.fetchNextPage,
|
|
38
|
+
hasOlder: !!g.hasNextPage,
|
|
39
|
+
isFetchingOlder: g.isFetchingNextPage,
|
|
40
|
+
isLoading: y.loading,
|
|
41
|
+
isError: y.error !== null,
|
|
42
|
+
retry: y.retry
|
|
41
43
|
};
|
|
42
44
|
}
|
|
43
45
|
//#endregion
|
|
44
|
-
export {
|
|
46
|
+
export { s as useTimelineData };
|
package/dist-lib/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { i as DynamicIcon, n as IconName, r as IconProps, t as Icon } from "./Icons-Dzl-AkD_.js";
|
|
2
2
|
import { i as setIconRegistry, n as getIcon, t as IconDef } from "./icon-registry-CUT4eF63.js";
|
|
3
|
-
import { $ as AreaDef, $t as HydratedFile, A as EnrichedRow, At as MANDATORY_LANGUAGE, B as Refs, Bt as FilterValueResolver, C as ApiErrorBody, Ct as fieldDisplayName, D as CURSOR_SEMANTICS_MISMATCH, Dt as pkValuesToDetailId, E as CURSOR_LANGUAGE_CHANGED, Et as pkValuesFromId, F as LoginResponse, Ft as pluralText, G as V2ListParams, Gt as parseFilterURLState, H as StatusInfo, Ht as OP_LABELS, I as ParamLookup, It as textWithNodes, J as V2ParamInstance, Jt as FileAddress, K as V2ListResponse, Kt as parseFiltersFromURL, L as PropertyValue, Lt as FilterNode, M as ListMeta, Mt as TextVars, N as ListParams, Nt as makeTextFn, O as CheckSetupResponse, Ot as pkValuesToId, P as ListResponse, Pt as pickLocalized, Q as Action, Qt as FileFieldValue, R as PublicParam, Rt as FilterOp, S as ApiError, St as extractPkValues, T as BrandingIdentity, Tt as pkValuePartsToId, U as Tenant, Ut as countActiveFilters, V as SignupResponse, Vt as NO_VALUE_OPS, W as TenantEnv, Wt as hasOrGroups, X as V2StatusInstance, Xt as FileFieldDisplay, Y as V2PropertyInstance, Yt as FileFieldDef, Z as isCursorStaleError, Zt as FileFieldMode, _ as executeAction$1, _t as StatusGroupDef, a as ResponsiveMode, at as FieldAccessInfo, b as AggregateParams, bt as buildEntityDetailHref, c as resolveViewportCategory, ct as NavNode, d as ActionExecuteResponse, dt as PropertyDef, en as UploadProgress, et as ChildRelation, f as ActionItemError, ft as RefConfig, g as deleteObject, gt as StatusDef, h as buildActionBody, ht as SpecialValue, i as ResponsiveBreakpoints, it as EnumDef, j as ImpersonationInfo, jt as TextFn, k as DataResponse, kt as resolveDetailRoute, l as ActionBatchError, lt as ParameterDef, m as GetEntityOptions, mt as Screen, n as useResponsiveMode, nn as OrderedMap, nt as Entity, o as ResponsiveViewport, ot as LanguageDef, p as ActionItemSkip, pt as Schema, q as V2Meta, qt as setFiltersInURL, r as DEFAULT_RESPONSIVE_BREAKPOINTS, rt as EntityField, s as ViewportCategory, st as LocalizedString, t as ResponsiveModeProvider, tn as UploadedFile, tt as ClassificationTierDef, u as ActionExecuteRequest, ut as PkValues, v as restoreObject, vt as StructureDef, w as AuthUser, wt as getPrimaryKeyFields, x as AggregateResponse, xt as buildRowDetailHref, y as AggregateGroup, yt as buildDetailHrefFromId, z as PublicParamsResponse, zt as FilterURLState } from "./useResponsiveMode-
|
|
3
|
+
import { $ as AreaDef, $t as HydratedFile, A as EnrichedRow, At as MANDATORY_LANGUAGE, B as Refs, Bt as FilterValueResolver, C as ApiErrorBody, Ct as fieldDisplayName, D as CURSOR_SEMANTICS_MISMATCH, Dt as pkValuesToDetailId, E as CURSOR_LANGUAGE_CHANGED, Et as pkValuesFromId, F as LoginResponse, Ft as pluralText, G as V2ListParams, Gt as parseFilterURLState, H as StatusInfo, Ht as OP_LABELS, I as ParamLookup, It as textWithNodes, J as V2ParamInstance, Jt as FileAddress, K as V2ListResponse, Kt as parseFiltersFromURL, L as PropertyValue, Lt as FilterNode, M as ListMeta, Mt as TextVars, N as ListParams, Nt as makeTextFn, O as CheckSetupResponse, Ot as pkValuesToId, P as ListResponse, Pt as pickLocalized, Q as Action, Qt as FileFieldValue, R as PublicParam, Rt as FilterOp, S as ApiError, St as extractPkValues, T as BrandingIdentity, Tt as pkValuePartsToId, U as Tenant, Ut as countActiveFilters, V as SignupResponse, Vt as NO_VALUE_OPS, W as TenantEnv, Wt as hasOrGroups, X as V2StatusInstance, Xt as FileFieldDisplay, Y as V2PropertyInstance, Yt as FileFieldDef, Z as isCursorStaleError, Zt as FileFieldMode, _ as executeAction$1, _t as StatusGroupDef, a as ResponsiveMode, at as FieldAccessInfo, b as AggregateParams, bt as buildEntityDetailHref, c as resolveViewportCategory, ct as NavNode, d as ActionExecuteResponse, dt as PropertyDef, en as UploadProgress, et as ChildRelation, f as ActionItemError, ft as RefConfig, g as deleteObject, gt as StatusDef, h as buildActionBody, ht as SpecialValue, i as ResponsiveBreakpoints, it as EnumDef, j as ImpersonationInfo, jt as TextFn, k as DataResponse, kt as resolveDetailRoute, l as ActionBatchError, lt as ParameterDef, m as GetEntityOptions, mt as Screen, n as useResponsiveMode, nn as OrderedMap, nt as Entity, o as ResponsiveViewport, ot as LanguageDef, p as ActionItemSkip, pt as Schema, q as V2Meta, qt as setFiltersInURL, r as DEFAULT_RESPONSIVE_BREAKPOINTS, rt as EntityField, s as ViewportCategory, st as LocalizedString, t as ResponsiveModeProvider, tn as UploadedFile, tt as ClassificationTierDef, u as ActionExecuteRequest, ut as PkValues, v as restoreObject, vt as StructureDef, w as AuthUser, wt as getPrimaryKeyFields, x as AggregateResponse, xt as buildRowDetailHref, y as AggregateGroup, yt as buildDetailHrefFromId, z as PublicParamsResponse, zt as FilterURLState } from "./useResponsiveMode-DODbtSrY.js";
|
|
4
4
|
import { ButtonHTMLAttributes, CSSProperties, ComponentType, InputHTMLAttributes, MouseEvent, ReactNode, RefObject } from "react";
|
|
5
5
|
import { QueryClient, QueryKey, UseQueryResult } from "@tanstack/react-query";
|
|
6
6
|
import { useLocation, useNavigate, useParams, useSearchParams } from "react-router";
|
|
@@ -704,6 +704,15 @@ export declare function useText(catalog?: "messages" | "errors"): TextFn;
|
|
|
704
704
|
//#region src/lib/failure.d.ts
|
|
705
705
|
export declare function failureTitle(errorTitle: TextFn, err: unknown): string;
|
|
706
706
|
//#endregion
|
|
707
|
+
//#region src/lib/read-display-state.d.ts
|
|
708
|
+
interface ReadDisplayState {
|
|
709
|
+
loading: boolean;
|
|
710
|
+
error: unknown;
|
|
711
|
+
retry: () => void;
|
|
712
|
+
}
|
|
713
|
+
type ReadQuery = Pick<UseQueryResult<unknown, unknown>, "data" | "error" | "failureReason" | "fetchStatus" | "refetch">;
|
|
714
|
+
export declare function readDisplayState(query: ReadQuery): ReadDisplayState;
|
|
715
|
+
//#endregion
|
|
707
716
|
//#region src/stores/tabs.d.ts
|
|
708
717
|
type TabMode = "view" | "edit" | "create";
|
|
709
718
|
type TabCloseScope = "current" | "others" | "right" | "all";
|
|
@@ -1589,9 +1598,10 @@ type StatTileProps = {
|
|
|
1589
1598
|
footer?: ReactNode;
|
|
1590
1599
|
loading?: boolean;
|
|
1591
1600
|
error?: ReactNode;
|
|
1601
|
+
onRetry?: () => void;
|
|
1592
1602
|
href?: string;
|
|
1593
1603
|
};
|
|
1594
|
-
export declare function StatTile({ label, value, unit, tone, delta, note, footer, loading, error, href }: StatTileProps): import("react").JSX.Element;
|
|
1604
|
+
export declare function StatTile({ label, value, unit, tone, delta, note, footer, loading, error, onRetry, href }: StatTileProps): import("react").JSX.Element;
|
|
1595
1605
|
//#endregion
|
|
1596
1606
|
//#region src/components/primitives/RecordIdBadge.d.ts
|
|
1597
1607
|
type RecordIdBadgeProps = {
|
|
@@ -1895,6 +1905,11 @@ export declare class UploadError extends Error {
|
|
|
1895
1905
|
/** A declared member of this error's type, read the one way. */
|
|
1896
1906
|
ext<T = unknown>(member: string): T | undefined;
|
|
1897
1907
|
}
|
|
1908
|
+
interface UploadFailure {
|
|
1909
|
+
code: string;
|
|
1910
|
+
message: string;
|
|
1911
|
+
detail?: string;
|
|
1912
|
+
}
|
|
1898
1913
|
export declare function uploadFile(opts: UploadOptions): Promise<UploadedFile>;
|
|
1899
1914
|
export declare function discardFile(fileId: string): Promise<void>;
|
|
1900
1915
|
type UploadCheck = {
|
|
@@ -1910,6 +1925,73 @@ type UploadCheck = {
|
|
|
1910
1925
|
export declare function validateClientSide(file: File, accepts: string[] | undefined, maxBytes: number | undefined): UploadCheck | null;
|
|
1911
1926
|
export declare function formatBytes(n: number): string;
|
|
1912
1927
|
//#endregion
|
|
1928
|
+
//#region src/components/file-widgets/useFileSelection.d.ts
|
|
1929
|
+
type FileSelectionState = "uploading" | "failed" | "cancelled" | "ready";
|
|
1930
|
+
interface FileSelection {
|
|
1931
|
+
localId: string;
|
|
1932
|
+
filename: string;
|
|
1933
|
+
sizeBytes: number;
|
|
1934
|
+
state: FileSelectionState;
|
|
1935
|
+
progress: UploadProgress | null;
|
|
1936
|
+
failure: UploadFailure | null;
|
|
1937
|
+
uploaded: UploadedFile | null;
|
|
1938
|
+
}
|
|
1939
|
+
type FileSelectionEvent = {
|
|
1940
|
+
type: "added";
|
|
1941
|
+
localId: string;
|
|
1942
|
+
filename: string;
|
|
1943
|
+
sizeBytes: number;
|
|
1944
|
+
} | {
|
|
1945
|
+
type: "refused";
|
|
1946
|
+
localId: string;
|
|
1947
|
+
filename: string;
|
|
1948
|
+
sizeBytes: number;
|
|
1949
|
+
failure: UploadFailure;
|
|
1950
|
+
} | {
|
|
1951
|
+
type: "progressed";
|
|
1952
|
+
localId: string;
|
|
1953
|
+
progress: UploadProgress;
|
|
1954
|
+
} | {
|
|
1955
|
+
type: "uploaded";
|
|
1956
|
+
localId: string;
|
|
1957
|
+
uploaded: UploadedFile;
|
|
1958
|
+
} | {
|
|
1959
|
+
type: "failed";
|
|
1960
|
+
localId: string;
|
|
1961
|
+
failure: UploadFailure;
|
|
1962
|
+
} | {
|
|
1963
|
+
type: "cancelled";
|
|
1964
|
+
localId: string;
|
|
1965
|
+
} | {
|
|
1966
|
+
type: "removed";
|
|
1967
|
+
localId: string;
|
|
1968
|
+
} | {
|
|
1969
|
+
type: "released";
|
|
1970
|
+
localIds: string[];
|
|
1971
|
+
};
|
|
1972
|
+
export declare function fileSelectionReducer(selections: FileSelection[], event: FileSelectionEvent): FileSelection[];
|
|
1973
|
+
interface FileSelectionSummary {
|
|
1974
|
+
readyFiles: UploadedFile[];
|
|
1975
|
+
uploading: boolean;
|
|
1976
|
+
failed: boolean;
|
|
1977
|
+
settled: boolean;
|
|
1978
|
+
}
|
|
1979
|
+
export declare function summarizeFileSelections(selections: FileSelection[]): FileSelectionSummary;
|
|
1980
|
+
interface UseFileSelectionOptions {
|
|
1981
|
+
entityCode?: string;
|
|
1982
|
+
fieldCode?: string;
|
|
1983
|
+
accepts?: string[];
|
|
1984
|
+
maxSizeBytes?: number;
|
|
1985
|
+
}
|
|
1986
|
+
interface UseFileSelection extends FileSelectionSummary {
|
|
1987
|
+
selections: FileSelection[];
|
|
1988
|
+
add: (files: FileList | File[]) => void;
|
|
1989
|
+
cancel: (localId: string) => void;
|
|
1990
|
+
remove: (localId: string) => void;
|
|
1991
|
+
release: (localIds: string[]) => void;
|
|
1992
|
+
}
|
|
1993
|
+
export declare function useFileSelection({ entityCode, fieldCode, accepts, maxSizeBytes }: UseFileSelectionOptions): UseFileSelection;
|
|
1994
|
+
//#endregion
|
|
1913
1995
|
//#region src/components/file-widgets/cropper.d.ts
|
|
1914
1996
|
interface CropperOptions {
|
|
1915
1997
|
aspectRatio?: number;
|
|
@@ -2211,6 +2293,8 @@ interface AgentMessage {
|
|
|
2211
2293
|
seq: number;
|
|
2212
2294
|
role: AgentRole;
|
|
2213
2295
|
content: AgentContentBlock[];
|
|
2296
|
+
attachments?: HydratedFile[];
|
|
2297
|
+
turn_id?: string | null;
|
|
2214
2298
|
created_at: string;
|
|
2215
2299
|
streaming?: boolean;
|
|
2216
2300
|
}
|
|
@@ -2293,7 +2377,7 @@ interface AgentMessageContext {
|
|
|
2293
2377
|
screen: string;
|
|
2294
2378
|
record?: string;
|
|
2295
2379
|
}
|
|
2296
|
-
export declare function sendMessage(text: string, conversationId: string, context?: AgentMessageContext): Promise<AgentMessage>;
|
|
2380
|
+
export declare function sendMessage(text: string, conversationId: string, context?: AgentMessageContext, attachments?: string[]): Promise<AgentMessage>;
|
|
2297
2381
|
export declare function answerQuestion(invocationId: string, answer: Record<string, unknown>): Promise<void>;
|
|
2298
2382
|
export declare function sendElicitResponse(_conversationId: string, invocationId: string, data: Record<string, unknown>): Promise<void>;
|
|
2299
2383
|
/** What a person permitted: this call alone, or the action for the rest of
|
|
@@ -2386,7 +2470,7 @@ export declare function useAgentConversation(initialConversationId?: string): {
|
|
|
2386
2470
|
turns: AgentTurn[];
|
|
2387
2471
|
invocations: AgentToolInvocation[];
|
|
2388
2472
|
conversations: AgentConversation[];
|
|
2389
|
-
send: (text: string, context?: AgentMessageContext) => Promise<void>;
|
|
2473
|
+
send: (text: string, context?: AgentMessageContext, attachments?: HydratedFile[]) => Promise<void>;
|
|
2390
2474
|
approve: (invocationId: string, scope?: ApprovalScope) => Promise<void>;
|
|
2391
2475
|
reject: (invocationId: string, note?: string) => Promise<void>;
|
|
2392
2476
|
submitInput: (invocationId: string, data: Record<string, unknown>) => Promise<void>;
|
|
@@ -2572,4 +2656,4 @@ export declare function isFieldSoDProtected(schema: Schema | undefined, entity:
|
|
|
2572
2656
|
*/
|
|
2573
2657
|
export declare function fieldAccessInfo(entity: Entity | undefined, fieldName: string): FieldAccessInfo | undefined;
|
|
2574
2658
|
//#endregion
|
|
2575
|
-
export { type Action, ActionBatchError, type ActionExecuteRequest, type ActionExecuteResponse, type ActionItemError, type ActionItemSkip, type ActionListPage, type AgentChatPanelProps, type AgentContentBlock, type AgentConversation, type AgentConversationDrawerProps, type AgentConversationStatus, type AgentElicitFormProps, type AgentInvocationKind, type AgentInvocationStatus, type AgentMessage, type AgentPickerProps, type AgentRole, type AgentToolInvocation, type AgentTurn, type AgentTurnState, type AgentTurnStatus, type AggregateGroup, type AggregateParams, type AggregateResponse, type ApiError, App as Declarion, type ApprovalScope, type AuthShellProps, type AuthUser, type AvailableAgent, type AvatarProps, type BatchOp, type BatchOpResult, type BatchResponse, type BoolToggleProps, type BrandGlyphProps, type BreadcrumbsProps, type BtnKind, type BtnProps, type BtnSize, CURSOR_LANGUAGE_CHANGED, CURSOR_SEMANTICS_MISMATCH, type CanonicalLocation, type ChangePasswordDialogProps, type CheckProps, type CheckSetupResponse, type ChildRelation, type ChipProps, type ClassificationTierDef, type CommandAction, type CommandActionType, type CommandPaletteProps, type CropperOptions, type CropperResult, type Crumb, type CurrencyDisplay, type CurrentScreen, type CursorActionDataResult, type CursorEntityDataParams, type CursorEntityDataResult, type CustomScreenProps, DEFAULT_RESPONSIVE_BREAKPOINTS, type DataResponse, type DateInputProps, type DraftEntry, type DropdownProps, DynamicIcon, type EnrichedRow, type Entity, type EntityField, type EnumDef, type FieldAccessInfo, type FieldLabelProps, type FileAddress, type FileDraftScopeApi, type FileFieldDef, type FileFieldDisplay, type FileFieldMode, type FileWidget, type FileWidgetProps, type FilterNode, type FilterOp, type FilterRecord, type FilterRecordField, type FilterRecordFields, type FilterURLState, type HoverCardAlign, type HoverCardProps, type HydratedFile, Icon, type IconBtnProps, type IconDef, type IconName, type IconProps, type ImageCropper, type InfoTooltipProps, type InlineEditCellProps, type InlineEditKind, type InlineEditTrigger, type JsonFieldProps, type LanguageDef, type LayoutWidget, type LayoutWidgetProps, type ListMeta, type ListParams, type ListResponse, type LiveObjectResult, type LocalizedString, type LoginResponse, MANDATORY_LANGUAGE, MULTIPLE_VALUES, type MassEditTarget, type MassEditTargetKind, type MenuItemProps, type MoneyTextOptions, type MultiSelectProps, NO_VALUE_OPS, type NavNode, OP_LABELS, type ObjectActionBarProps, type ObjectActionBarSlot, type ObjectActionSelection, OrderedMap, type PageStateSetter, type ParameterDef, type PasswordInputProps, type PatchMap, type PillProps, type PillSize, type PillTone, type PkValues, type PropertyDef, type PropertyValue, type PublicParam, type QEFieldProps, type QuickEditCellProps, type QuickPeekFieldSpec, type QuickPeekProps, type RailAreaItem, type RailProps, type RecordIdBadgeProps, type RefComboboxProps, type RefFieldItem, type RefFieldProps, type RefreshControlProps, type Refs, type ResponsiveBreakpoints, type ResponsiveMode, ResponsiveModeProvider, type ResponsiveViewport, type ReturnTarget, type RowFieldProps, type RowHelpers, type RunActionOptions, type Schema, type Screen, type ScreenBack, type ScrollAnchor, type ScrollableVirtualizer, type SectionBadge, type SectionCardProps, type SectionEmphasis, type SelectOption, type SelectProps, type SidebarProps, type StatTileProps, type StatTileTone, type StatusDef, type StatusGroupDef, type StatusInfo, type StructureDef, type TabItem, type TabStripProps, type TagsInputProps, type Tenant, type TenantChipProps, type TextAreaProps, type TextFn, type TextInputProps, type TextVars, type TooltipProps, type TopBarProps, type UploadCheck, type UploadProgress, type UploadedFile, type UseObjectActionsResult, type UseScreenBackOptions, type UseScreenTabOptions, type V2ListParams, type V2ListResponse, type V2Meta, type V2ParamInstance, type V2PropertyInstance, type V2StatusInstance, type ViewFieldProps, type ViewportCategory, buildActionBody, buildDetailHrefFromId, buildEntityDetailHref, buildRowDetailHref, countActiveFilters, deleteObject, executeAction$1 as executeAction, extractPkValues, fieldDisplayName, getIcon, getPrimaryKeyFields, hasOrGroups, isCursorStaleError, makeTextFn, parseFilterURLState, parseFiltersFromURL, pickLocalized, pkValuePartsToId, pkValuesFromId, pkValuesToDetailId, pkValuesToId, pluralText, resolveDetailRoute, resolveViewportCategory, restoreObject, setFiltersInURL, setIconRegistry, textWithNodes, useLocation, useNavigate, useParams, useResponsiveMode, useSearchParams };
|
|
2659
|
+
export { type Action, ActionBatchError, type ActionExecuteRequest, type ActionExecuteResponse, type ActionItemError, type ActionItemSkip, type ActionListPage, type AgentChatPanelProps, type AgentContentBlock, type AgentConversation, type AgentConversationDrawerProps, type AgentConversationStatus, type AgentElicitFormProps, type AgentInvocationKind, type AgentInvocationStatus, type AgentMessage, type AgentPickerProps, type AgentRole, type AgentToolInvocation, type AgentTurn, type AgentTurnState, type AgentTurnStatus, type AggregateGroup, type AggregateParams, type AggregateResponse, type ApiError, App as Declarion, type ApprovalScope, type AuthShellProps, type AuthUser, type AvailableAgent, type AvatarProps, type BatchOp, type BatchOpResult, type BatchResponse, type BoolToggleProps, type BrandGlyphProps, type BreadcrumbsProps, type BtnKind, type BtnProps, type BtnSize, CURSOR_LANGUAGE_CHANGED, CURSOR_SEMANTICS_MISMATCH, type CanonicalLocation, type ChangePasswordDialogProps, type CheckProps, type CheckSetupResponse, type ChildRelation, type ChipProps, type ClassificationTierDef, type CommandAction, type CommandActionType, type CommandPaletteProps, type CropperOptions, type CropperResult, type Crumb, type CurrencyDisplay, type CurrentScreen, type CursorActionDataResult, type CursorEntityDataParams, type CursorEntityDataResult, type CustomScreenProps, DEFAULT_RESPONSIVE_BREAKPOINTS, type DataResponse, type DateInputProps, type DraftEntry, type DropdownProps, DynamicIcon, type EnrichedRow, type Entity, type EntityField, type EnumDef, type FieldAccessInfo, type FieldLabelProps, type FileAddress, type FileDraftScopeApi, type FileFieldDef, type FileFieldDisplay, type FileFieldMode, type FileSelection, type FileSelectionEvent, type FileSelectionState, type FileSelectionSummary, type FileWidget, type FileWidgetProps, type FilterNode, type FilterOp, type FilterRecord, type FilterRecordField, type FilterRecordFields, type FilterURLState, type HoverCardAlign, type HoverCardProps, type HydratedFile, Icon, type IconBtnProps, type IconDef, type IconName, type IconProps, type ImageCropper, type InfoTooltipProps, type InlineEditCellProps, type InlineEditKind, type InlineEditTrigger, type JsonFieldProps, type LanguageDef, type LayoutWidget, type LayoutWidgetProps, type ListMeta, type ListParams, type ListResponse, type LiveObjectResult, type LocalizedString, type LoginResponse, MANDATORY_LANGUAGE, MULTIPLE_VALUES, type MassEditTarget, type MassEditTargetKind, type MenuItemProps, type MoneyTextOptions, type MultiSelectProps, NO_VALUE_OPS, type NavNode, OP_LABELS, type ObjectActionBarProps, type ObjectActionBarSlot, type ObjectActionSelection, OrderedMap, type PageStateSetter, type ParameterDef, type PasswordInputProps, type PatchMap, type PillProps, type PillSize, type PillTone, type PkValues, type PropertyDef, type PropertyValue, type PublicParam, type QEFieldProps, type QuickEditCellProps, type QuickPeekFieldSpec, type QuickPeekProps, type RailAreaItem, type RailProps, type ReadDisplayState, type ReadQuery, type RecordIdBadgeProps, type RefComboboxProps, type RefFieldItem, type RefFieldProps, type RefreshControlProps, type Refs, type ResponsiveBreakpoints, type ResponsiveMode, ResponsiveModeProvider, type ResponsiveViewport, type ReturnTarget, type RowFieldProps, type RowHelpers, type RunActionOptions, type Schema, type Screen, type ScreenBack, type ScrollAnchor, type ScrollableVirtualizer, type SectionBadge, type SectionCardProps, type SectionEmphasis, type SelectOption, type SelectProps, type SidebarProps, type StatTileProps, type StatTileTone, type StatusDef, type StatusGroupDef, type StatusInfo, type StructureDef, type TabItem, type TabStripProps, type TagsInputProps, type Tenant, type TenantChipProps, type TextAreaProps, type TextFn, type TextInputProps, type TextVars, type TooltipProps, type TopBarProps, type UploadCheck, type UploadProgress, type UploadedFile, type UseFileSelection, type UseFileSelectionOptions, type UseObjectActionsResult, type UseScreenBackOptions, type UseScreenTabOptions, type V2ListParams, type V2ListResponse, type V2Meta, type V2ParamInstance, type V2PropertyInstance, type V2StatusInstance, type ViewFieldProps, type ViewportCategory, buildActionBody, buildDetailHrefFromId, buildEntityDetailHref, buildRowDetailHref, countActiveFilters, deleteObject, executeAction$1 as executeAction, extractPkValues, fieldDisplayName, getIcon, getPrimaryKeyFields, hasOrGroups, isCursorStaleError, makeTextFn, parseFilterURLState, parseFiltersFromURL, pickLocalized, pkValuePartsToId, pkValuesFromId, pkValuesToDetailId, pkValuesToId, pluralText, resolveDetailRoute, resolveViewportCategory, restoreObject, setFiltersInURL, setIconRegistry, textWithNodes, useLocation, useNavigate, useParams, useResponsiveMode, useSearchParams };
|
package/dist-lib/index.js
CHANGED
|
@@ -36,97 +36,99 @@ import { Check as le } from "./components/primitives/Check.js";
|
|
|
36
36
|
import { Spinner as ue } from "./components/primitives/Spinner.js";
|
|
37
37
|
import { ClassifiedFieldLocked as de } from "./components/primitives/ClassifiedFieldLocked.js";
|
|
38
38
|
import { DateInput as fe, FieldLabel as pe, JsonField as me, MultiSelect as he, PasswordInput as ge, QuickEditCell as _e, RefField as ve, Select as ye, TagsInput as be, TextArea as xe, TextInput as Se, ViewField as Ce } from "./components/primitives/Fields.js";
|
|
39
|
-
import {
|
|
40
|
-
import {
|
|
41
|
-
import {
|
|
42
|
-
import {
|
|
43
|
-
import {
|
|
44
|
-
import {
|
|
45
|
-
import {
|
|
46
|
-
import {
|
|
47
|
-
import {
|
|
48
|
-
import {
|
|
49
|
-
import {
|
|
50
|
-
import {
|
|
51
|
-
import {
|
|
52
|
-
import {
|
|
53
|
-
import {
|
|
54
|
-
import {
|
|
55
|
-
import {
|
|
56
|
-
import {
|
|
57
|
-
import {
|
|
58
|
-
import {
|
|
59
|
-
import {
|
|
60
|
-
import {
|
|
61
|
-
import {
|
|
62
|
-
import {
|
|
63
|
-
import {
|
|
64
|
-
import {
|
|
65
|
-
import {
|
|
66
|
-
import {
|
|
67
|
-
import {
|
|
68
|
-
import {
|
|
69
|
-
import {
|
|
70
|
-
import {
|
|
71
|
-
import {
|
|
72
|
-
import {
|
|
73
|
-
import {
|
|
74
|
-
import {
|
|
75
|
-
import {
|
|
76
|
-
import {
|
|
77
|
-
import {
|
|
78
|
-
import {
|
|
39
|
+
import { readDisplayState as we } from "./lib/read-display-state.js";
|
|
40
|
+
import { useEffectiveParam as Te, useParam as Ee, usePublicParams as De, useResolvedParam as Oe } from "./hooks/useParams.js";
|
|
41
|
+
import { getIcon as ke, setIconRegistry as Ae } from "./stores/icon-registry.js";
|
|
42
|
+
import { DynamicIcon as je } from "./components/shared/DynamicIcon.js";
|
|
43
|
+
import { Rail as Me } from "./components/layout/Rail.js";
|
|
44
|
+
import { useTabStore as Ne } from "./stores/tabs.js";
|
|
45
|
+
import { ConfirmDialog as Pe } from "./components/shared/ConfirmDialog.js";
|
|
46
|
+
import { useTabNavigate as Fe } from "./hooks/useTabNavigate.js";
|
|
47
|
+
import { entityDataQueryKey as Ie, useEntityCount as Le, useEntityData as Re } from "./hooks/useEntityData.js";
|
|
48
|
+
import { useEntity as ze } from "./hooks/useEntity.js";
|
|
49
|
+
import { useScreen as Be } from "./hooks/useScreen.js";
|
|
50
|
+
import { useViews as Ve } from "./hooks/useViews.js";
|
|
51
|
+
import { Sidebar as He, buildSections as Ue } from "./components/layout/Sidebar.js";
|
|
52
|
+
import { useAuth as We } from "./hooks/useAuth.js";
|
|
53
|
+
import { useImpersonation as Ge } from "./hooks/useImpersonation.js";
|
|
54
|
+
import { TenantChip as Ke, envTone as qe } from "./components/layout/TenantChip.js";
|
|
55
|
+
import { Breadcrumbs as Je } from "./components/chrome/Breadcrumbs.js";
|
|
56
|
+
import { TopBar as Ye } from "./components/layout/TopBar.js";
|
|
57
|
+
import { TabStrip as Xe } from "./components/layout/TabStrip.js";
|
|
58
|
+
import { ImpersonationBanner as Ze } from "./components/layout/ImpersonationBanner.js";
|
|
59
|
+
import { ImpersonationFrame as Qe } from "./components/layout/ImpersonationFrame.js";
|
|
60
|
+
import { CommandPalette as $e } from "./components/layout/CommandPalette.js";
|
|
61
|
+
import { AgentChatPanel as et } from "./components/agents/AgentChatPanel.js";
|
|
62
|
+
import { classificationTier as tt, fieldAccessInfo as nt, fieldClassification as rt, fieldRequiredPermission as it, isFieldReadable as at, isFieldSoDProtected as ot, isFieldWritable as st } from "./lib/field-classification.js";
|
|
63
|
+
import { ACTION_DATA_CURSOR_KEY as ct, ACTION_DATA_KEY as lt, actionDataQueryKey as ut, cursorActionDataQueryKey as dt, useActionData as ft, useCursorActionData as pt } from "./hooks/useActionData.js";
|
|
64
|
+
import { EntityClient as mt, RefCache as ht, entityClient as gt } from "./api/entities.js";
|
|
65
|
+
import { cursorEntityDataQueryKey as _t, cursorEntityStableKey as vt, useCursorEntityData as yt } from "./hooks/useCursorEntityData.js";
|
|
66
|
+
import { ActionRunnerProvider as bt, useActionRunner as xt } from "./components/actions/ActionRunner.js";
|
|
67
|
+
import { canonicalUrl as St } from "./lib/canonical-url.js";
|
|
68
|
+
import { PAGE_STATE_TTL_PARAM as Ct, usePageStateTtl as wt } from "./hooks/usePageStateTtl.js";
|
|
69
|
+
import { useRegisterRetainedQuery as Tt } from "./hooks/usePageStateRuntime.js";
|
|
70
|
+
import { AuthShell as Et } from "./components/pages/auth/AuthShell.js";
|
|
71
|
+
import { SignIn as Dt } from "./components/pages/auth/SignIn.js";
|
|
72
|
+
import { SignUp as Ot } from "./components/pages/auth/SignUp.js";
|
|
73
|
+
import { Forgot as kt } from "./components/pages/auth/Forgot.js";
|
|
74
|
+
import { Reset as Q } from "./components/pages/auth/Reset.js";
|
|
75
|
+
import { TwoFA as At } from "./components/pages/auth/TwoFA.js";
|
|
76
|
+
import { Profile as jt } from "./components/pages/profile/Profile.js";
|
|
77
|
+
import { Preferences as Mt } from "./components/pages/profile/Preferences.js";
|
|
78
|
+
import { registerScreen as Nt } from "./stores/screen-registry.js";
|
|
79
|
+
import { CurrentScreenProvider as Pt, useCurrentScreen as Ft } from "./hooks/useCurrentScreen.js";
|
|
79
80
|
import { App as $ } from "./app.js";
|
|
80
|
-
import { formatMoneyText as
|
|
81
|
-
import { Batch as
|
|
82
|
-
import { useAggregate as
|
|
83
|
-
import { useAllEntityData as
|
|
84
|
-
import { objectQueryKey as
|
|
85
|
-
import { fileReferenceJSONQueryKey as
|
|
86
|
-
import { useDebounce as
|
|
87
|
-
import { RefCombobox as
|
|
88
|
-
import { getFileWidget as
|
|
89
|
-
import { UploadError as
|
|
90
|
-
import { getImageCropper as
|
|
91
|
-
import { FileDraftScope as
|
|
92
|
-
import { SquareImage as
|
|
93
|
-
import { CircleImage as
|
|
94
|
-
import { WideBanner as
|
|
95
|
-
import {
|
|
96
|
-
import {
|
|
97
|
-
import {
|
|
98
|
-
import {
|
|
99
|
-
import {
|
|
100
|
-
import {
|
|
101
|
-
import {
|
|
102
|
-
import {
|
|
103
|
-
import {
|
|
104
|
-
import {
|
|
105
|
-
import {
|
|
106
|
-
import {
|
|
107
|
-
import {
|
|
108
|
-
import {
|
|
109
|
-
import {
|
|
110
|
-
import {
|
|
111
|
-
import {
|
|
112
|
-
import {
|
|
113
|
-
import {
|
|
114
|
-
import {
|
|
115
|
-
import {
|
|
116
|
-
import {
|
|
117
|
-
import {
|
|
118
|
-
import {
|
|
119
|
-
import {
|
|
120
|
-
import {
|
|
121
|
-
import {
|
|
122
|
-
import {
|
|
123
|
-
import {
|
|
124
|
-
import {
|
|
125
|
-
import {
|
|
126
|
-
import {
|
|
127
|
-
import {
|
|
128
|
-
import {
|
|
129
|
-
import {
|
|
130
|
-
import {
|
|
131
|
-
import {
|
|
132
|
-
|
|
81
|
+
import { formatMoneyText as It } from "./lib/money-text.js";
|
|
82
|
+
import { Batch as Lt } from "./api/batch.js";
|
|
83
|
+
import { useAggregate as Rt } from "./hooks/useAggregate.js";
|
|
84
|
+
import { useAllEntityData as zt } from "./hooks/useAllEntityData.js";
|
|
85
|
+
import { objectQueryKey as Bt, useObject as Vt } from "./hooks/useObject.js";
|
|
86
|
+
import { fileReferenceJSONQueryKey as Ht, useFileReferenceJSON as Ut } from "./hooks/useFileReferenceJSON.js";
|
|
87
|
+
import { useDebounce as Wt } from "./hooks/useDebounce.js";
|
|
88
|
+
import { RefCombobox as Gt } from "./components/fields/RefCombobox.js";
|
|
89
|
+
import { getFileWidget as Kt, hasFileWidget as qt, registerFileWidget as Jt } from "./components/file-widgets/registry.js";
|
|
90
|
+
import { UploadError as Yt, discardFile as Xt, formatBytes as Zt, uploadFile as Qt, validateClientSide as $t } from "./components/file-widgets/upload.js";
|
|
91
|
+
import { getImageCropper as en, setImageCropper as tn } from "./components/file-widgets/cropper.js";
|
|
92
|
+
import { FileDraftScope as nn, useDraftRegistration as rn, useFileDraftScope as an } from "./components/file-widgets/draft-scope.js";
|
|
93
|
+
import { SquareImage as on } from "./components/file-widgets/SquareImage.js";
|
|
94
|
+
import { CircleImage as sn } from "./components/file-widgets/CircleImage.js";
|
|
95
|
+
import { WideBanner as cn } from "./components/file-widgets/WideBanner.js";
|
|
96
|
+
import { fileSelectionReducer as ln, summarizeFileSelections as un, useFileSelection as dn } from "./components/file-widgets/useFileSelection.js";
|
|
97
|
+
import { StructureField as fn } from "./components/fields/StructureField.js";
|
|
98
|
+
import { useLiveObject as pn } from "./hooks/useLiveObject.js";
|
|
99
|
+
import { useCreateObject as mn, useDeleteObject as hn, useUpdateObject as gn } from "./hooks/useMutations.js";
|
|
100
|
+
import { useSetStatus as _n } from "./hooks/useObjectStatus.js";
|
|
101
|
+
import { useDeleteProperty as vn, useSetProperty as yn } from "./hooks/useProperties.js";
|
|
102
|
+
import { NO_VALUE_OPS as bn, OP_LABELS as xn, countActiveFilters as Sn, hasOrGroups as Cn, parseFilterURLState as wn, parseFiltersFromURL as Tn, setFiltersInURL as En } from "./lib/filters.js";
|
|
103
|
+
import { useFilters as Dn } from "./hooks/useFilters.js";
|
|
104
|
+
import { useColumns as On } from "./hooks/useColumns.js";
|
|
105
|
+
import { getLayoutWidget as kn, hasLayoutWidget as An, registerLayoutWidget as jn } from "./components/detail-layout/widgets/registry.js";
|
|
106
|
+
import { useScreenBack as Mn } from "./hooks/useScreenBack.js";
|
|
107
|
+
import { usePageState as Nn } from "./hooks/usePageState.js";
|
|
108
|
+
import { useTabSearchMirror as Pn } from "./hooks/useTabSearchMirror.js";
|
|
109
|
+
import { useScreenTab as Fn } from "./hooks/useScreenTab.js";
|
|
110
|
+
import { SCROLL_STATE_KEY as In, usePlainScrollRestoration as Ln, useSavedScrollOffset as Rn, useVirtualScrollRestoration as zn } from "./lib/scroll-restoration.js";
|
|
111
|
+
import { PageHeader as Bn } from "./components/chrome/PageHeader.js";
|
|
112
|
+
import { EmptyState as Vn } from "./components/shared/EmptyState.js";
|
|
113
|
+
import { FilterDrawer as Hn } from "./components/filters/FilterDrawer.js";
|
|
114
|
+
import { FilterChips as Un } from "./components/filters/FilterChips.js";
|
|
115
|
+
import { ColumnPicker as Wn } from "./components/list/ColumnPicker.js";
|
|
116
|
+
import { ViewSwitcher as Gn } from "./components/list/ViewSwitcher.js";
|
|
117
|
+
import { evaluateFilterTree as Kn } from "./lib/filter-evaluator.js";
|
|
118
|
+
import { commonVariantActionCodes as qn, effectiveScreenForRecord as Jn, resolveEntityVariantCode as Yn, resolveScreenVariantCode as Xn, variantActionCodesForRecord as Zn } from "./lib/variants.js";
|
|
119
|
+
import { ObjectActionBar as Qn, useObjectActions as $n } from "./components/actions/ObjectActionBar.js";
|
|
120
|
+
import { RefreshControl as er } from "./components/shared/RefreshControl.js";
|
|
121
|
+
import { QEField as tr, QuickPeek as nr } from "./components/list/QuickPeek.js";
|
|
122
|
+
import { InlineEditCell as rr } from "./components/list/InlineEditCell.js";
|
|
123
|
+
import { ChangePasswordDialog as ir } from "./components/shared/ChangePasswordDialog.js";
|
|
124
|
+
import { ImpersonationStartModal as ar } from "./components/layout/ImpersonationStartModal.js";
|
|
125
|
+
import { AgentElicitForm as or } from "./components/agents/AgentElicitForm.js";
|
|
126
|
+
import { AgentPicker as sr } from "./components/agents/AgentPicker.js";
|
|
127
|
+
import { AgentConversationDrawer as cr } from "./components/agents/AgentConversationDrawer.js";
|
|
128
|
+
import { answerQuestion as lr, approveInvocation as ur, cancelConversation as dr, cancelInvocation as fr, createConversation as pr, listAvailableAgents as mr, listConversations as hr, loadConversationInvocations as gr, loadConversationTurns as _r, loadHistory as vr, rejectInvocation as yr, sendElicitResponse as br, sendMessage as xr } from "./api/agents.js";
|
|
129
|
+
import { useAgentConversation as Sr } from "./hooks/useAgentConversation.js";
|
|
130
|
+
import { formatCount as Cr, formatEstimatedCount as wr, formatExactCount as Tr } from "./lib/format-count.js";
|
|
131
|
+
import { buildMassEditTargets as Er, parseTargetFilter as Dr } from "./lib/mass-edit.js";
|
|
132
|
+
import { MULTIPLE_VALUES as Or, PropertyGridEditor as kr, detectCommonValue as Ar } from "./components/actions/PropertyGridEditor.js";
|
|
133
|
+
import { useLocation as jr, useNavigate as Mr, useParams as Nr, useSearchParams as Pr } from "react-router";
|
|
134
|
+
export { ct as ACTION_DATA_CURSOR_KEY, lt as ACTION_DATA_KEY, k as ActionBatchError, bt as ActionRunnerProvider, et as AgentChatPanel, cr as AgentConversationDrawer, or as AgentElicitForm, sr as AgentPicker, $ as App, Et as AuthShell, B as Avatar, Lt as Batch, se as BoolToggle, V as BrandGlyph, Je as Breadcrumbs, I as Btn, ee as CURSOR_LANGUAGE_CHANGED, te as CURSOR_SEMANTICS_MISMATCH, ir as ChangePasswordDialog, le as Check, K as Chip, sn as CircleImage, de as ClassifiedFieldLocked, Wn as ColumnPicker, $e as CommandPalette, Pe as ConfirmDialog, Pt as CurrentScreenProvider, Z as DEFAULT_RESPONSIVE_BREAKPOINTS, fe as DateInput, $ as Declarion, H as Dropdown, je as DynamicIcon, Vn as EmptyState, mt as EntityClient, pe as FieldLabel, nn as FileDraftScope, Un as FilterChips, Hn as FilterDrawer, kt as Forgot, U as HoverCard, F as Icon, L as IconBtn, Ze as ImpersonationBanner, Qe as ImpersonationFrame, ar as ImpersonationStartModal, W as InfoTooltip, rr as InlineEditCell, me as JsonField, z as Kbd, x as MANDATORY_LANGUAGE, Or as MULTIPLE_VALUES, ce as MenuItem, he as MultiSelect, bn as NO_VALUE_OPS, xn as OP_LABELS, Qn as ObjectActionBar, e as OrderedMap, Ct as PAGE_STATE_TTL_PARAM, Bn as PageHeader, ge as PasswordInput, R as Pill, Mt as Preferences, jt as Profile, kr as PropertyGridEditor, tr as QEField, _e as QuickEditCell, nr as QuickPeek, Me as Rail, X as RecordIdBadge, ht as RefCache, Gt as RefCombobox, ve as RefField, er as RefreshControl, Q as Reset, ie as ResponsiveModeProvider, oe as RowField, In as SCROLL_STATE_KEY, J as SectionCard, ye as Select, He as Sidebar, Dt as SignIn, Ot as SignUp, _ as SmartDetailPage, v as SmartListPage, y as SmartRecordListPage, ue as Spinner, on as SquareImage, Y as StatTile, fn as StructureField, Xe as TabStrip, be as TagsInput, Ke as TenantChip, xe as TextArea, Se as TextInput, G as Tooltip, Ye as TopBar, At as TwoFA, Yt as UploadError, Ce as ViewField, Gn as ViewSwitcher, cn as WideBanner, ut as actionDataQueryKey, lr as answerQuestion, ur as approveInvocation, A as buildActionBody, o as buildDetailHrefFromId, s as buildEntityDetailHref, Er as buildMassEditTargets, c as buildRowDetailHref, Ue as buildSections, dr as cancelConversation, fr as cancelInvocation, St as canonicalUrl, tt as classificationTier, t as coerceDisplayString, qn as commonVariantActionCodes, Sn as countActiveFilters, pr as createConversation, dt as cursorActionDataQueryKey, _t as cursorEntityDataQueryKey, vt as cursorEntityStableKey, j as deleteObject, Ar as detectCommonValue, Xt as discardFile, n as editorWallClock, r as editorWireValue, Jn as effectiveScreenForRecord, gt as entityClient, Ie as entityDataQueryKey, qe as envTone, Kn as evaluateFilterTree, M as executeAction, l as extractPkValues, P as failureTitle, nt as fieldAccessInfo, rt as fieldClassification, u as fieldDisplayName, it as fieldRequiredPermission, Ht as fileReferenceJSONQueryKey, ln as fileSelectionReducer, Zt as formatBytes, Cr as formatCount, wr as formatEstimatedCount, Tr as formatExactCount, It as formatMoneyText, i as formatOffsetTimestamp, Kt as getFileWidget, ke as getIcon, en as getImageCropper, kn as getLayoutWidget, d as getPrimaryKeyFields, qt as hasFileWidget, An as hasLayoutWidget, Cn as hasOrGroups, ne as isCursorStaleError, at as isFieldReadable, ot as isFieldSoDProtected, st as isFieldWritable, mr as listAvailableAgents, hr as listConversations, gr as loadConversationInvocations, _r as loadConversationTurns, vr as loadHistory, S as makeTextFn, Bt as objectQueryKey, wn as parseFilterURLState, Tn as parseFiltersFromURL, Dr as parseTargetFilter, C as pickLocalized, f as pkValuePartsToId, p as pkValuesFromId, m as pkValuesToDetailId, h as pkValuesToId, w as pluralText, we as readDisplayState, Jt as registerFileWidget, jn as registerLayoutWidget, Nt as registerScreen, yr as rejectInvocation, E as reresolveLanguage, g as resolveDetailRoute, Yn as resolveEntityVariantCode, Xn as resolveScreenVariantCode, re as resolveViewportCategory, N as restoreObject, br as sendElicitResponse, xr as sendMessage, En as setFiltersInURL, Ae as setIconRegistry, tn as setImageCropper, un as summarizeFileSelections, T as textWithNodes, Qt as uploadFile, ft as useActionData, xt as useActionRunner, Sr as useAgentConversation, Rt as useAggregate, zt as useAllEntityData, We as useAuth, On as useColumns, mn as useCreateObject, Ft as useCurrentScreen, pt as useCursorActionData, yt as useCursorEntityData, Wt as useDebounce, hn as useDeleteObject, vn as useDeleteProperty, D as useDeploymentLanguage, rn as useDraftRegistration, Te as useEffectiveParam, ze as useEntity, Le as useEntityCount, Re as useEntityData, an as useFileDraftScope, Ut as useFileReferenceJSON, dn as useFileSelection, Dn as useFilters, Ge as useImpersonation, O as useLanguage, pn as useLiveObject, jr as useLocation, Mr as useNavigate, Vt as useObject, $n as useObjectActions, Nn as usePageState, wt as usePageStateTtl, Ee as useParam, Nr as useParams, Ln as usePlainScrollRestoration, De as usePublicParams, Tt as useRegisterRetainedQuery, Oe as useResolvedParam, ae as useResponsiveMode, Rn as useSavedScrollOffset, b as useSchema, Be as useScreen, Mn as useScreenBack, Fn as useScreenTab, Pr as useSearchParams, yn as useSetProperty, _n as useSetStatus, Fe as useTabNavigate, Pn as useTabSearchMirror, Ne as useTabStore, q as useText, gn as useUpdateObject, Ve as useViews, zn as useVirtualScrollRestoration, $t as validateClientSide, Zn as variantActionCodesForRecord, a as zoneMark };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//#region src/lib/read-display-state.ts
|
|
2
|
+
function e(e) {
|
|
3
|
+
let t = () => {
|
|
4
|
+
e.refetch();
|
|
5
|
+
};
|
|
6
|
+
if (e.data !== void 0) return {
|
|
7
|
+
loading: !1,
|
|
8
|
+
error: e.error ?? null,
|
|
9
|
+
retry: t
|
|
10
|
+
};
|
|
11
|
+
let n = e.fetchStatus !== "idle", r = (n ? e.failureReason : e.error) ?? null;
|
|
12
|
+
return {
|
|
13
|
+
loading: n && r === null,
|
|
14
|
+
error: r,
|
|
15
|
+
retry: t
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { e as readDisplayState };
|
package/dist-lib/stores/auth.js
CHANGED
|
@@ -38,6 +38,7 @@ var p = d((r, i) => ({
|
|
|
38
38
|
t === "refresh-first" && (t = await n().then(() => "first-wave", () => "probe-first")), r({ sessionPresumed: t === "first-wave" }), t === "first-wave" && l(), await f(r, i, c), t === "probe-first" && i().isAuthenticated && l();
|
|
39
39
|
},
|
|
40
40
|
reloadSession: () => f(r, i, a),
|
|
41
|
+
recheckSession: () => f(r, i, c),
|
|
41
42
|
refreshMe: async () => {
|
|
42
43
|
try {
|
|
43
44
|
let e = await a(), t = i(), n = t.user?.id !== e.id || t.activeTenant?.id !== e.tenant?.id;
|
package/dist-lib/testing.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as Refs, M as ListMeta, P as ListResponse, d as ActionExecuteResponse, jt as TextFn, k as DataResponse, o as ResponsiveViewport, pt as Schema, st as LocalizedString, u as ActionExecuteRequest } from "./useResponsiveMode-
|
|
1
|
+
import { B as Refs, M as ListMeta, P as ListResponse, d as ActionExecuteResponse, jt as TextFn, k as DataResponse, o as ResponsiveViewport, pt as Schema, st as LocalizedString, u as ActionExecuteRequest } from "./useResponsiveMode-DODbtSrY.js";
|
|
2
2
|
import { ReactElement, ReactNode } from "react";
|
|
3
3
|
import { QueryClient } from "@tanstack/react-query";
|
|
4
4
|
import { RenderResult } from "@testing-library/react";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
//#region src/types/fieldType.ts
|
|
2
|
-
var e = /* @__PURE__ */ "bool.bytes.date.decimal.email.enum.file_ref.float.int.int_array.json.multilang.multilang_array.multilang_text.password.phone.ref.rich_text.secret.string.string_array.structure.tags.text.time.timestamp.url.uuid.uuid_array".split(".");
|
|
2
|
+
var e = /* @__PURE__ */ "bool.bytes.date.decimal.email.enum.file_ref.float.folder_ref.int.int_array.json.multilang.multilang_array.multilang_text.password.phone.ref.rich_text.secret.string.string_array.structure.tags.text.time.timestamp.url.uuid.uuid_array".split(".");
|
|
3
3
|
//#endregion
|
|
4
4
|
export { e as FIELD_TYPES };
|
|
@@ -268,6 +268,9 @@ interface EntityField {
|
|
|
268
268
|
file_ref?: {
|
|
269
269
|
storage_backend: string;
|
|
270
270
|
};
|
|
271
|
+
folder_ref?: {
|
|
272
|
+
storage_backend: string;
|
|
273
|
+
};
|
|
271
274
|
/**
|
|
272
275
|
* Populated by the schema hydrator from the enclosing map key. Tests and
|
|
273
276
|
* fixtures may omit it; production code always receives it set.
|