@ximatai/muyun-web-app 0.26.12 → 0.26.13

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 (122) hide show
  1. package/dist/BusinessActivityLogView-UC4rH4Fn.js +16 -0
  2. package/dist/BusinessLogListDrawer-BtaXVJKz.js +564 -0
  3. package/dist/LoginAuditLogView-Cjrp8MKX.js +16 -0
  4. package/dist/{ModuleActionManagementView-BHEooZ5L.js → ModuleActionManagementView-Dkb35QXc.js} +139 -138
  5. package/dist/{ModuleGovernanceView-DB3TWlMy.js → ModuleGovernanceView-Dx43QvGf.js} +2878 -2748
  6. package/dist/RequestErrorLogView-WnGvMWiF.js +16 -0
  7. package/dist/RoleDetailWorkspaceView-DPDb_QOn.js +1397 -0
  8. package/dist/RuntimeLogView-BRl4ZDkU.js +330 -0
  9. package/dist/http-B0TC0pJB.js +157 -0
  10. package/dist/index.css +1 -1
  11. package/dist/index.js +505 -475
  12. package/dist/{moduleGovernanceWorkspaceView-C5pqJOEJ.js → moduleGovernanceWorkspaceView-4V_UW-Bt.js} +2 -2
  13. package/dist/platform-components-1cvOeHmo.js +17854 -0
  14. package/dist/platform-workbench-Cu14Xd9d.js +10299 -0
  15. package/dist/types/consumer/index.d.ts +7 -0
  16. package/dist/types/dynamic-page-runtime/ModulePageBusinessSession.d.ts +2208 -0
  17. package/dist/types/dynamic-page-runtime/ModulePageBusinessState.vue.d.ts +11 -0
  18. package/dist/types/dynamic-page-runtime/ModulePageHost.vue.d.ts +20 -4
  19. package/dist/types/dynamic-page-runtime/ModulePageHostRuntime.vue.d.ts +4431 -0
  20. package/dist/types/dynamic-page-runtime/ModulePageHostSession.vue.d.ts +43 -0
  21. package/dist/types/dynamic-page-runtime/ModulePageRecordContent.vue.d.ts +2 -2
  22. package/dist/types/dynamic-page-runtime/ModuleRecordDetailActions.vue.d.ts +3 -0
  23. package/dist/types/dynamic-page-runtime/ModuleReferenceRecordDetailBrowser.vue.d.ts +42 -0
  24. package/dist/types/dynamic-page-runtime/RecordFormSurface.vue.d.ts +2 -2
  25. package/dist/types/dynamic-page-runtime/TenantScopeExplorer.vue.d.ts +21 -0
  26. package/dist/types/dynamic-page-runtime/composables/useModulePageActions.d.ts +1 -1
  27. package/dist/types/dynamic-page-runtime/composables/useModulePageDetailActionRuntime.d.ts +5 -0
  28. package/dist/types/dynamic-page-runtime/composables/useNavigatorRuntime.d.ts +1 -0
  29. package/dist/types/dynamic-page-runtime/formActionResult.d.ts +2 -0
  30. package/dist/types/dynamic-page-runtime/index.d.ts +2 -0
  31. package/dist/types/dynamic-page-runtime/inputValidationActionStatus.d.ts +20 -0
  32. package/dist/types/dynamic-page-runtime/modulePageEnhancements.d.ts +7 -3
  33. package/dist/types/dynamic-page-runtime/modulePageUnsavedState.d.ts +10 -0
  34. package/dist/types/dynamic-page-runtime/recordDetailController.d.ts +1 -0
  35. package/dist/types/dynamic-page-runtime/recordMutationPayload.d.ts +3 -2
  36. package/dist/types/dynamic-page-runtime/referenceRecordProjection.d.ts +6 -0
  37. package/dist/types/dynamic-page-runtime/sessionViewBindings.d.ts +3 -0
  38. package/dist/types/dynamic-page-runtime/sourceReferencePickerConfig.d.ts +26 -0
  39. package/dist/types/dynamic-page-runtime/useModulePageSession.d.ts +1728 -0
  40. package/dist/types/dynamic-page-runtime/useTenantScopeController.d.ts +18 -0
  41. package/dist/types/platform-admin-runtime/WorkspaceViewDrawer.vue.d.ts +5 -0
  42. package/dist/types/platform-admin-runtime/role/roleScopeSelectionClient.d.ts +52 -0
  43. package/dist/types/platform-components/CrudRecordListExplorer.vue.d.ts +5 -2
  44. package/dist/types/platform-components/DictionaryOptionDialog.vue.d.ts +37 -0
  45. package/dist/types/platform-components/DictionaryOptionDialogChoiceList.vue.d.ts +21 -0
  46. package/dist/types/platform-components/DictionaryPicker.vue.d.ts +47 -0
  47. package/dist/types/platform-components/DictionaryRadioGroup.vue.d.ts +20 -0
  48. package/dist/types/platform-components/EmployeePicker.vue.d.ts +40 -0
  49. package/dist/types/platform-components/FileTransferUploader.vue.d.ts +1 -1
  50. package/dist/types/platform-components/ObjectPickerInput.vue.d.ts +34 -0
  51. package/dist/types/platform-components/QueryCriteriaComposer.vue.d.ts +29 -0
  52. package/dist/types/platform-components/QueryCriteriaGroupEditor.vue.d.ts +36 -0
  53. package/dist/types/platform-components/QueryValueEditor.vue.d.ts +33 -0
  54. package/dist/types/platform-components/ReadonlyReferenceValue.vue.d.ts +11 -0
  55. package/dist/types/platform-components/RecordContentSectionHeading.vue.d.ts +4 -2
  56. package/dist/types/platform-components/RecordDetailDrawer.vue.d.ts +8 -3
  57. package/dist/types/platform-components/RecordDetailExtensionSection.vue.d.ts +7 -3
  58. package/dist/types/platform-components/RecordDetailFields.vue.d.ts +3 -5
  59. package/dist/types/platform-components/RecordFormFields.vue.d.ts +5 -5
  60. package/dist/types/platform-components/RecordModeDrawer.vue.d.ts +11 -3
  61. package/dist/types/platform-components/RecordMultiPicker.vue.d.ts +2 -2
  62. package/dist/types/platform-components/RecordPicker.vue.d.ts +2 -2
  63. package/dist/types/platform-components/RecordQueryListPanel.vue.d.ts +18 -4
  64. package/dist/types/platform-components/RecordQueryListSurface.vue.d.ts +20 -0
  65. package/dist/types/platform-components/ReferencePicker.vue.d.ts +47 -0
  66. package/dist/types/platform-components/ReferenceRecordDetailBrowser.vue.d.ts +55 -0
  67. package/dist/types/platform-components/ScopedTreePicker.vue.d.ts +31 -0
  68. package/dist/types/platform-components/UserPicker.vue.d.ts +47 -0
  69. package/dist/types/platform-components/dictionaryOptionDialogModel.d.ts +23 -0
  70. package/dist/types/platform-components/employeePickerModel.d.ts +19 -0
  71. package/dist/types/platform-components/identityPickerModel.d.ts +18 -0
  72. package/dist/types/platform-components/index.d.ts +28 -1
  73. package/dist/types/platform-components/optionFieldOptionCache.d.ts +1 -1
  74. package/dist/types/platform-components/queryCriteriaDraft.d.ts +24 -0
  75. package/dist/types/platform-components/queryReferencePickerProvider.d.ts +19 -0
  76. package/dist/types/platform-components/readonlyReferenceDisplay.d.ts +19 -0
  77. package/dist/types/platform-components/recordEditorSessionState.d.ts +11 -4
  78. package/dist/types/platform-components/recordFormFieldModel.d.ts +28 -2
  79. package/dist/types/platform-components/recordQueryListColumnModel.d.ts +3 -1
  80. package/dist/types/platform-components/referencePickerModel.d.ts +103 -0
  81. package/dist/types/platform-components/referencePickerReadError.d.ts +24 -0
  82. package/dist/types/platform-components/referenceRecordDetailBrowser.d.ts +48 -0
  83. package/dist/types/platform-components/scopedTreePickerModel.d.ts +46 -0
  84. package/dist/types/platform-components/sourceReferencePickerProvider.d.ts +26 -0
  85. package/dist/types/platform-components/staticCrudManagementState.d.ts +7 -6
  86. package/dist/types/platform-components/userPickerModel.d.ts +45 -0
  87. package/dist/types/platform-components/userReferencePicker.d.ts +17 -0
  88. package/dist/types/platform-workbench/useWorkspaceViewUnsavedState.d.ts +1 -1
  89. package/dist/types/platform-workbench/workspaceViewHost.d.ts +1 -1
  90. package/dist/types/platform-workbench/workspaceViewUnsavedState.d.ts +3 -1
  91. package/dist/types/views/BusinessActivityLogView.vue.d.ts +3 -0
  92. package/dist/types/views/BusinessLogListDrawer.vue.d.ts +9 -0
  93. package/dist/types/views/LoginAuditLogView.vue.d.ts +3 -0
  94. package/dist/types/views/RequestErrorLogView.vue.d.ts +3 -0
  95. package/dist/types/views/RuntimeLogView.vue.d.ts +3 -0
  96. package/dist/types/views/businessLogClient.d.ts +85 -0
  97. package/dist/types/views/dictionaryRadioEligibility.d.ts +18 -0
  98. package/dist/types/views/dictionaryRadioFactRequestEpoch.d.ts +10 -0
  99. package/dist/types/views/metadataModelEditSession.d.ts +10 -1
  100. package/dist/types/views/pageCompositionDraftState.d.ts +29 -0
  101. package/dist/types/views/roleDetailWorkspaceSession.d.ts +1 -0
  102. package/dist/types/views/roleGrantClient.d.ts +0 -1
  103. package/dist/types/views/runtimeLogClient.d.ts +12 -0
  104. package/dist/types/views/runtimeLogSse.d.ts +13 -0
  105. package/dist/types/vue-ui-antdv/components/UiDataTable.vue.d.ts +15 -0
  106. package/dist/types/vue-ui-antdv/components/UiSearchInput.vue.d.ts +16 -2
  107. package/dist/types/vue-ui-antdv/components/UiSelect.vue.d.ts +23 -1
  108. package/dist/types/vue-ui-antdv/components/UiSidePanel.vue.d.ts +9 -2
  109. package/dist/types/vue-ui-antdv/components/UiTree.vue.d.ts +1 -1
  110. package/dist/types/vue-ui-antdv/components/UiTreeSelect.vue.d.ts +23 -1
  111. package/dist/types/vue-ui-antdv/drawerDismissal.d.ts +18 -0
  112. package/dist/types/vue-ui-antdv/drawerWidth.d.ts +22 -0
  113. package/dist/types/vue-ui-antdv/index.d.ts +4 -0
  114. package/dist/types/web-contracts/index.d.ts +66 -6
  115. package/dist/types/web-core/http.d.ts +2 -0
  116. package/dist/types/web-core/module/moduleContext.d.ts +15 -2
  117. package/dist/types/web-core/module/runtimeContext.d.ts +3 -2
  118. package/dist/types/web-core/module/staticModuleClient.d.ts +5 -1
  119. package/dist/{workspaceViews-DI_1vYX9.js → workspaceViews-CCg6V0pr.js} +1245 -1140
  120. package/package.json +1 -1
  121. package/dist/RoleDetailWorkspaceView-D6X7pAj5.js +0 -1379
  122. package/dist/platform-workbench-DJj42YQP.js +0 -22911
@@ -1,18 +1,23 @@
1
- import { type UiSidePanelScope } from '../vue-ui-antdv/index';
1
+ import { type UiDrawerCloseGuard, type UiDrawerDismissal, type UiDrawerWidth, type UiSidePanelScope } from '../vue-ui-antdv/index';
2
2
  import type { DrawerPromotion } from './drawerPromotion';
3
3
  type __VLS_Props = {
4
4
  open: boolean;
5
5
  title: string;
6
6
  container?: HTMLElement | null;
7
+ /** Explicit presentation is needed by embedded record-only surfaces. */
8
+ renderMode?: 'inline' | 'portal';
7
9
  subtitle?: string;
8
- width?: number | string;
10
+ width?: UiDrawerWidth;
9
11
  scope?: UiSidePanelScope;
10
12
  mode: string;
11
13
  viewMode?: string;
12
14
  formModes?: string[];
13
15
  loading?: boolean;
14
16
  loadFailed?: boolean;
17
+ dismissal?: UiDrawerDismissal;
18
+ /** @deprecated Use `dismissal` and `beforeClose`. */
15
19
  closeOnOutside?: boolean;
20
+ beforeClose?: UiDrawerCloseGuard;
16
21
  closeTitle?: string;
17
22
  promotion?: DrawerPromotion;
18
23
  errorTitle?: string;
@@ -61,11 +66,14 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
61
66
  onDismissExternalChange?: (() => any) | undefined;
62
67
  }>, {
63
68
  scope: UiSidePanelScope;
64
- width: number | string;
69
+ width: UiDrawerWidth;
65
70
  loading: boolean;
66
71
  subtitle: string;
72
+ dismissal: UiDrawerDismissal;
67
73
  closeOnOutside: boolean;
74
+ beforeClose: UiDrawerCloseGuard;
68
75
  container: HTMLElement | null;
76
+ renderMode: "inline" | "portal";
69
77
  closeTitle: string;
70
78
  promotion: DrawerPromotion;
71
79
  errorTitle: string;
@@ -8,7 +8,7 @@ type __VLS_Props = {
8
8
  loadTree?: () => Promise<WebTreeNode<RecordPickerRecord>[]>;
9
9
  resolveOptions?: (values: string[]) => Promise<RecordPickerRecord[]>;
10
10
  value?: string[];
11
- reloadKey?: number;
11
+ reloadKey?: string | number;
12
12
  mode?: RecordPickerMode;
13
13
  placeholder?: string;
14
14
  disabled?: boolean;
@@ -31,7 +31,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
31
31
  placeholder: string;
32
32
  allowClear: boolean;
33
33
  filterOption: (record: RecordPickerRecord, keyword: string) => boolean;
34
- reloadKey: number;
34
+ reloadKey: string | number;
35
35
  titleOf: (record: RecordPickerRecord) => string;
36
36
  loadOptions: (keyword: string) => Promise<RecordPickerRecord[]>;
37
37
  loadTree: () => Promise<WebTreeNode<RecordPickerRecord>[]>;
@@ -8,7 +8,7 @@ type __VLS_Props = {
8
8
  loadTree?: () => Promise<WebTreeNode<RecordPickerRecord>[]>;
9
9
  resolveOptions?: (values: string[]) => Promise<RecordPickerRecord[]>;
10
10
  value?: string;
11
- reloadKey?: number;
11
+ reloadKey?: string | number;
12
12
  mode?: RecordPickerMode;
13
13
  placeholder?: string;
14
14
  disabled?: boolean;
@@ -33,7 +33,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
33
33
  placeholder: string;
34
34
  allowClear: boolean;
35
35
  filterOption: (record: RecordPickerRecord, keyword: string) => boolean;
36
- reloadKey: number;
36
+ reloadKey: string | number;
37
37
  titleOf: (record: RecordPickerRecord) => string;
38
38
  loadOptions: (keyword: string) => Promise<RecordPickerRecord[]>;
39
39
  loadTree: () => Promise<WebTreeNode<RecordPickerRecord>[]>;
@@ -1,5 +1,6 @@
1
- import type { QuerySchema, ResolvedPageListPersistentQueryControlDescriptor, ResolvedPageListQuerySummaryDescriptor } from '../web-contracts/index';
1
+ import type { QuerySchema, QuerySchemaField, ResolvedPageListPersistentQueryControlDescriptor, WebQueryRequest, ResolvedPageListQuerySummaryDescriptor } from '../web-contracts/index';
2
2
  import { type ModuleContext } from '../web-core/index';
3
+ import type { ReferencePickerConfig } from './referencePickerModel';
3
4
  import { type RecordActionItem, type ResolvedRecordActionItem } from './recordActionBarModel';
4
5
  import { type QueryListRecord, type RecordQueryListCellComponent, type RecordQueryListColumn, type RecordQueryListMode, type StandardCrudRowActionKey } from './recordQueryListColumnModel';
5
6
  export type { QueryListRecord, RecordQueryListCellComponent, RecordQueryListColumn, RecordQueryListMode, StandardCrudRowActionKey, } from './recordQueryListColumnModel';
@@ -56,10 +57,14 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
56
57
  queryTemplateId?: string;
57
58
  /** A source-owned query schema avoids forcing embedded relation lists through target-module access. */
58
59
  querySchema?: QuerySchema;
60
+ /** Allows a source surface to supply semantic user candidates for a query field. */
61
+ referencePickerOf?: (field: QuerySchemaField) => ReferencePickerConfig | undefined;
59
62
  /** Read-only relation runners may deliberately suppress ad-hoc query controls. */
60
63
  queryable?: boolean;
61
64
  /** A relation query can intentionally be a bounded, non-pageable result. */
62
65
  pageable?: boolean;
66
+ /** Opts a standard, paginated flat list into the platform's relative sort interaction. */
67
+ sortable?: boolean;
63
68
  ready?: boolean;
64
69
  externalQueryValues?: Record<string, unknown>;
65
70
  /** Descriptor-owned controls rendered after quick search and before advanced filtering. */
@@ -83,9 +88,11 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
83
88
  rowExpand: (record: QueryListRecord, expanded: boolean) => any;
84
89
  restored: () => any;
85
90
  pageSizeChange: (pageSize: number) => any;
91
+ recordActivate: (record: QueryListRecord, event: MouseEvent) => any;
86
92
  batchAction: (action: RecordActionItem, records: QueryListRecord[], event: MouseEvent, clearSelection: () => void) => any;
87
93
  rowAction: (action: ResolvedRecordActionItem, record: QueryListRecord, event?: MouseEvent | undefined) => any;
88
94
  modeChange: (mode: RecordQueryListMode) => any;
95
+ queried: (request: WebQueryRequest) => any;
89
96
  }, string, import("vue").PublicProps, Readonly<{
90
97
  context: ModuleContext<QueryListRecord>;
91
98
  title: string;
@@ -137,10 +144,14 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
137
144
  queryTemplateId?: string;
138
145
  /** A source-owned query schema avoids forcing embedded relation lists through target-module access. */
139
146
  querySchema?: QuerySchema;
147
+ /** Allows a source surface to supply semantic user candidates for a query field. */
148
+ referencePickerOf?: (field: QuerySchemaField) => ReferencePickerConfig | undefined;
140
149
  /** Read-only relation runners may deliberately suppress ad-hoc query controls. */
141
150
  queryable?: boolean;
142
151
  /** A relation query can intentionally be a bounded, non-pageable result. */
143
152
  pageable?: boolean;
153
+ /** Opts a standard, paginated flat list into the platform's relative sort interaction. */
154
+ sortable?: boolean;
144
155
  ready?: boolean;
145
156
  externalQueryValues?: Record<string, unknown>;
146
157
  /** Descriptor-owned controls rendered after quick search and before advanced filtering. */
@@ -161,9 +172,11 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
161
172
  onRowExpand?: ((record: QueryListRecord, expanded: boolean) => any) | undefined;
162
173
  onRestored?: (() => any) | undefined;
163
174
  onPageSizeChange?: ((pageSize: number) => any) | undefined;
175
+ onRecordActivate?: ((record: QueryListRecord, event: MouseEvent) => any) | undefined;
164
176
  onBatchAction?: ((action: RecordActionItem, records: QueryListRecord[], event: MouseEvent, clearSelection: () => void) => any) | undefined;
165
177
  onRowAction?: ((action: ResolvedRecordActionItem, record: QueryListRecord, event?: MouseEvent | undefined) => any) | undefined;
166
178
  onModeChange?: ((mode: RecordQueryListMode) => any) | undefined;
179
+ onQueried?: ((request: WebQueryRequest) => any) | undefined;
167
180
  }>, {
168
181
  uiConfigId: string;
169
182
  mode: RecordQueryListMode;
@@ -187,6 +200,9 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
187
200
  embedded: boolean;
188
201
  pageable: boolean;
189
202
  cellRenderers: Record<string, (record: QueryListRecord) => string>;
203
+ refreshTitle: string;
204
+ refreshable: boolean;
205
+ referencePickerOf: (field: QuerySchemaField) => ReferencePickerConfig | undefined;
190
206
  additionalColumns: Array<RecordQueryListColumn & {
191
207
  before?: string;
192
208
  after?: string;
@@ -203,12 +219,10 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
203
219
  rowActionStateOf: (record: QueryListRecord, action: RecordActionItem) => Partial<RecordActionItem> | undefined;
204
220
  rowActionsTitle: string;
205
221
  rowActionsVisible: boolean;
206
- refreshTitle: string;
207
- refreshable: boolean;
208
222
  showRecycleBin: boolean;
209
223
  querySchema: QuerySchema;
210
224
  queryable: boolean;
211
- persistentQueryControls: ResolvedPageListPersistentQueryControlDescriptor[];
225
+ sortable: boolean;
212
226
  querySummaries: ResolvedPageListQuerySummaryDescriptor[];
213
227
  requiredExternalCriteriaKeys: string[];
214
228
  waitingDescription: string;
@@ -25,12 +25,18 @@ type __VLS_Props = {
25
25
  actionColumnTitle?: string;
26
26
  actionColumnWidth?: string | number;
27
27
  actionColumnFixed?: boolean;
28
+ /** The list owner persists generic row-reorder events. */
29
+ rowDraggable?: boolean;
30
+ rowDragHandleTitle?: string;
28
31
  tableVisible?: boolean;
32
+ conditionsVisible?: boolean;
29
33
  embedded?: boolean;
30
34
  chromeFree?: boolean;
31
35
  /** The surface renders pagination only; its owner keeps query state and data loading. */
32
36
  pageable?: boolean;
33
37
  total?: number;
38
+ /** False when the backend exposes only a lower bound for cursor-backed pagination. */
39
+ totalKnown?: boolean;
34
40
  pageNum?: number;
35
41
  pages?: number;
36
42
  pageSize?: number;
@@ -65,6 +71,11 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
65
71
  rowClick: (record: UiDataTableRecord, event: MouseEvent) => any;
66
72
  rowDblclick: (record: UiDataTableRecord, event: MouseEvent) => any;
67
73
  rowExpand: (record: UiDataTableRecord, expanded: boolean) => any;
74
+ rowDrop: (event: {
75
+ source: UiDataTableRecord;
76
+ target: UiDataTableRecord;
77
+ position: "before" | "after";
78
+ }) => any;
68
79
  quickSearch: (value: string) => any;
69
80
  titleAction: () => any;
70
81
  "update:quickSearchValue": (value: string) => any;
@@ -74,6 +85,11 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
74
85
  onRowClick?: ((record: UiDataTableRecord, event: MouseEvent) => any) | undefined;
75
86
  onRowDblclick?: ((record: UiDataTableRecord, event: MouseEvent) => any) | undefined;
76
87
  onRowExpand?: ((record: UiDataTableRecord, expanded: boolean) => any) | undefined;
88
+ onRowDrop?: ((event: {
89
+ source: UiDataTableRecord;
90
+ target: UiDataTableRecord;
91
+ position: "before" | "after";
92
+ }) => any) | undefined;
77
93
  onQuickSearch?: ((value: string) => any) | undefined;
78
94
  onTitleAction?: (() => any) | undefined;
79
95
  "onUpdate:quickSearchValue"?: ((value: string) => any) | undefined;
@@ -94,6 +110,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
94
110
  actionColumnTitle: string;
95
111
  actionColumnWidth: string | number;
96
112
  actionColumnFixed: boolean;
113
+ rowDraggable: boolean;
114
+ rowDragHandleTitle: string;
97
115
  total: number;
98
116
  pageSize: number;
99
117
  pageSizeOptions: number[];
@@ -108,9 +126,11 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
108
126
  quickSearchPlaceholder: string;
109
127
  quickSearchDisabled: boolean;
110
128
  tableVisible: boolean;
129
+ conditionsVisible: boolean;
111
130
  embedded: boolean;
112
131
  chromeFree: boolean;
113
132
  pageable: boolean;
133
+ totalKnown: boolean;
114
134
  pages: number;
115
135
  paginationDisabled: boolean;
116
136
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -0,0 +1,47 @@
1
+ import { type ReferencePickerCandidate, type ReferencePickerColumn, type ReferencePickerId, type ReferencePickerProvider, type ReferencePickerValidity } from './referencePickerModel';
2
+ type __VLS_Props = {
3
+ value?: ReferencePickerId | readonly ReferencePickerId[];
4
+ multiple?: boolean;
5
+ maxSelection?: number;
6
+ provider: ReferencePickerProvider;
7
+ /** Changes in source dependencies or authorization must isolate all remembered candidates. */
8
+ reloadKey?: string | number;
9
+ mode?: 'dialog' | 'dropdown';
10
+ columns?: readonly ReferencePickerColumn[];
11
+ placeholder?: string;
12
+ disabled?: boolean;
13
+ allowClear?: boolean;
14
+ pageSize?: number;
15
+ title?: string;
16
+ searchPlaceholder?: string;
17
+ emptyDescription?: string;
18
+ selectionNoun?: string;
19
+ };
20
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
21
+ select: (candidates: ReferencePickerCandidate[]) => any;
22
+ "update:value": (value: string | string[] | undefined) => any;
23
+ "selection-resolved": (candidates: ReferencePickerCandidate[]) => any;
24
+ "validity-change": (validity: ReferencePickerValidity) => any;
25
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
26
+ onSelect?: ((candidates: ReferencePickerCandidate[]) => any) | undefined;
27
+ "onUpdate:value"?: ((value: string | string[] | undefined) => any) | undefined;
28
+ "onSelection-resolved"?: ((candidates: ReferencePickerCandidate[]) => any) | undefined;
29
+ "onValidity-change"?: ((validity: ReferencePickerValidity) => any) | undefined;
30
+ }>, {
31
+ title: string;
32
+ disabled: boolean;
33
+ mode: "dialog" | "dropdown";
34
+ value: ReferencePickerId | readonly ReferencePickerId[];
35
+ placeholder: string;
36
+ allowClear: boolean;
37
+ multiple: boolean;
38
+ reloadKey: string | number;
39
+ emptyDescription: string;
40
+ columns: readonly ReferencePickerColumn[];
41
+ pageSize: number;
42
+ searchPlaceholder: string;
43
+ maxSelection: number;
44
+ selectionNoun: string;
45
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
46
+ declare const _default: typeof __VLS_export;
47
+ export default _default;
@@ -0,0 +1,55 @@
1
+ import type { HttpClient } from '../web-core/index';
2
+ import { type ReferenceRecordDetailMutation, type ReferenceRecordDetailBrowser as ReferenceRecordDetailBrowserState } from './referenceRecordDetailBrowser';
3
+ type __VLS_Props = {
4
+ http?: HttpClient;
5
+ browser?: ReferenceRecordDetailBrowserState;
6
+ inlineAnchor?: boolean;
7
+ };
8
+ declare function reportMutation(mutation: ReferenceRecordDetailMutation): void;
9
+ declare function setBusy(busy: boolean): void;
10
+ declare var __VLS_1: {}, __VLS_3: {
11
+ active: import("./referenceRecordDetailBrowser").ActiveReferenceRecord | undefined;
12
+ context: import("../web-core/index").ModuleContext<import("./recordQueryListColumnModel.ts").QueryListRecord> | undefined;
13
+ record: import("./recordQueryListColumnModel.ts").QueryListRecord | undefined;
14
+ reportMutation: typeof reportMutation;
15
+ setBusy: typeof setBusy;
16
+ close: () => void;
17
+ }, __VLS_14: {
18
+ context: import("../web-core/index").ModuleContext<import("./recordQueryListColumnModel.ts").QueryListRecord> | undefined;
19
+ record: import("./recordQueryListColumnModel.ts").QueryListRecord | undefined;
20
+ reportMutation: typeof reportMutation;
21
+ setBusy: typeof setBusy;
22
+ }, __VLS_31: {
23
+ context: import("../web-core/index").ModuleContext<import("./recordQueryListColumnModel.ts").QueryListRecord>;
24
+ record: import("./recordQueryListColumnModel.ts").QueryListRecord;
25
+ reportMutation: typeof reportMutation;
26
+ setBusy: typeof setBusy;
27
+ };
28
+ type __VLS_Slots = {} & {
29
+ default?: (props: typeof __VLS_1) => any;
30
+ } & {
31
+ 'full-surface'?: (props: typeof __VLS_3) => any;
32
+ } & {
33
+ 'header-actions'?: (props: typeof __VLS_14) => any;
34
+ } & {
35
+ detail?: (props: typeof __VLS_31) => any;
36
+ };
37
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
38
+ browser: ReferenceRecordDetailBrowserState;
39
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
40
+ "record-change": (mutation: ReferenceRecordDetailMutation) => any;
41
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
42
+ "onRecord-change"?: ((mutation: ReferenceRecordDetailMutation) => any) | undefined;
43
+ }>, {
44
+ http: HttpClient;
45
+ browser: ReferenceRecordDetailBrowserState;
46
+ inlineAnchor: boolean;
47
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
48
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
49
+ declare const _default: typeof __VLS_export;
50
+ export default _default;
51
+ type __VLS_WithSlots<T, S> = T & {
52
+ new (): {
53
+ $slots: S;
54
+ };
55
+ };
@@ -0,0 +1,31 @@
1
+ import { type ScopedTreePickerCandidate, type ScopedTreePickerProvider } from './scopedTreePickerModel';
2
+ type __VLS_Props = {
3
+ /** The persisted target identity. The component never persists navigation scope IDs. */
4
+ value?: string;
5
+ provider: ScopedTreePickerProvider;
6
+ placeholder?: string;
7
+ searchPlaceholder?: string;
8
+ title?: string;
9
+ disabled?: boolean;
10
+ /** The host already renders its own compact trigger, so this component only contributes a dialog. */
11
+ inputHidden?: boolean;
12
+ };
13
+ declare function openPicker(value?: string): void;
14
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {
15
+ open: typeof openPicker;
16
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
17
+ select: (candidate: ScopedTreePickerCandidate | undefined) => any;
18
+ "update:value": (value: string | undefined) => any;
19
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
20
+ onSelect?: ((candidate: ScopedTreePickerCandidate | undefined) => any) | undefined;
21
+ "onUpdate:value"?: ((value: string | undefined) => any) | undefined;
22
+ }>, {
23
+ title: string;
24
+ disabled: boolean;
25
+ value: string;
26
+ placeholder: string;
27
+ searchPlaceholder: string;
28
+ inputHidden: boolean;
29
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
30
+ declare const _default: typeof __VLS_export;
31
+ export default _default;
@@ -0,0 +1,47 @@
1
+ import type { ReferencePickerSourceIdentity, ReferencePickerValidity } from './referencePickerModel';
2
+ import type { UserAccountId, UserPickerCandidate, UserPickerPageSearch, UserPickerResolver } from './userPickerModel';
3
+ type __VLS_Props = {
4
+ value?: UserAccountId | readonly UserAccountId[];
5
+ multiple?: boolean;
6
+ maxSelection?: number;
7
+ placeholder?: string;
8
+ disabled?: boolean;
9
+ allowClear?: boolean;
10
+ pageSize?: number;
11
+ title?: string;
12
+ searchPlaceholder?: string;
13
+ emptyDescription?: string;
14
+ selectionNoun?: string;
15
+ reloadKey?: string | number;
16
+ /** A caller declares its source purpose; account target identity alone is never a cache scope. */
17
+ sourceIdentity?: ReferencePickerSourceIdentity;
18
+ searchPage: UserPickerPageSearch;
19
+ resolveUsers: UserPickerResolver;
20
+ };
21
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
22
+ select: (users: UserPickerCandidate[]) => any;
23
+ "update:value": (value: string | string[] | undefined) => any;
24
+ "selection-resolved": (users: UserPickerCandidate[]) => any;
25
+ "validity-change": (validity: ReferencePickerValidity) => any;
26
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
27
+ onSelect?: ((users: UserPickerCandidate[]) => any) | undefined;
28
+ "onUpdate:value"?: ((value: string | string[] | undefined) => any) | undefined;
29
+ "onSelection-resolved"?: ((users: UserPickerCandidate[]) => any) | undefined;
30
+ "onValidity-change"?: ((validity: ReferencePickerValidity) => any) | undefined;
31
+ }>, {
32
+ title: string;
33
+ disabled: boolean;
34
+ value: UserAccountId | readonly UserAccountId[];
35
+ placeholder: string;
36
+ allowClear: boolean;
37
+ multiple: boolean;
38
+ reloadKey: string | number;
39
+ emptyDescription: string;
40
+ pageSize: number;
41
+ searchPlaceholder: string;
42
+ maxSelection: number;
43
+ selectionNoun: string;
44
+ sourceIdentity: ReferencePickerSourceIdentity;
45
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
46
+ declare const _default: typeof __VLS_export;
47
+ export default _default;
@@ -0,0 +1,23 @@
1
+ import type { Option, OptionItemDescriptor } from '../web-contracts/index';
2
+ export type DictionarySelectionMode = 'SINGLE' | 'MULTIPLE';
3
+ export type DictionaryOptionValue = string | string[] | undefined;
4
+ export interface DictionaryOptionTreeNode {
5
+ value: string;
6
+ title: string;
7
+ disabled?: boolean;
8
+ children?: DictionaryOptionTreeNode[];
9
+ }
10
+ /**
11
+ * Normalizes the persisted dictionary wire value. Dictionary values are always codes;
12
+ * titles are display facts and must never leak into the form draft.
13
+ */
14
+ export declare function dictionaryOptionCodes(value: unknown, selectionMode: DictionarySelectionMode): string[];
15
+ export declare function dictionaryOptionValue(codes: readonly string[], selectionMode: DictionarySelectionMode): DictionaryOptionValue;
16
+ export declare function dictionaryOptionItemsToOptions(items: readonly OptionItemDescriptor[], keyword?: string): Option[];
17
+ /**
18
+ * Retains the parent/child relationship carried by `parentCode`. Missing parents are rendered
19
+ * as an explicit disabled structural node instead of silently promoting their children to roots.
20
+ */
21
+ export declare function dictionaryOptionItemsToTree(items: readonly OptionItemDescriptor[], keyword?: string): DictionaryOptionTreeNode[];
22
+ /** Existing disabled values remain visible, but only enabled option codes can be newly added. */
23
+ export declare function selectableDictionaryCodes(requested: unknown, externalCodes: readonly string[], items: readonly OptionItemDescriptor[], selectionMode: DictionarySelectionMode): string[];
@@ -0,0 +1,19 @@
1
+ import type { IdentityPickerCandidate, IdentityPickerPage, IdentityPickerPageRequest, IdentityPickerPageSearch, IdentityPickerResolver } from './identityPickerModel';
2
+ /** A personnel master-data identity; it is intentionally distinct from a user account ID. */
3
+ export type EmployeeId = string;
4
+ export type EmployeePickerCandidate = IdentityPickerCandidate<EmployeeId>;
5
+ export type EmployeePickerPageRequest = IdentityPickerPageRequest;
6
+ export type EmployeePickerPage = IdentityPickerPage<EmployeeId>;
7
+ export type EmployeePickerPageSearch = IdentityPickerPageSearch<EmployeeId>;
8
+ export type EmployeePickerResolver = IdentityPickerResolver<EmployeeId>;
9
+ /**
10
+ * Source-owned employee delivery. Callers supply the authorized candidate
11
+ * scope; this UI boundary does not read IAM modules or infer tenant scope.
12
+ */
13
+ export interface EmployeePickerConfig {
14
+ title?: string;
15
+ placeholder?: string;
16
+ maxSelection?: number;
17
+ searchPage: EmployeePickerPageSearch;
18
+ resolveEmployees: EmployeePickerResolver;
19
+ }
@@ -0,0 +1,18 @@
1
+ import type { ReferencePickerCandidate } from './referencePickerModel';
2
+ /** Identity aliases retain their distinct IDs while using the common display contract. */
3
+ export interface IdentityPickerCandidate<TId extends string> extends ReferencePickerCandidate {
4
+ id: TId;
5
+ }
6
+ export interface IdentityPickerPageRequest {
7
+ /** Provider-defined search text. The shared panel does not prescribe searchable fields. */
8
+ keyword: string;
9
+ pageNum: number;
10
+ pageSize: number;
11
+ }
12
+ export interface IdentityPickerPage<TId extends string> {
13
+ records: IdentityPickerCandidate<TId>[];
14
+ total: number;
15
+ }
16
+ export type IdentityPickerPageSearch<TId extends string> = (request: IdentityPickerPageRequest) => Promise<IdentityPickerPage<TId>>;
17
+ /** Resolves persisted IDs through the same authorized candidate scope as the page search. */
18
+ export type IdentityPickerResolver<TId extends string> = (ids: TId[]) => Promise<IdentityPickerCandidate<TId>[]>;
@@ -5,6 +5,8 @@ export { default as ApplicationScopeSwitcher } from './ApplicationScopeSwitcher.
5
5
  export { default as BusinessNotificationPanel } from './BusinessNotificationPanel.vue';
6
6
  export { confirmAction } from '../vue-ui-antdv/index';
7
7
  export { UiModal } from '../vue-ui-antdv/index';
8
+ export { uiDrawerWidths as drawerWidths } from '../vue-ui-antdv/index';
9
+ export type { UiDrawerWidth as DrawerWidth } from '../vue-ui-antdv/index';
8
10
  export { default as CrudRecordListExplorer } from './CrudRecordListExplorer.vue';
9
11
  export { default as DrawerOperationBar } from './DrawerOperationBar.vue';
10
12
  export { default as DrawerTitleActions } from './DrawerTitleActions.vue';
@@ -32,6 +34,10 @@ export type { HeaderActionItem } from './AdaptiveHeaderActionBar.vue';
32
34
  export type { HeaderActionLevel } from './adaptiveHeaderActionLayout';
33
35
  export { default as RecordContentSectionHeading } from './RecordContentSectionHeading.vue';
34
36
  export { default as RecordDetailDrawer } from './RecordDetailDrawer.vue';
37
+ export { default as ReferenceRecordDetailBrowser } from './ReferenceRecordDetailBrowser.vue';
38
+ export { default as ReadonlyReferenceValue } from './ReadonlyReferenceValue.vue';
39
+ export { createReferenceRecordDetailBrowser, provideReferenceRecordDetailBrowser, } from './referenceRecordDetailBrowser';
40
+ export type { ReferenceRecordDetailBrowser as ReferenceRecordDetailBrowserState, ReferenceRecordDetailMutation, } from './referenceRecordDetailBrowser';
35
41
  export type { DrawerPromotion } from './drawerPromotion';
36
42
  export { default as RecordExternalChangeNotice } from './RecordExternalChangeNotice.vue';
37
43
  export { default as RecordDetailFields } from './RecordDetailFields.vue';
@@ -50,6 +56,11 @@ export { default as RecordExplorerPanel } from './RecordExplorerPanel.vue';
50
56
  export { default as RecordExplorerCreateButton } from './RecordExplorerCreateButton.vue';
51
57
  export type { RecordExplorerItemDescriptor } from './recordExplorerItemModel';
52
58
  export { default as RecordFormFields } from './RecordFormFields.vue';
59
+ export { default as DictionaryOptionDialog } from './DictionaryOptionDialog.vue';
60
+ export { default as DictionaryPicker } from './DictionaryPicker.vue';
61
+ export { default as DictionaryRadioGroup } from './DictionaryRadioGroup.vue';
62
+ export type { DictionaryOptionValue, DictionarySelectionMode } from './dictionaryOptionDialogModel';
63
+ export type { DictionaryPickerMode, DictionaryPickerValidity } from './DictionaryPicker.vue';
53
64
  export { default as RecordFieldLabel } from './RecordFieldLabel.vue';
54
65
  export { default as RecordFormGrid } from './RecordFormGrid.vue';
55
66
  export { default as RecordFileReferenceTransfer } from './RecordFileReferenceTransfer.vue';
@@ -58,6 +69,20 @@ export { default as RecordMetaSection } from './RecordMetaSection.vue';
58
69
  export { default as RecordModeDrawer } from './RecordModeDrawer.vue';
59
70
  export { default as RecordPicker } from './RecordPicker.vue';
60
71
  export { default as RecordMultiPicker } from './RecordMultiPicker.vue';
72
+ export { default as ReferencePicker } from './ReferencePicker.vue';
73
+ export { readonlyReferenceDisplay } from './readonlyReferenceDisplay';
74
+ export { createQueryReferencePickerProvider } from './queryReferencePickerProvider';
75
+ export { createSourceReferencePickerProvider, sourceReferencePickerReloadKey, } from './sourceReferencePickerProvider';
76
+ export { createUserReferencePickerProvider, userReferencePickerColumns } from './userReferencePicker';
77
+ export type { UserReferencePickerConfig } from './userReferencePicker';
78
+ export type { ReferencePickerAxisSelection, ReferencePickerBrowseScope, ReferencePickerCandidate, ReferencePickerColumn, ReferencePickerConfig, ReferencePickerId, ReferencePickerNavigationAxis, ReferencePickerNavigationItem, ReferencePickerPage, ReferencePickerPageRequest, ReferencePickerProvider, ReferencePickerSelectionSummary, ReferencePickerSourceIdentity, ReferencePickerTreeNode, ReferencePickerValidity, } from './referencePickerModel';
79
+ export { default as ObjectPickerInput } from './ObjectPickerInput.vue';
80
+ export { default as UserPicker } from './UserPicker.vue';
81
+ export { default as EmployeePicker } from './EmployeePicker.vue';
82
+ export { default as ScopedTreePicker } from './ScopedTreePicker.vue';
83
+ export type { UserAccountId, UserPickerCandidate, UserPickerPage, UserPickerPageRequest, UserPickerPageSearch, UserPickerResolver, UserPickerNavigation, UserPickerNavigationItem, UserPickerNavigationScope, } from './userPickerModel';
84
+ export type { EmployeeId, EmployeePickerCandidate, EmployeePickerConfig, EmployeePickerPage, EmployeePickerPageRequest, EmployeePickerPageSearch, EmployeePickerResolver, } from './employeePickerModel';
85
+ export type { ScopedTreePickerCandidate, ScopedTreePickerChildrenRequest, ScopedTreePickerConfig, ScopedTreePickerPage, ScopedTreePickerProvider, ScopedTreePickerRootRequest, } from './scopedTreePickerModel';
61
86
  export { default as RecordQueryListPanel } from './RecordQueryListPanel.vue';
62
87
  export { default as RecordQueryListCell } from './RecordQueryListCell.vue';
63
88
  export { default as RecycleBinModeButton } from './RecycleBinModeButton.vue';
@@ -104,7 +129,7 @@ export { createPlatformActionResultReactionHandlers, mergePlatformActionResultRe
104
129
  export type { PlatformActionResult, PlatformActionResultReaction, PlatformActionResultReactionHandler, PlatformActionResultReactionPayload, PlatformActionResultReactionType, PlatformActionResultStandardReactionHandlers, } from './platformActionResultReactions';
105
130
  export type { PlatformActionResultFeedbackContext, PlatformActionResultHandlingContext, } from './platformActionResultFeedback';
106
131
  export { executeStaticFormSave, executeStaticRecordAction } from './staticFormActionFlow';
107
- export { applyRecordExternalChange, createRecordEditorSessionState } from './recordEditorSessionState';
132
+ export { applyRecordExternalChange, createRecordEditorSessionState, recordDraftFingerprint, } from './recordEditorSessionState';
108
133
  export { useFlatCrudManagementState } from './staticCrudManagementState';
109
134
  export type { PlatformActionErrorHandler, PlatformErrorFeedbackContext } from './platformErrorFeedback';
110
135
  export type { StaticFormActionErrorContext, StaticFormActionErrorHandler, StaticFormSaveMode, StaticFormSaveOptions, StaticRecordActionOptions, } from './staticFormActionFlow';
@@ -116,3 +141,5 @@ export type { StaticTreeResourceModuleContextOptions } from './staticTreeResourc
116
141
  export { default as RecordRelationTable } from './RecordRelationTable.vue';
117
142
  export { default as RecordRelationValue } from './RecordRelationValue.vue';
118
143
  export { default as RecordPermissionDialog } from './RecordPermissionDialog.vue';
144
+ export { ReferencePickerReadError } from './referencePickerReadError';
145
+ export type { ReferencePickerReadErrorKind } from './referencePickerReadError';
@@ -1,3 +1,3 @@
1
1
  import type { OptionItemDescriptor } from '../web-contracts/index';
2
2
  import type { ModuleContext } from '../web-core/index';
3
- export declare function loadOptionFieldItems(context: ModuleContext<unknown>, fieldName: string, entityAlias?: string): Promise<OptionItemDescriptor[]>;
3
+ export declare function loadOptionFieldItems(context: ModuleContext<unknown>, fieldName: string, entityAlias?: string, moduleAlias?: string, forceRefresh?: boolean): Promise<OptionItemDescriptor[]>;
@@ -0,0 +1,24 @@
1
+ import type { QueryOperator } from '../web-contracts/index';
2
+ export interface QueryCriteriaConditionDraft {
3
+ kind: 'CONDITION';
4
+ id: number;
5
+ fieldName?: string;
6
+ operator?: QueryOperator;
7
+ values: unknown[];
8
+ }
9
+ export interface QueryCriteriaGroupDraft {
10
+ kind: 'GROUP';
11
+ id: number;
12
+ operator: 'AND' | 'OR';
13
+ children: QueryCriteriaDraftNode[];
14
+ }
15
+ export type QueryCriteriaDraftNode = QueryCriteriaConditionDraft | QueryCriteriaGroupDraft;
16
+ /**
17
+ * Mirrors the source-neutral execution limits in QueryCriteria. The server
18
+ * remains authoritative; keeping the limits here lets the composer identify
19
+ * the affected draft row before it sends a request that must be rejected.
20
+ */
21
+ export declare const QUERY_CRITERIA_MAXIMUM_DEPTH = 4;
22
+ export declare const QUERY_CRITERIA_MAXIMUM_NODES = 50;
23
+ export declare const QUERY_CRITERIA_MAXIMUM_COLLECTION_VALUES = 100;
24
+ export declare function isValueLessQueryOperator(operator: QueryOperator | undefined): operator is "NULL" | "NOT_NULL" | "EMPTY" | "NOT_EMPTY";
@@ -0,0 +1,19 @@
1
+ import type { QuerySchemaReference } from '../web-contracts/index';
2
+ import { type HttpClient } from '../web-core/index';
3
+ import type { ReferencePickerProvider } from './referencePickerModel';
4
+ export interface QueryReferencePickerProviderOptions {
5
+ /**
6
+ * The HTTP client from the target's REFERENCE module context. The provider constructs its own
7
+ * navigation-only client instead of accepting an arbitrary context CRUD client.
8
+ */
9
+ http: HttpClient;
10
+ reference: QuerySchemaReference;
11
+ }
12
+ /**
13
+ * Adapts a query schema's ordinary target reference to the shared picker contract.
14
+ *
15
+ * Query schemas deliberately have no source-field resolve contract or dependency semantics. The
16
+ * only permitted candidate transport here is the target module's REFERENCE navigator endpoint;
17
+ * this is intentionally different from both ordinary target CRUD and source-field resolution.
18
+ */
19
+ export declare function createQueryReferencePickerProvider({ http, reference, }: QueryReferencePickerProviderOptions): ReferencePickerProvider;
@@ -0,0 +1,19 @@
1
+ import type { ResolvedReferenceFieldDescriptor } from '../web-contracts/index';
2
+ export interface ReadonlyReferenceDisplayItem {
3
+ id: string;
4
+ label: string;
5
+ /** Only a delivered, usable projection may enter the target-detail browser. */
6
+ browseable: boolean;
7
+ }
8
+ /**
9
+ * Formats only record-projected reference facts. It never resolves candidates: an absent title
10
+ * remains the persisted ID, which distinguishes an unavailable projection from a deleted or
11
+ * unauthorized target.
12
+ */
13
+ export declare function readonlyReferenceDisplay(reference: Pick<ResolvedReferenceFieldDescriptor, 'cardinality'>, value: unknown, summary: unknown): string | undefined;
14
+ /**
15
+ * Keeps the persisted reference order while retaining enough projection identity for the shared
16
+ * read-only browser. A raw ID intentionally remains non-interactive: it may be absent, deleted,
17
+ * or hidden by a target data scope.
18
+ */
19
+ export declare function readonlyReferenceDisplayItems(reference: Pick<ResolvedReferenceFieldDescriptor, 'cardinality'>, value: unknown, summary: unknown): ReadonlyReferenceDisplayItem[];