@anzusystems/common-admin 1.47.0-beta.36 → 1.47.0-beta.360

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/labs.d.ts ADDED
@@ -0,0 +1,1912 @@
1
+ import { AllowedComponentProps } from 'vue';
2
+ import { AnyFn } from '@vueuse/core';
3
+ import { AxiosInstance } from 'axios';
4
+ import { AxiosRequestConfig } from 'axios';
5
+ import { ComponentCustomProps } from 'vue';
6
+ import { ComponentOptionsMixin } from 'vue';
7
+ import { ComponentProvideOptions } from 'vue';
8
+ import { ComputedRef } from 'vue';
9
+ import { DefineComponent } from 'vue';
10
+ import { InjectionKey } from 'vue';
11
+ import { Method } from 'axios';
12
+ import { PublicProps } from 'vue';
13
+ import { Ref } from 'vue';
14
+ import { ShallowUnwrapRef } from 'vue';
15
+ import { UseDebounceFnReturn } from '@vueuse/shared';
16
+ import { VNode } from 'vue';
17
+ import { VNodeProps } from 'vue';
18
+
19
+ declare const __VLS_component: DefineComponent<__VLS_PublicProps, {
20
+ submit: () => void;
21
+ reset: () => void;
22
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
23
+ "update:datatableHiddenColumns": (value: string[] | undefined) => any;
24
+ "update:showDetail": (value: boolean) => any;
25
+ } & {
26
+ reset: () => any;
27
+ submit: () => any;
28
+ bookmarkLoadAfter: () => any;
29
+ }, string, PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
30
+ onReset?: (() => any) | undefined;
31
+ onSubmit?: (() => any) | undefined;
32
+ "onUpdate:datatableHiddenColumns"?: ((value: string[] | undefined) => any) | undefined;
33
+ onBookmarkLoadAfter?: (() => any) | undefined;
34
+ "onUpdate:showDetail"?: ((value: boolean) => any) | undefined;
35
+ }>, {
36
+ userId: IntegerIdNullable;
37
+ client: () => AxiosInstance;
38
+ enableTop: boolean;
39
+ hideButtons: boolean;
40
+ formName: string;
41
+ store: FilterStoreIdentifier | boolean;
42
+ alwaysVisible: boolean;
43
+ hideMore: boolean;
44
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
45
+
46
+ declare const __VLS_component_2: DefineComponent<__VLS_PublicProps_2, {
47
+ submit: () => void;
48
+ reset: () => void;
49
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
50
+ "update:datatableHiddenColumns": (value: string[] | undefined) => any;
51
+ } & {
52
+ reset: () => any;
53
+ submit: () => any;
54
+ bookmarkLoadAfter: () => any;
55
+ }, string, PublicProps, Readonly<__VLS_PublicProps_2> & Readonly<{
56
+ onReset?: (() => any) | undefined;
57
+ onSubmit?: (() => any) | undefined;
58
+ "onUpdate:datatableHiddenColumns"?: ((value: string[] | undefined) => any) | undefined;
59
+ onBookmarkLoadAfter?: (() => any) | undefined;
60
+ }>, {
61
+ userId: IntegerIdNullable;
62
+ client: () => AxiosInstance;
63
+ hideButtons: boolean;
64
+ formName: string;
65
+ disableFilterUrlSync: boolean;
66
+ store: FilterStoreIdentifier | boolean;
67
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
68
+
69
+ declare const __VLS_component_3: DefineComponent<__VLS_Props_8, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
70
+ change: () => any;
71
+ }, string, PublicProps, Readonly<__VLS_Props_8> & Readonly<{
72
+ onChange?: (() => any) | undefined;
73
+ }>, {
74
+ placeholder: string;
75
+ dataCy: string;
76
+ allowed: TimeIntervalToolsValue[];
77
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
78
+
79
+ declare type __VLS_PrettifyLocal<T> = {
80
+ [K in keyof T]: T[K];
81
+ } & {};
82
+
83
+ declare type __VLS_PrettifyLocal_2<T> = {
84
+ [K in keyof T]: T[K];
85
+ } & {};
86
+
87
+ declare type __VLS_PrettifyLocal_3<T> = {
88
+ [K in keyof T]: T[K];
89
+ } & {};
90
+
91
+ declare type __VLS_PrettifyLocal_4<T> = {
92
+ [K in keyof T]: T[K];
93
+ } & {};
94
+
95
+ declare type __VLS_PrettifyLocal_5<T> = {
96
+ [K in keyof T]: T[K];
97
+ } & {};
98
+
99
+ declare type __VLS_PrettifyLocal_6<T> = {
100
+ [K in keyof T]: T[K];
101
+ } & {};
102
+
103
+ declare type __VLS_Props = {
104
+ enableTop?: boolean;
105
+ hideButtons?: boolean;
106
+ formName?: string;
107
+ userId?: IntegerIdNullable | undefined;
108
+ client?: (() => AxiosInstance) | undefined;
109
+ store?: FilterStoreIdentifier | boolean;
110
+ alwaysVisible?: boolean;
111
+ hideMore?: boolean;
112
+ };
113
+
114
+ declare type __VLS_Props_10 = {
115
+ variant?: 'id' | 'createdAt' | 'most-relevant';
116
+ customOptions?: undefined | DatatableOrderingOptions;
117
+ paginationUpdateCustomCb?: ((option: DatatableOrderingOption, pagination: Ref<Pagination>) => void) | undefined;
118
+ };
119
+
120
+ declare type __VLS_Props_11 = {
121
+ itemsPerPageOptions?: number[];
122
+ hideRecordsPerPage?: boolean;
123
+ };
124
+
125
+ declare type __VLS_Props_12 = Props_4;
126
+
127
+ declare type __VLS_Props_2 = {
128
+ hideButtons?: boolean;
129
+ formName?: string;
130
+ disableFilterUrlSync?: boolean;
131
+ userId?: IntegerIdNullable | undefined;
132
+ client?: (() => AxiosInstance) | undefined;
133
+ store?: FilterStoreIdentifier | boolean;
134
+ };
135
+
136
+ declare type __VLS_Props_3 = {
137
+ name: string;
138
+ allT?: string;
139
+ trueT?: string;
140
+ falseT?: string;
141
+ dataCy?: string;
142
+ };
143
+
144
+ declare type __VLS_Props_4 = {
145
+ name: string;
146
+ dataCy?: string;
147
+ };
148
+
149
+ declare type __VLS_Props_5 = {
150
+ name: string;
151
+ placeholder?: string | undefined;
152
+ dataCy?: string;
153
+ };
154
+
155
+ declare type __VLS_Props_6 = {
156
+ name: string;
157
+ fetchItemsMinimal: FetchItemsMinimalType;
158
+ fetchItemsMinimalByIds: FetchItemsMinimalByIdsType;
159
+ filterByField: string;
160
+ filterSortBy?: DatatableSortBy;
161
+ placeholder?: string | undefined;
162
+ prefetch?: 'hover' | 'focus' | 'mounted' | false;
163
+ searchMinChars?: number;
164
+ itemTitle?: string;
165
+ itemValue?: string;
166
+ };
167
+
168
+ declare type __VLS_Props_7 = {
169
+ name: string;
170
+ placeholder?: string | undefined;
171
+ dataCy?: string;
172
+ };
173
+
174
+ declare type __VLS_Props_8 = {
175
+ nameFrom: string;
176
+ nameUntil: string;
177
+ allowed?: TimeIntervalToolsValue[];
178
+ placeholder?: string | undefined;
179
+ dataCy?: string;
180
+ };
181
+
182
+ declare type __VLS_Props_9 = {
183
+ name: string;
184
+ items: ValueObjectOption<string | number>[];
185
+ };
186
+
187
+ declare type __VLS_PublicProps = {
188
+ 'datatableHiddenColumns'?: string[] | undefined;
189
+ 'showDetail'?: boolean;
190
+ } & __VLS_Props;
191
+
192
+ declare type __VLS_PublicProps_2 = {
193
+ 'datatableHiddenColumns'?: string[] | undefined;
194
+ } & __VLS_Props_2;
195
+
196
+ declare type __VLS_PublicProps_3 = {
197
+ 'modelValue'?: number;
198
+ } & __VLS_Props_10;
199
+
200
+ declare type __VLS_PublicProps_4 = {
201
+ modelValue: boolean;
202
+ } & __VLS_Props_12;
203
+
204
+ declare function __VLS_template(): {
205
+ attrs: Partial<{}>;
206
+ slots: Partial<Record<string, (_: {
207
+ itemConfig: FilterField;
208
+ }) => any>> & {
209
+ top?(_: {}): any;
210
+ bookmarks?(_: {}): any;
211
+ search?(_: {}): any;
212
+ buttons?(_: {}): any;
213
+ detail?(_: {}): any;
214
+ };
215
+ refs: {};
216
+ rootEl: any;
217
+ };
218
+
219
+ declare function __VLS_template_2(): {
220
+ attrs: Partial<{}>;
221
+ slots: Partial<Record<string, (_: {
222
+ itemConfig: FilterField;
223
+ }) => any>> & {
224
+ bookmarks?(_: {}): any;
225
+ detail?(_: {}): any;
226
+ buttons?(_: {}): any;
227
+ };
228
+ refs: {};
229
+ rootEl: any;
230
+ };
231
+
232
+ declare function __VLS_template_3(): {
233
+ attrs: Partial<{}>;
234
+ slots: {
235
+ title?(_: {}): any;
236
+ };
237
+ refs: {};
238
+ rootEl: any;
239
+ };
240
+
241
+ declare type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
242
+
243
+ declare type __VLS_TemplateResult_2 = ReturnType<typeof __VLS_template_2>;
244
+
245
+ declare type __VLS_TemplateResult_3 = ReturnType<typeof __VLS_template_3>;
246
+
247
+ declare type __VLS_WithTemplateSlots<T, S> = T & {
248
+ new (): {
249
+ $slots: S;
250
+ };
251
+ };
252
+
253
+ declare type __VLS_WithTemplateSlots_2<T, S> = T & {
254
+ new (): {
255
+ $slots: S;
256
+ };
257
+ };
258
+
259
+ declare type __VLS_WithTemplateSlots_3<T, S> = T & {
260
+ new (): {
261
+ $slots: S;
262
+ };
263
+ };
264
+
265
+ export declare const ADatatableOrdering: DefineComponent<__VLS_PublicProps_3, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
266
+ "update:modelValue": (value: number) => any;
267
+ } & {
268
+ sortByChange: (data: DatatableOrderingOption) => any;
269
+ }, string, PublicProps, Readonly<__VLS_PublicProps_3> & Readonly<{
270
+ "onUpdate:modelValue"?: ((value: number) => any) | undefined;
271
+ onSortByChange?: ((data: DatatableOrderingOption) => any) | undefined;
272
+ }>, {
273
+ variant: "id" | "createdAt" | "most-relevant";
274
+ customOptions: DatatableOrderingOptions;
275
+ paginationUpdateCustomCb: (option: DatatableOrderingOption, pagination: Ref<Pagination>) => void;
276
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
277
+
278
+ export declare const ADatatablePagination: DefineComponent<__VLS_Props_11, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
279
+ change: () => any;
280
+ }, string, PublicProps, Readonly<__VLS_Props_11> & Readonly<{
281
+ onChange?: (() => any) | undefined;
282
+ }>, {
283
+ itemsPerPageOptions: number[];
284
+ hideRecordsPerPage: boolean;
285
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
286
+
287
+ declare interface AddButtonSlotProps {
288
+ readonly: boolean;
289
+ disabled: boolean;
290
+ props: {
291
+ onClick: () => void;
292
+ };
293
+ actions: {
294
+ add: () => void;
295
+ };
296
+ }
297
+
298
+ declare interface AddButtonSlotProps_2 {
299
+ readonly: boolean;
300
+ disabled: boolean;
301
+ props: {
302
+ onClick: () => void;
303
+ };
304
+ actions: {
305
+ add: () => void;
306
+ };
307
+ }
308
+
309
+ declare interface AddButtonSlotProps_3 {
310
+ readonly: boolean;
311
+ disabled: boolean;
312
+ props: {
313
+ onClick: () => void;
314
+ };
315
+ actions: {
316
+ add: () => void;
317
+ };
318
+ }
319
+
320
+ export declare const AFilterBooleanSelect: DefineComponent<__VLS_Props_3, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
321
+ change: () => any;
322
+ }, string, PublicProps, Readonly<__VLS_Props_3> & Readonly<{
323
+ onChange?: (() => any) | undefined;
324
+ }>, {
325
+ dataCy: string;
326
+ allT: string;
327
+ trueT: string;
328
+ falseT: string;
329
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
330
+
331
+ export declare const AFilterDatetimePicker: DefineComponent<__VLS_Props_4, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
332
+ change: () => any;
333
+ }, string, PublicProps, Readonly<__VLS_Props_4> & Readonly<{
334
+ onChange?: (() => any) | undefined;
335
+ }>, {
336
+ dataCy: string;
337
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
338
+
339
+ export declare const AFilterInteger: DefineComponent<__VLS_Props_5, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
340
+ change: () => any;
341
+ }, string, PublicProps, Readonly<__VLS_Props_5> & Readonly<{
342
+ onChange?: (() => any) | undefined;
343
+ }>, {
344
+ placeholder: string;
345
+ dataCy: string;
346
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
347
+
348
+ export declare const AFilterRemoteAutocomplete: <T extends string | number>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
349
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
350
+ readonly onChange?: (() => any) | undefined;
351
+ } & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, "onChange"> & {
352
+ name: string;
353
+ fetchItems: (pagination: Ref<Pagination>, filterData: FilterData, filterConfig: FilterConfig) => Promise<ValueObjectOption<T>[]>;
354
+ fetchItemsByIds: (ids: T[]) => Promise<ValueObjectOption<T>[]>;
355
+ filterByField: string;
356
+ filterSortBy?: DatatableSortBy;
357
+ prefetch?: "hover" | "focus" | "mounted" | false;
358
+ minSearchChars?: number;
359
+ minSearchText?: string | undefined;
360
+ placeholder?: string | undefined;
361
+ } & Partial<{}>> & PublicProps;
362
+ expose(exposed: ShallowUnwrapRef< {}>): void;
363
+ attrs: any;
364
+ slots: {};
365
+ emit: (e: "change") => void;
366
+ }>) => VNode & {
367
+ __ctx?: Awaited<typeof __VLS_setup>;
368
+ };
369
+
370
+ export declare const AFilterRemoteAutocompleteWithMinimal: DefineComponent<__VLS_Props_6, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
371
+ change: () => any;
372
+ }, string, PublicProps, Readonly<__VLS_Props_6> & Readonly<{
373
+ onChange?: (() => any) | undefined;
374
+ }>, {
375
+ placeholder: string;
376
+ itemTitle: string;
377
+ itemValue: string;
378
+ filterSortBy: {
379
+ key: string;
380
+ order: SortOrderType;
381
+ } | null;
382
+ prefetch: "hover" | "focus" | "mounted" | false;
383
+ searchMinChars: number;
384
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
385
+
386
+ export declare const AFilterString: DefineComponent<__VLS_Props_7, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
387
+ change: () => any;
388
+ }, string, PublicProps, Readonly<__VLS_Props_7> & Readonly<{
389
+ onChange?: (() => any) | undefined;
390
+ }>, {
391
+ placeholder: string;
392
+ dataCy: string;
393
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
394
+
395
+ export declare const AFilterTimeInterval: __VLS_WithTemplateSlots_3<typeof __VLS_component_3, __VLS_TemplateResult_3["slots"]>;
396
+
397
+ export declare const AFilterValueObjectOptionsSelect: DefineComponent<__VLS_Props_9, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
398
+ change: () => any;
399
+ }, string, PublicProps, Readonly<__VLS_Props_9> & Readonly<{
400
+ onChange?: (() => any) | undefined;
401
+ }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
402
+
403
+ export declare const AFilterWrapper: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
404
+
405
+ export declare const AFilterWrapperSubjectSelect: __VLS_WithTemplateSlots_2<typeof __VLS_component_2, __VLS_TemplateResult_2["slots"]>;
406
+
407
+ export declare const AFormRemoteAutocomplete: <T extends string | number>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal_2<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
408
+ props: __VLS_PrettifyLocal_2<Pick<Partial<{}> & Omit<{
409
+ readonly onBlur?: ((data: T | T[] | null | undefined) => any) | undefined;
410
+ readonly onFocus?: ((data: T | T[] | null | undefined) => any) | undefined;
411
+ readonly "onUpdate:modelValue"?: ((value: T | T[] | null | undefined) => any) | undefined;
412
+ readonly "onUpdate:selected"?: ((value: ValueObjectOption<T> | ValueObjectOption<T>[] | null) => any) | undefined;
413
+ readonly onSearchChange?: ((data: string) => any) | undefined;
414
+ readonly onSearchChangeDebounced?: ((data: string) => any) | undefined;
415
+ readonly "onClick:chipClose"?: ((data: ValueObjectOption<T>) => any) | undefined;
416
+ } & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, "onUpdate:modelValue" | "onFocus" | "onBlur" | "onUpdate:selected" | "onSearchChange" | "onSearchChangeDebounced" | "onClick:chipClose"> & ({
417
+ modelValue: T | T[] | null | undefined;
418
+ selected?: ValueObjectOption<T> | ValueObjectOption<T>[] | null;
419
+ } & {
420
+ label?: string | undefined;
421
+ required?: boolean | undefined;
422
+ multiple?: boolean;
423
+ clearable?: boolean;
424
+ v?: any;
425
+ errorMessage?: string;
426
+ hideDetails?: boolean;
427
+ hideLabel?: boolean;
428
+ fetchItems: (pagination: Ref<Pagination>, filterData: FilterData, filterConfig: FilterConfig) => Promise<ValueObjectOption<T>[]>;
429
+ fetchItemsByIds: (ids: T[]) => Promise<ValueObjectOption<T>[]>;
430
+ filterByField: string;
431
+ filterSortBy?: DatatableSortBy;
432
+ loading?: boolean;
433
+ collab?: CollabComponentConfig;
434
+ disabled?: boolean | undefined;
435
+ readonly?: boolean;
436
+ chips?: boolean;
437
+ closableChips?: boolean;
438
+ disableAutoSingleSelect?: boolean;
439
+ prefetch?: "hover" | "focus" | "mounted" | false;
440
+ minSearchChars?: number;
441
+ minSearchText?: string | undefined;
442
+ }) & Partial<{}>> & PublicProps;
443
+ expose(exposed: ShallowUnwrapRef< {
444
+ tryLoadModelValue: (tryLoadValue: T | T[] | null | undefined, prefetch?: boolean) => Promise<boolean | undefined>;
445
+ }>): void;
446
+ attrs: any;
447
+ slots: {
448
+ locked?(_: {
449
+ userId: number;
450
+ }): any;
451
+ append?(_: {}): any;
452
+ };
453
+ emit: {
454
+ (e: "searchChange", data: string): void;
455
+ (e: "searchChangeDebounced", data: string): void;
456
+ (e: "blur", data: T | T[] | null | undefined): void;
457
+ (e: "focus", data: T | T[] | null | undefined): void;
458
+ (e: "click:chipClose", data: ValueObjectOption<T>): void;
459
+ } & (((evt: "update:modelValue", value: T | T[] | null | undefined) => void) & ((evt: "update:selected", value: ValueObjectOption<T> | ValueObjectOption<T>[] | null) => void));
460
+ }>) => VNode & {
461
+ __ctx?: Awaited<typeof __VLS_setup>;
462
+ };
463
+
464
+ export declare const AListEditor: <TItem extends Record<string, any>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal_4<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
465
+ props: __VLS_PrettifyLocal_4<Pick<Partial<{}> & Omit<{
466
+ readonly onDeleted?: ((item: ListViewItem<TItem>) => any) | undefined;
467
+ readonly onClose?: ((item: ListViewItem<TItem>) => any) | undefined;
468
+ readonly onEdit?: ((item: ListViewItem<TItem>) => any) | undefined;
469
+ readonly onAdd?: ((positionHint: PositionHint | undefined) => any) | undefined;
470
+ readonly "onUpdate:modelValue"?: ((value: TItem[]) => any) | undefined;
471
+ readonly "onUpdate:unsavedKeys"?: ((value: Set<ListEditorKey>) => any) | undefined;
472
+ readonly "onItem-saved"?: ((item: ListViewItem<TItem>) => any) | undefined;
473
+ readonly "onItem-expand"?: ((item: ListViewItem<TItem>, expanded: boolean) => any) | undefined;
474
+ } & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, "onUpdate:modelValue" | "onClose" | "onEdit" | "onAdd" | "onDeleted" | "onUpdate:unsavedKeys" | "onItem-saved" | "onItem-expand"> & ({
475
+ modelValue: TItem[];
476
+ unsavedKeys?: Set<ListEditorKey>;
477
+ } & Props<TItem>) & Partial<{}>> & PublicProps;
478
+ expose(exposed: ShallowUnwrapRef< {
479
+ addItem: (data: TItem, positionHint?: PositionHint) => TItem[];
480
+ deleteItem: (idOrItem: ListEditorKey | TItem) => TItem[];
481
+ updateItem: (idOrItem: ListEditorKey | TItem, data: TItem) => TItem[];
482
+ moveItem: (fromIndex: number, toIndex: number) => TItem[];
483
+ recalculatePositions: (items: TItem[]) => TItem[];
484
+ viewItems: ComputedRef<ListViewItem<TItem>[]>;
485
+ resetDirtyBaseline: () => void;
486
+ hasUnsavedChanges: ComputedRef<boolean>;
487
+ unsavedCount: ComputedRef<number>;
488
+ clearUnsavedState: (key?: ListEditorKey) => void;
489
+ }>): void;
490
+ attrs: any;
491
+ slots: Readonly<{
492
+ header?: (props: HeaderSlotProps) => unknown;
493
+ empty?: (props: EmptySlotProps) => unknown;
494
+ 'add-button'?: (props: AddButtonSlotProps) => unknown;
495
+ item?: (props: RowSlotProps<TItem>) => unknown;
496
+ 'item-compact'?: (props: RowSlotProps<TItem>) => unknown;
497
+ 'item-readonly'?: (props: RowSlotProps<TItem>) => unknown;
498
+ 'item-status'?: (props: RowSlotProps<TItem>) => unknown;
499
+ 'item-actions'?: (props: RowSlotProps<TItem>) => unknown;
500
+ 'item-footer'?: (props: RowSlotProps<TItem>) => unknown;
501
+ 'before-item'?: (props: RowSlotProps<TItem>) => unknown;
502
+ 'after-item'?: (props: RowSlotProps<TItem>) => unknown;
503
+ }> & {
504
+ header?: (props: HeaderSlotProps) => unknown;
505
+ empty?: (props: EmptySlotProps) => unknown;
506
+ 'add-button'?: (props: AddButtonSlotProps) => unknown;
507
+ item?: (props: RowSlotProps<TItem>) => unknown;
508
+ 'item-compact'?: (props: RowSlotProps<TItem>) => unknown;
509
+ 'item-readonly'?: (props: RowSlotProps<TItem>) => unknown;
510
+ 'item-status'?: (props: RowSlotProps<TItem>) => unknown;
511
+ 'item-actions'?: (props: RowSlotProps<TItem>) => unknown;
512
+ 'item-footer'?: (props: RowSlotProps<TItem>) => unknown;
513
+ 'before-item'?: (props: RowSlotProps<TItem>) => unknown;
514
+ 'after-item'?: (props: RowSlotProps<TItem>) => unknown;
515
+ };
516
+ emit: (((evt: "deleted", item: ListViewItem<TItem>) => void) & ((evt: "close", item: ListViewItem<TItem>) => void) & ((evt: "edit", item: ListViewItem<TItem>) => void) & ((evt: "add", positionHint: PositionHint | undefined) => void) & ((evt: "item-saved", item: ListViewItem<TItem>) => void) & ((evt: "item-expand", item: ListViewItem<TItem>, expanded: boolean) => void)) & (((evt: "update:modelValue", value: TItem[]) => void) & ((evt: "update:unsavedKeys", value: Set<ListEditorKey>) => void));
517
+ }>) => VNode & {
518
+ __ctx?: Awaited<typeof __VLS_setup>;
519
+ };
520
+
521
+ declare type AllowedFilterValues = number | number[] | string | string[] | null | undefined | boolean;
522
+
523
+ export declare const ANestedSortableListEditor: <TItem extends Record<string, any>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal_6<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
524
+ props: __VLS_PrettifyLocal_6<Pick<Partial<{}> & Omit<{
525
+ readonly onDeleted?: ((item: NestedViewItem<TItem>) => any) | undefined;
526
+ readonly onClose?: ((item: NestedViewItem<TItem>) => any) | undefined;
527
+ readonly onEdit?: ((item: NestedViewItem<TItem>) => any) | undefined;
528
+ readonly onAdd?: ((hint: NestedPositionHint | undefined) => any) | undefined;
529
+ readonly onIndent?: ((item: NestedViewItem<TItem>) => any) | undefined;
530
+ readonly onOutdent?: ((item: NestedViewItem<TItem>) => any) | undefined;
531
+ readonly "onUpdate:modelValue"?: ((value: NestedTree<TItem>) => any) | undefined;
532
+ readonly "onUpdate:mode"?: ((value: ReorderMode_2) => any) | undefined;
533
+ readonly "onUpdate:unsavedKeys"?: ((value: Set<ListEditorKey>) => any) | undefined;
534
+ readonly "onItem-saved"?: ((item: NestedViewItem<TItem>) => any) | undefined;
535
+ readonly "onItem-expand"?: ((item: NestedViewItem<TItem>, expanded: boolean) => any) | undefined;
536
+ readonly "onReorder-start"?: (() => any) | undefined;
537
+ readonly "onReorder-cancel"?: (() => any) | undefined;
538
+ readonly "onReorder-applied"?: ((tree: NestedTree<TItem>) => any) | undefined;
539
+ readonly "onReorder-apply-error"?: ((error: unknown) => any) | undefined;
540
+ readonly "onReorder-end"?: (() => any) | undefined;
541
+ readonly "onAdd-child"?: ((parent: NestedViewItem<TItem>) => any) | undefined;
542
+ } & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, "onUpdate:modelValue" | "onClose" | "onUpdate:mode" | "onEdit" | "onAdd" | "onDeleted" | "onUpdate:unsavedKeys" | "onItem-saved" | "onItem-expand" | "onReorder-start" | "onReorder-cancel" | "onReorder-applied" | "onReorder-apply-error" | "onReorder-end" | "onIndent" | "onOutdent" | "onAdd-child"> & ({
543
+ modelValue: NestedTree<TItem>;
544
+ mode?: ReorderMode_2;
545
+ unsavedKeys?: Set<ListEditorKey>;
546
+ } & Props_3<TItem>) & Partial<{}>> & PublicProps;
547
+ expose(exposed: ShallowUnwrapRef< {
548
+ addItem: (data: TItem, hint?: PositionHint & {
549
+ parentId?: ListEditorKey | null;
550
+ asFirstChild?: boolean;
551
+ childrenAllowed?: boolean;
552
+ }) => NestedTree<TItem>;
553
+ addAfterId: (targetId: ListEditorKey | null, data: TItem, childrenAllowed: boolean) => NestedTree<TItem>;
554
+ addChildToId: (targetId: ListEditorKey, data: TItem, childrenAllowed: boolean) => NestedTree<TItem>;
555
+ removeById: (id: ListEditorKey) => void;
556
+ updateData: (id: ListEditorKey, data: TItem, _children?: unknown, _position?: unknown, _markUnsaved?: unknown) => void;
557
+ updateItem: (id: ListEditorKey, data: TItem) => NestedTree<TItem>;
558
+ deleteItem: (id: ListEditorKey) => NestedTree<TItem>;
559
+ moveUp: (id: ListEditorKey) => NestedTree<TItem> | null;
560
+ moveDown: (id: ListEditorKey) => NestedTree<TItem> | null;
561
+ moveTop: (id: ListEditorKey) => NestedTree<TItem> | null;
562
+ moveBottom: (id: ListEditorKey) => NestedTree<TItem> | null;
563
+ indent: (id: ListEditorKey) => NestedTree<TItem> | null;
564
+ outdent: (id: ListEditorKey) => NestedTree<TItem> | null;
565
+ moveTo: (id: ListEditorKey, targetParentId: ListEditorKey | null, targetIndex: number) => NestedTree<TItem> | null;
566
+ recalculatePositions: (model: NestedTree<TItem>) => NestedTree<TItem>;
567
+ viewItems: ComputedRef<NestedViewItem<TItem>[]>;
568
+ resetDirtyBaseline: () => void;
569
+ hasUnsavedChanges: ComputedRef<boolean>;
570
+ unsavedCount: ComputedRef<number>;
571
+ clearUnsavedState: (key?: ListEditorKey) => void;
572
+ enterReorderMode: () => void;
573
+ cancelReorderMode: () => void;
574
+ applyReorder: () => Promise<void>;
575
+ expand: (id: ListEditorKey) => Set<ListEditorKey> & Omit<Set<ListEditorKey>, keyof Set<any>>;
576
+ collapse: (id: ListEditorKey) => boolean;
577
+ toggleExpand: (id: ListEditorKey) => void;
578
+ expandDetail: (id: ListEditorKey) => Set<ListEditorKey> & Omit<Set<ListEditorKey>, keyof Set<any>>;
579
+ collapseDetail: (id: ListEditorKey) => boolean;
580
+ }>): void;
581
+ attrs: any;
582
+ slots: Readonly<{
583
+ header?: (props: HeaderSlotProps_3) => unknown;
584
+ 'reorder-toggle'?: (props: ReorderToggleSlotProps_2) => unknown;
585
+ 'reorder-toolbar'?: (props: ToolbarSlotProps_2) => unknown;
586
+ empty?: (props: EmptySlotProps_3) => unknown;
587
+ 'add-button'?: (props: AddButtonSlotProps_3) => unknown;
588
+ item?: (props: RowSlotProps_3<TItem>) => unknown;
589
+ 'item-compact'?: (props: RowSlotProps_3<TItem>) => unknown;
590
+ 'item-readonly'?: (props: RowSlotProps_3<TItem>) => unknown;
591
+ 'item-status'?: (props: RowSlotProps_3<TItem>) => unknown;
592
+ 'item-footer'?: (props: RowSlotProps_3<TItem>) => unknown;
593
+ 'item-actions'?: (props: RowSlotProps_3<TItem>) => unknown;
594
+ 'before-item'?: (props: RowSlotProps_3<TItem>) => unknown;
595
+ 'after-item'?: (props: RowSlotProps_3<TItem>) => unknown;
596
+ }> & {
597
+ header?: (props: HeaderSlotProps_3) => unknown;
598
+ 'reorder-toggle'?: (props: ReorderToggleSlotProps_2) => unknown;
599
+ 'reorder-toolbar'?: (props: ToolbarSlotProps_2) => unknown;
600
+ empty?: (props: EmptySlotProps_3) => unknown;
601
+ 'add-button'?: (props: AddButtonSlotProps_3) => unknown;
602
+ item?: (props: RowSlotProps_3<TItem>) => unknown;
603
+ 'item-compact'?: (props: RowSlotProps_3<TItem>) => unknown;
604
+ 'item-readonly'?: (props: RowSlotProps_3<TItem>) => unknown;
605
+ 'item-status'?: (props: RowSlotProps_3<TItem>) => unknown;
606
+ 'item-footer'?: (props: RowSlotProps_3<TItem>) => unknown;
607
+ 'item-actions'?: (props: RowSlotProps_3<TItem>) => unknown;
608
+ 'before-item'?: (props: RowSlotProps_3<TItem>) => unknown;
609
+ 'after-item'?: (props: RowSlotProps_3<TItem>) => unknown;
610
+ };
611
+ emit: (((evt: "deleted", item: NestedViewItem<TItem>) => void) & ((evt: "close", item: NestedViewItem<TItem>) => void) & ((evt: "edit", item: NestedViewItem<TItem>) => void) & ((evt: "add", hint: NestedPositionHint | undefined) => void) & ((evt: "indent", item: NestedViewItem<TItem>) => void) & ((evt: "outdent", item: NestedViewItem<TItem>) => void) & ((evt: "item-saved", item: NestedViewItem<TItem>) => void) & ((evt: "item-expand", item: NestedViewItem<TItem>, expanded: boolean) => void) & ((evt: "reorder-start") => void) & ((evt: "reorder-cancel") => void) & ((evt: "reorder-applied", tree: NestedTree<TItem>) => void) & ((evt: "reorder-apply-error", error: unknown) => void) & ((evt: "reorder-end") => void) & ((evt: "add-child", parent: NestedViewItem<TItem>) => void)) & (((evt: "update:modelValue", value: NestedTree<TItem>) => void) & ((evt: "update:mode", value: ReorderMode_2) => void) & ((evt: "update:unsavedKeys", value: Set<ListEditorKey>) => void));
612
+ }>) => VNode & {
613
+ __ctx?: Awaited<typeof __VLS_setup>;
614
+ };
615
+
616
+ declare interface AnzuUserAndTimeTrackingAware extends CreatedByAware {
617
+ createdAt: DatetimeUTC;
618
+ modifiedAt: DatetimeUTC;
619
+ modifiedBy: IntegerIdNullable;
620
+ }
621
+
622
+ declare interface AnzuUserMinimal extends BaseUser {
623
+ id: IntegerId;
624
+ }
625
+
626
+ export declare const ASortableListEditor: <TItem extends Record<string, any>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal_5<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
627
+ props: __VLS_PrettifyLocal_5<Pick<Partial<{}> & Omit<{
628
+ readonly onDeleted?: ((item: ListViewItem<TItem>) => any) | undefined;
629
+ readonly onClose?: ((item: ListViewItem<TItem>) => any) | undefined;
630
+ readonly onEdit?: ((item: ListViewItem<TItem>) => any) | undefined;
631
+ readonly onAdd?: ((positionHint: PositionHint | undefined) => any) | undefined;
632
+ readonly "onUpdate:modelValue"?: ((value: TItem[]) => any) | undefined;
633
+ readonly "onUpdate:mode"?: ((value: ReorderMode) => any) | undefined;
634
+ readonly "onUpdate:unsavedKeys"?: ((value: Set<ListEditorKey>) => any) | undefined;
635
+ readonly "onItem-saved"?: ((item: ListViewItem<TItem>) => any) | undefined;
636
+ readonly "onItem-expand"?: ((item: ListViewItem<TItem>, expanded: boolean) => any) | undefined;
637
+ readonly "onReorder-start"?: (() => any) | undefined;
638
+ readonly "onReorder-cancel"?: (() => any) | undefined;
639
+ readonly "onReorder-applied"?: ((items: TItem[]) => any) | undefined;
640
+ readonly "onReorder-apply-error"?: ((error: unknown) => any) | undefined;
641
+ readonly "onReorder-end"?: (() => any) | undefined;
642
+ } & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, "onUpdate:modelValue" | "onClose" | "onUpdate:mode" | "onEdit" | "onAdd" | "onDeleted" | "onUpdate:unsavedKeys" | "onItem-saved" | "onItem-expand" | "onReorder-start" | "onReorder-cancel" | "onReorder-applied" | "onReorder-apply-error" | "onReorder-end"> & ({
643
+ modelValue: TItem[];
644
+ mode?: ReorderMode;
645
+ unsavedKeys?: Set<ListEditorKey>;
646
+ } & Props_2<TItem>) & Partial<{}>> & PublicProps;
647
+ expose(exposed: ShallowUnwrapRef< {
648
+ addItem: (data: TItem, positionHint?: PositionHint) => TItem[];
649
+ deleteItem: (idOrItem: ListEditorKey | TItem) => TItem[];
650
+ updateItem: (idOrItem: ListEditorKey | TItem, data: TItem) => TItem[];
651
+ moveItem: (fromIndex: number, toIndex: number) => TItem[];
652
+ recalculatePositions: (items: TItem[]) => TItem[];
653
+ viewItems: ComputedRef<ListViewItem<TItem>[]>;
654
+ resetDirtyBaseline: () => void;
655
+ hasUnsavedChanges: ComputedRef<boolean>;
656
+ unsavedCount: ComputedRef<number>;
657
+ clearUnsavedState: (key?: ListEditorKey) => void;
658
+ enterReorderMode: () => void;
659
+ cancelReorderMode: () => void;
660
+ applyReorder: () => Promise<void>;
661
+ }>): void;
662
+ attrs: any;
663
+ slots: Readonly<{
664
+ header?: (props: HeaderSlotProps_2) => unknown;
665
+ 'reorder-toggle'?: (props: ReorderToggleSlotProps) => unknown;
666
+ 'reorder-toolbar'?: (props: ToolbarSlotProps) => unknown;
667
+ empty?: (props: EmptySlotProps_2) => unknown;
668
+ 'add-button'?: (props: AddButtonSlotProps_2) => unknown;
669
+ item?: (props: RowSlotProps_2<TItem>) => unknown;
670
+ 'item-compact'?: (props: RowSlotProps_2<TItem>) => unknown;
671
+ 'item-readonly'?: (props: RowSlotProps_2<TItem>) => unknown;
672
+ 'item-status'?: (props: RowSlotProps_2<TItem>) => unknown;
673
+ 'item-actions'?: (props: RowSlotProps_2<TItem>) => unknown;
674
+ 'item-footer'?: (props: RowSlotProps_2<TItem>) => unknown;
675
+ 'before-item'?: (props: RowSlotProps_2<TItem>) => unknown;
676
+ 'after-item'?: (props: RowSlotProps_2<TItem>) => unknown;
677
+ }> & {
678
+ header?: (props: HeaderSlotProps_2) => unknown;
679
+ 'reorder-toggle'?: (props: ReorderToggleSlotProps) => unknown;
680
+ 'reorder-toolbar'?: (props: ToolbarSlotProps) => unknown;
681
+ empty?: (props: EmptySlotProps_2) => unknown;
682
+ 'add-button'?: (props: AddButtonSlotProps_2) => unknown;
683
+ item?: (props: RowSlotProps_2<TItem>) => unknown;
684
+ 'item-compact'?: (props: RowSlotProps_2<TItem>) => unknown;
685
+ 'item-readonly'?: (props: RowSlotProps_2<TItem>) => unknown;
686
+ 'item-status'?: (props: RowSlotProps_2<TItem>) => unknown;
687
+ 'item-actions'?: (props: RowSlotProps_2<TItem>) => unknown;
688
+ 'item-footer'?: (props: RowSlotProps_2<TItem>) => unknown;
689
+ 'before-item'?: (props: RowSlotProps_2<TItem>) => unknown;
690
+ 'after-item'?: (props: RowSlotProps_2<TItem>) => unknown;
691
+ };
692
+ emit: (((evt: "deleted", item: ListViewItem<TItem>) => void) & ((evt: "close", item: ListViewItem<TItem>) => void) & ((evt: "edit", item: ListViewItem<TItem>) => void) & ((evt: "add", positionHint: PositionHint | undefined) => void) & ((evt: "item-saved", item: ListViewItem<TItem>) => void) & ((evt: "item-expand", item: ListViewItem<TItem>, expanded: boolean) => void) & ((evt: "reorder-start") => void) & ((evt: "reorder-cancel") => void) & ((evt: "reorder-applied", items: TItem[]) => void) & ((evt: "reorder-apply-error", error: unknown) => void) & ((evt: "reorder-end") => void)) & (((evt: "update:modelValue", value: TItem[]) => void) & ((evt: "update:mode", value: ReorderMode) => void) & ((evt: "update:unsavedKeys", value: Set<ListEditorKey>) => void));
693
+ }>) => VNode & {
694
+ __ctx?: Awaited<typeof __VLS_setup>;
695
+ };
696
+
697
+ export declare const ASubjectSelect: <TItem>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal_3<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
698
+ props: __VLS_PrettifyLocal_3<Pick<Partial<{}> & Omit<{
699
+ readonly "onUpdate:modelValue"?: ((data: boolean) => any) | undefined;
700
+ readonly onOnConfirm?: ((data: TItem[]) => any) | undefined;
701
+ readonly onOnOpen?: (() => any) | undefined;
702
+ readonly "onUpdate:pagination"?: ((data: Pagination) => any) | undefined;
703
+ readonly onOnPageChange?: (() => any) | undefined;
704
+ readonly onOnFetchNextPage?: (() => any) | undefined;
705
+ } & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, "onUpdate:modelValue" | "onOnConfirm" | "onOnOpen" | "onUpdate:pagination" | "onOnPageChange" | "onOnFetchNextPage"> & {
706
+ selectedItems: Array<TItem>;
707
+ pagination: Pagination;
708
+ loading?: boolean;
709
+ minCount?: number;
710
+ maxCount?: number;
711
+ modelValue?: boolean | undefined;
712
+ dialogTitleT?: string;
713
+ paginationMode?: "standard" | "more";
714
+ autoOpen?: boolean;
715
+ } & Partial<{}>> & PublicProps;
716
+ expose(exposed: ShallowUnwrapRef< {
717
+ open: () => void;
718
+ closeSidebarOnMobile: () => void;
719
+ }>): void;
720
+ attrs: any;
721
+ slots: {
722
+ activator?(_: {
723
+ props: {
724
+ onClick: () => void;
725
+ };
726
+ }): any;
727
+ title?(_: {}): any;
728
+ 'second-bar'?(_: {}): any;
729
+ 'second-bar-left'?(_: {}): any;
730
+ 'second-bar-right'?(_: {}): any;
731
+ filter?(_: {}): any;
732
+ content?(_: {}): any;
733
+ 'button-confirm-title'?(_: {}): any;
734
+ 'button-confirm-title'?(_: {}): any;
735
+ };
736
+ emit: {
737
+ (e: "update:modelValue", data: boolean): void;
738
+ (e: "update:pagination", data: Pagination): void;
739
+ (e: "onOpen"): void;
740
+ (e: "onPageChange"): void;
741
+ (e: "onConfirm", data: Array<TItem>): void;
742
+ (e: "onFetchNextPage"): void;
743
+ };
744
+ }>) => VNode & {
745
+ __ctx?: Awaited<typeof __VLS_setup>;
746
+ };
747
+
748
+ export declare const AUnsavedConfirmDialog: DefineComponent<__VLS_PublicProps_4, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
749
+ "update:modelValue": (value: boolean) => any;
750
+ resolve: (discard: boolean) => any;
751
+ }, string, PublicProps, Readonly<__VLS_PublicProps_4> & Readonly<{
752
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
753
+ onResolve?: ((discard: boolean) => any) | undefined;
754
+ }>, {
755
+ title: string;
756
+ body: string;
757
+ stayLabel: string;
758
+ discardLabel: string;
759
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
760
+
761
+ export declare type AxiosClientFn = () => AxiosInstance;
762
+
763
+ declare interface BaseUser {
764
+ id?: IntegerIdNullable;
765
+ email: string;
766
+ person: {
767
+ firstName: string;
768
+ lastName: string;
769
+ fullName: string;
770
+ };
771
+ avatar: {
772
+ color: string;
773
+ text: string;
774
+ };
775
+ }
776
+
777
+ declare type CachedItem<T extends object> = T & {
778
+ _loaded: boolean;
779
+ };
780
+
781
+ declare type CollabCachedUsersMap = Map<IntegerId, CachedItem<AnzuUserMinimal>>;
782
+
783
+ declare type CollabComponentConfig = undefined | {
784
+ room: CollabRoom;
785
+ field: CollabFieldName;
786
+ cachedUsers: CollabCachedUsersMap;
787
+ };
788
+
789
+ declare type CollabFieldName = string;
790
+
791
+ declare type CollabRoom = string;
792
+
793
+ declare type ColumnConfig = {
794
+ key: string;
795
+ title?: string;
796
+ sortable?: boolean;
797
+ fixed?: boolean;
798
+ maxWidth?: number;
799
+ };
800
+
801
+ export declare function createDatatableColumnsConfig(config: ColumnConfig[], columnsHidden: Ref<Array<string>>, system: string, subject: string, moreOptions?: Partial<DatatableColumnsConfigMoreOptions>): {
802
+ columnsAll: {
803
+ key: string;
804
+ title?: string;
805
+ sortable: boolean;
806
+ fixed: boolean;
807
+ maxWidth?: number;
808
+ }[];
809
+ columnsVisible: ComputedRef<any>;
810
+ columnsHidden: Ref<string[], string[]>;
811
+ };
812
+
813
+ declare interface CreatedByAware {
814
+ createdBy: IntegerIdNullable;
815
+ }
816
+
817
+ export declare function createFilter<F extends readonly MakeFilterOption<string>[]>(filterFields: F, store: FilterData<F>, options?: Partial<GeneralFilterOptions>): {
818
+ filterConfig: FilterConfig<F>;
819
+ filterData: FilterData<F>;
820
+ };
821
+
822
+ export declare function createFilterStore<F extends readonly MakeFilterOption<string>[]>(filterFields: F): FilterData<F>;
823
+
824
+ declare interface DatatableColumnsConfigMoreOptions {
825
+ storeColumnsLocalStorage: string | boolean;
826
+ disableActions: boolean;
827
+ customI18n: any;
828
+ showExpand: boolean;
829
+ }
830
+
831
+ declare type DatatableOrderingOption = {
832
+ id: number;
833
+ titleT: string;
834
+ sortBy?: DatatableSortBy;
835
+ customData?: any;
836
+ };
837
+
838
+ declare type DatatableOrderingOptions = Array<DatatableOrderingOption>;
839
+
840
+ export declare const DatatablePaginationKey: InjectionKey<Ref<Pagination>>;
841
+
842
+ declare type DatatableSortBy = {
843
+ key: string;
844
+ order: SortOrderType;
845
+ } | null | undefined;
846
+
847
+ /**
848
+ * Datetime in RFC 3339 format as string.
849
+ */
850
+ declare type DatetimeUTC = string;
851
+
852
+ /**
853
+ * Datetime in RFC 3339 format as string + null.
854
+ */
855
+ declare type DatetimeUTCNullable = string | null;
856
+
857
+ declare interface DecoratedNestedViewItem<T> extends NestedViewItem<T> {
858
+ editing: boolean;
859
+ expanded: boolean;
860
+ childrenExpanded: boolean;
861
+ loading: boolean;
862
+ dirty: boolean;
863
+ moved: boolean;
864
+ unsaved: boolean;
865
+ }
866
+
867
+ declare interface DecoratedViewItem<T> extends ListViewItem<T> {
868
+ editing: boolean;
869
+ expanded: boolean;
870
+ loading: boolean;
871
+ dirty: boolean;
872
+ }
873
+
874
+ declare interface DecoratedViewItem_2<T> extends ListViewItem<T> {
875
+ editing: boolean;
876
+ expanded: boolean;
877
+ loading: boolean;
878
+ dirty: boolean;
879
+ moved: boolean;
880
+ unsaved: boolean;
881
+ canMoveUp: boolean;
882
+ canMoveDown: boolean;
883
+ }
884
+
885
+ /**
886
+ * UUID v4 as string.
887
+ */
888
+ declare type DocId = string;
889
+
890
+ declare interface EmptySlotProps {
891
+ readonly: boolean;
892
+ disabled: boolean;
893
+ actions: {
894
+ add: () => void;
895
+ };
896
+ }
897
+
898
+ declare interface EmptySlotProps_2 {
899
+ readonly: boolean;
900
+ disabled: boolean;
901
+ actions: {
902
+ add: () => void;
903
+ };
904
+ }
905
+
906
+ declare interface EmptySlotProps_3 {
907
+ readonly: boolean;
908
+ disabled: boolean;
909
+ actions: {
910
+ add: () => void;
911
+ };
912
+ }
913
+
914
+ declare type ExecuteRequestParams<T> = {
915
+ urlTemplate?: string;
916
+ urlParams?: UrlParams;
917
+ object?: T;
918
+ };
919
+
920
+ declare type FetchByIdsParams = {
921
+ urlTemplate?: string;
922
+ urlParams?: UrlParams;
923
+ };
924
+
925
+ declare type FetchItemsMinimalByIdsType = ((ids: IntegerId[]) => Promise<any[]>) | ((ids: DocId[]) => Promise<any[]>);
926
+
927
+ declare type FetchItemsMinimalType = (pagination: Ref<Pagination>, filterData: FilterData, filterConfig: FilterConfig) => Promise<any[]>;
928
+
929
+ declare type FetchListBatchParams = {
930
+ urlTemplate?: string;
931
+ urlParams?: UrlParams;
932
+ sortBy?: string;
933
+ sortDesc?: boolean;
934
+ batchSize?: number;
935
+ forceElastic?: boolean;
936
+ };
937
+
938
+ declare type FetchListParams = {
939
+ urlTemplate?: string;
940
+ urlParams?: UrlParams;
941
+ forceElastic?: boolean;
942
+ };
943
+
944
+ declare interface FilerRenderOptions {
945
+ skip: boolean;
946
+ xs: number | undefined;
947
+ sm: number | undefined;
948
+ md: number | undefined;
949
+ lg: number | undefined;
950
+ xl: number | undefined;
951
+ }
952
+
953
+ export declare type FilterConfig<F extends readonly MakeFilterOption<string>[] = readonly MakeFilterOption<string>[]> = {
954
+ general: GeneralFilterOptions;
955
+ touched: boolean;
956
+ fields: {
957
+ [P in F[number]['name']]: FilterField;
958
+ };
959
+ };
960
+
961
+ export declare const FilterConfigKey: InjectionKey<FilterConfig>;
962
+
963
+ export declare type FilterData<F extends readonly MakeFilterOption<string>[] = readonly MakeFilterOption<string>[]> = {
964
+ [P in F[number]['name']]: AllowedFilterValues;
965
+ };
966
+
967
+ export declare const FilterDataKey: InjectionKey<FilterData>;
968
+
969
+ declare interface FilterField {
970
+ name: string;
971
+ type: FilterType;
972
+ variant: FilterVariant;
973
+ titleT?: string;
974
+ default: AllowedFilterValues;
975
+ apiName: string;
976
+ clearable: boolean;
977
+ mandatory: boolean;
978
+ multiple: boolean;
979
+ advanced: boolean;
980
+ exclude: boolean;
981
+ related: string | undefined;
982
+ render: FilerRenderOptions;
983
+ }
984
+
985
+ declare interface FilterHelpersMoreOptions {
986
+ storeFiltersLocalStorage: string | boolean;
987
+ populateUrlParams: boolean;
988
+ }
989
+
990
+ export declare const FilterInnerConfigKey: InjectionKey<FilterConfig>;
991
+
992
+ export declare const FilterInnerDataKey: InjectionKey<FilterData>;
993
+
994
+ export declare type FilterStore<T extends readonly {
995
+ name: string;
996
+ }[]> = {
997
+ [K in T[number]['name']]: AllowedFilterValues;
998
+ };
999
+
1000
+ declare type FilterStoreIdentifier = {
1001
+ system: string;
1002
+ subject: string;
1003
+ };
1004
+
1005
+ declare type FilterType = 'boolean' | 'datetime' | 'integer' | 'string' | 'custom' | 'timeInterval';
1006
+
1007
+ declare type FilterVariant = 'search' | 'lt' | 'in' | 'notIn' | 'endsWith' | 'startsWith' | 'memberOf' | 'neq' | 'gte' | 'gt' | 'eq' | 'lte' | 'custom';
1008
+
1009
+ declare type FilterVariant_2 = 'search' | 'lt' | 'in' | 'notIn' | 'endsWith' | 'startsWith' | 'memberOf' | 'contains' | 'neq' | 'gte' | 'gt' | 'eq' | 'lte' | 'custom';
1010
+
1011
+ declare interface GeneralFilterOptions {
1012
+ system?: string;
1013
+ subject?: string;
1014
+ elastic?: boolean;
1015
+ simpleFilters?: boolean;
1016
+ }
1017
+
1018
+ export declare const generateListQuery: (pagination: Ref<Pagination>, filterData: FilterData<any>, filterConfig: FilterConfig<any>) => string;
1019
+
1020
+ declare interface HeaderSlotProps {
1021
+ title: string | null;
1022
+ }
1023
+
1024
+ declare interface HeaderSlotProps_2 extends ReorderToggleSlotProps {
1025
+ title: string | null;
1026
+ }
1027
+
1028
+ declare interface HeaderSlotProps_3 extends ReorderToggleSlotProps_2 {
1029
+ title: string | null;
1030
+ }
1031
+
1032
+ /**
1033
+ * Integer ID.
1034
+ */
1035
+ declare type IntegerId = number;
1036
+
1037
+ /**
1038
+ * Integer ID + null.
1039
+ */
1040
+ declare type IntegerIdNullable = number | null;
1041
+
1042
+ declare const JOB_RESOURCE_USER_DATA_DELETE = "jobUserDataDelete";
1043
+
1044
+ declare interface JobBase<T extends JobBaseResource = JobBaseResource> extends AnzuUserAndTimeTrackingAware {
1045
+ readonly id: IntegerId;
1046
+ scheduledAt: DatetimeUTC;
1047
+ priority: number;
1048
+ readonly status: JobStatusType;
1049
+ readonly startedAt: DatetimeUTCNullable;
1050
+ readonly finishedAt: DatetimeUTCNullable;
1051
+ readonly lastBatchProcessedRecord: string;
1052
+ readonly batchProcessedIterationCount: number;
1053
+ readonly result: string;
1054
+ _resourceName: T;
1055
+ readonly _system: string;
1056
+ }
1057
+
1058
+ declare type JobBaseResource = typeof JOB_RESOURCE_USER_DATA_DELETE | `job${string}`;
1059
+
1060
+ declare const JobStatus: {
1061
+ readonly Waiting: "waiting";
1062
+ readonly Processing: "processing";
1063
+ readonly AwaitingBatchProcess: "awaiting_batch_process";
1064
+ readonly Done: "done";
1065
+ readonly Error: "error";
1066
+ };
1067
+
1068
+ declare type JobStatusType = (typeof JobStatus)[keyof typeof JobStatus];
1069
+
1070
+ export declare interface ListEditorApi<TItem> {
1071
+ viewItems: ComputedRef<ListViewItem<TItem>[]>;
1072
+ addItem: (data: TItem, positionHint?: PositionHint) => TItem[];
1073
+ deleteItem: (idOrItem: ListEditorKey | TItem) => TItem[];
1074
+ updateItem: (idOrItem: ListEditorKey | TItem, data: TItem) => TItem[];
1075
+ moveItem: (fromIndex: number, toIndex: number) => TItem[];
1076
+ recalculatePositions: (items: TItem[]) => TItem[];
1077
+ }
1078
+
1079
+ export declare type ListEditorKey = DocId | IntegerId | string;
1080
+
1081
+ export declare const ListEditorValidationKey: InjectionKey<ListEditorValidationRegistry>;
1082
+
1083
+ export declare interface ListEditorValidationRegistry {
1084
+ register: (key: ListEditorKey, state: Ref<ListEditorValidationState> | ComputedRef<ListEditorValidationState>) => void;
1085
+ unregister: (key: ListEditorKey) => void;
1086
+ }
1087
+
1088
+ export declare type ListEditorValidationState = 'valid' | 'invalid' | 'warning' | null;
1089
+
1090
+ export declare interface ListViewItem<TItem> {
1091
+ key: ListEditorKey;
1092
+ index: number;
1093
+ raw: TItem;
1094
+ position?: number;
1095
+ moved?: boolean;
1096
+ expanded?: boolean;
1097
+ editing?: boolean;
1098
+ validationState?: ListEditorValidationState;
1099
+ }
1100
+
1101
+ export declare interface MakeFilterOption<TName extends string = string> {
1102
+ name: TName;
1103
+ default: AllowedFilterValues;
1104
+ type?: FilterType;
1105
+ variant?: FilterVariant;
1106
+ titleT?: string;
1107
+ apiName?: string;
1108
+ clearable?: boolean;
1109
+ mandatory?: boolean;
1110
+ advanced?: boolean;
1111
+ exclude?: boolean;
1112
+ related?: string | undefined;
1113
+ render?: Partial<FilerRenderOptions>;
1114
+ }
1115
+
1116
+ export declare interface NestedListEditorApi<TItem extends Record<string, any>> {
1117
+ viewItems: ComputedRef<NestedViewItem<TItem>[]>;
1118
+ findNode: (id: ListEditorKey) => {
1119
+ node: NestedTreeNode<TItem> | null;
1120
+ parent: NestedTreeNode<TItem> | null;
1121
+ };
1122
+ addItem: (data: TItem, hint?: PositionHint & {
1123
+ parentId?: ListEditorKey | null;
1124
+ asFirstChild?: boolean;
1125
+ childrenAllowed?: boolean;
1126
+ }) => NestedTree<TItem>;
1127
+ deleteItem: (id: ListEditorKey) => NestedTree<TItem>;
1128
+ updateItem: (id: ListEditorKey, data: TItem) => NestedTree<TItem>;
1129
+ moveUp: (id: ListEditorKey) => NestedTree<TItem> | null;
1130
+ moveDown: (id: ListEditorKey) => NestedTree<TItem> | null;
1131
+ moveTop: (id: ListEditorKey) => NestedTree<TItem> | null;
1132
+ moveBottom: (id: ListEditorKey) => NestedTree<TItem> | null;
1133
+ indent: (id: ListEditorKey) => NestedTree<TItem> | null;
1134
+ outdent: (id: ListEditorKey) => NestedTree<TItem> | null;
1135
+ moveTo: (id: ListEditorKey, targetParentId: ListEditorKey | null, targetIndex: number) => NestedTree<TItem> | null;
1136
+ recalculatePositions: (model: NestedTree<TItem>) => NestedTree<TItem>;
1137
+ calculateSubtreeDepth: (node: NestedTreeNode<TItem>) => number;
1138
+ }
1139
+
1140
+ export declare interface NestedPositionHint {
1141
+ parentId?: ListEditorKey | null;
1142
+ afterId?: ListEditorKey;
1143
+ afterIndex?: number;
1144
+ index?: number;
1145
+ asFirstChild?: boolean;
1146
+ childrenAllowed?: boolean;
1147
+ }
1148
+
1149
+ export declare interface NestedTree<TItem = any> {
1150
+ children: NestedTreeNode<TItem>[];
1151
+ meta: {
1152
+ dirty: boolean;
1153
+ };
1154
+ }
1155
+
1156
+ /**
1157
+ * Shape-compatible with legacy SortableNestedItem but without the
1158
+ * `SortableItemWithParentDataAware` constraint — so the nested editor can
1159
+ * accept any record shape that has stable keys addressable via configurable
1160
+ * fields (keyField, positionField, parentField). Admin-cms data types like
1161
+ * `LinkedListItemKind` are assignable to this.
1162
+ */
1163
+ export declare interface NestedTreeNode<TItem = any> {
1164
+ data: TItem;
1165
+ children?: NestedTreeNode<TItem>[];
1166
+ meta: {
1167
+ dirty: boolean;
1168
+ };
1169
+ }
1170
+
1171
+ export declare interface NestedViewItem<TItem> extends ListViewItem<TItem> {
1172
+ node: NestedTreeNode<TItem>;
1173
+ depth: number;
1174
+ parent: TItem | null;
1175
+ parentKey: ListEditorKey | null;
1176
+ childrenCount: number;
1177
+ hasChildren: boolean;
1178
+ childrenAllowed: boolean;
1179
+ siblingIndex: number;
1180
+ siblingCount: number;
1181
+ firstInParent: boolean;
1182
+ lastInParent: boolean;
1183
+ canAddChild: boolean;
1184
+ canIndent: boolean;
1185
+ canOutdent: boolean;
1186
+ }
1187
+
1188
+ export declare interface Pagination {
1189
+ sortBy: DatatableSortBy;
1190
+ page: number;
1191
+ rowsPerPage: number;
1192
+ rowsNumber: number;
1193
+ hasNextPage: null | boolean;
1194
+ currentViewCount: number;
1195
+ totalCount: number;
1196
+ }
1197
+
1198
+ declare interface PaginationOptions {
1199
+ rowsPerPage: number;
1200
+ }
1201
+
1202
+ export declare interface PositionHint {
1203
+ afterId?: ListEditorKey;
1204
+ afterIndex?: number;
1205
+ index?: number;
1206
+ }
1207
+
1208
+ declare interface Props<TItem extends Record<string, any>> {
1209
+ keyField?: string;
1210
+ positionField?: string;
1211
+ positionMultiplier?: number;
1212
+ updatePosition?: boolean;
1213
+ readonly?: boolean;
1214
+ disabled?: boolean;
1215
+ loading?: boolean;
1216
+ error?: string | null;
1217
+ title?: string | null;
1218
+ compactField?: string | null;
1219
+ statusField?: string | null;
1220
+ twoRows?: 'never' | 'mobile' | 'always';
1221
+ chips?: boolean;
1222
+ showAddButton?: boolean;
1223
+ showDeleteButton?: boolean;
1224
+ showEditButton?: boolean;
1225
+ showAddAfterAction?: boolean;
1226
+ addLabel?: string | null;
1227
+ emptyTitle?: string | null;
1228
+ emptyText?: string | null;
1229
+ disableRowClick?: boolean;
1230
+ disableDeleteConfirm?: boolean;
1231
+ deleteConfirmTitle?: string | null;
1232
+ deleteConfirmText?: string | null;
1233
+ closeVariant?: 'auto' | 'icon' | 'labeled';
1234
+ loadingKeys?: Set<ListEditorKey> | null;
1235
+ getValidationState?: (item: TItem, key: ListEditorKey, index: number) => ListEditorValidationState;
1236
+ onDeleteConfirm?: (item: TItem) => Promise<boolean> | boolean;
1237
+ onDelete?: (item: TItem) => Promise<void> | void;
1238
+ onItemSave?: (item: TItem) => Promise<void> | void;
1239
+ }
1240
+
1241
+ declare interface Props_2<TItem extends Record<string, any>> {
1242
+ keyField?: string;
1243
+ positionField?: string;
1244
+ positionMultiplier?: number;
1245
+ updatePosition?: boolean;
1246
+ readonly?: boolean;
1247
+ disabled?: boolean;
1248
+ loading?: boolean;
1249
+ error?: string | null;
1250
+ title?: string | null;
1251
+ compactField?: string | null;
1252
+ statusField?: string | null;
1253
+ twoRows?: 'never' | 'mobile' | 'always';
1254
+ chips?: boolean;
1255
+ showAddButton?: boolean;
1256
+ showDeleteButton?: boolean;
1257
+ showEditButton?: boolean;
1258
+ showAddAfterAction?: boolean;
1259
+ addLabel?: string | null;
1260
+ emptyTitle?: string | null;
1261
+ emptyText?: string | null;
1262
+ disableRowClick?: boolean;
1263
+ disableDeleteConfirm?: boolean;
1264
+ deleteConfirmTitle?: string | null;
1265
+ deleteConfirmText?: string | null;
1266
+ closeVariant?: 'auto' | 'icon' | 'labeled';
1267
+ loadingKeys?: Set<ListEditorKey> | null;
1268
+ showReorderToggle?: boolean;
1269
+ disableReorder?: boolean;
1270
+ disableDrag?: boolean;
1271
+ showMoveToPosition?: boolean;
1272
+ /**
1273
+ * Embedded mode — this editor is nested inside another editor's `#item`
1274
+ * slot and follows a shared `v-model:mode` from the outer editor. When
1275
+ * set, the editor:
1276
+ * - hides its own Reorder button + Cancel/Apply toolbar
1277
+ * - skips the snapshot/restore (the outer editor's deep snapshot covers
1278
+ * nested data, so cancel at the top reverts everything)
1279
+ * - paints lighter chrome so it visually reads as part of the parent row
1280
+ * Pair with `v-model:mode` bound to the same ref the outer editor uses.
1281
+ */
1282
+ embedded?: boolean;
1283
+ /**
1284
+ * Allow rows to remain inline-editable while the editor is in reorder
1285
+ * mode. By default, entering reorder closes any open inline edit and the
1286
+ * `#item` slot body is hidden — this keeps the visual focus on dragging.
1287
+ * Set this when the open row's body needs to render in reorder mode (e.g.
1288
+ * the parent editor of a shared-reorder pair, where the open question
1289
+ * exposes its embedded answers list for dragging).
1290
+ */
1291
+ allowEditInReorder?: boolean;
1292
+ getValidationState?: (item: TItem, key: ListEditorKey, index: number) => ListEditorValidationState;
1293
+ onDeleteConfirm?: (item: TItem) => Promise<boolean> | boolean;
1294
+ onDelete?: (item: TItem) => Promise<void> | void;
1295
+ onItemSave?: (item: TItem) => Promise<void> | void;
1296
+ onReorderApply?: (items: TItem[]) => Promise<void> | void;
1297
+ }
1298
+
1299
+ declare interface Props_3<TItem extends Record<string, any>> {
1300
+ maxDepth: number;
1301
+ keyField?: string;
1302
+ positionField?: string;
1303
+ parentField?: string;
1304
+ positionMultiplier?: number;
1305
+ readonly?: boolean;
1306
+ disabled?: boolean;
1307
+ loading?: boolean;
1308
+ error?: string | null;
1309
+ title?: string | null;
1310
+ compactField?: string | null;
1311
+ statusField?: string | null;
1312
+ showAddButton?: boolean;
1313
+ showAddChildButton?: boolean;
1314
+ showDeleteButton?: boolean;
1315
+ showEditButton?: boolean;
1316
+ showAddAfterAction?: boolean;
1317
+ showMoveToPosition?: boolean;
1318
+ showChangeParent?: boolean;
1319
+ showExpandToggle?: boolean;
1320
+ getValidationState?: (item: TItem, key: ListEditorKey, index: number) => ListEditorValidationState;
1321
+ addLabel?: string | null;
1322
+ emptyTitle?: string | null;
1323
+ emptyText?: string | null;
1324
+ disableRowClick?: boolean;
1325
+ disableDeleteConfirm?: boolean;
1326
+ deleteConfirmTitle?: string | null;
1327
+ deleteConfirmText?: string | null;
1328
+ closeVariant?: 'auto' | 'icon' | 'labeled';
1329
+ loadingKeys?: Set<ListEditorKey> | null;
1330
+ showReorderToggle?: boolean;
1331
+ disableReorder?: boolean;
1332
+ disableDrag?: boolean;
1333
+ onDeleteConfirm?: (item: TItem) => Promise<boolean> | boolean;
1334
+ onDelete?: (item: TItem) => Promise<void> | void;
1335
+ onItemSave?: (item: TItem) => Promise<void> | void;
1336
+ onReorderApply?: (tree: NestedTree<TItem>) => Promise<void> | void;
1337
+ }
1338
+
1339
+ declare interface Props_4 {
1340
+ title?: string;
1341
+ body?: string;
1342
+ stayLabel?: string;
1343
+ discardLabel?: string;
1344
+ }
1345
+
1346
+ declare type ReorderMode = 'view' | 'reorder';
1347
+
1348
+ declare type ReorderMode_2 = 'view' | 'reorder';
1349
+
1350
+ export declare type ReorderModeValue = 'view' | 'reorder';
1351
+
1352
+ declare interface ReorderToggleSlotProps {
1353
+ mode: ReorderMode;
1354
+ disabled: boolean;
1355
+ hasPendingChanges: boolean;
1356
+ actions: {
1357
+ enterReorderMode: () => void;
1358
+ exitReorderMode: () => void;
1359
+ };
1360
+ }
1361
+
1362
+ declare interface ReorderToggleSlotProps_2 {
1363
+ mode: ReorderMode_2;
1364
+ disabled: boolean;
1365
+ hasPendingChanges: boolean;
1366
+ actions: {
1367
+ enterReorderMode: () => void;
1368
+ exitReorderMode: () => void;
1369
+ };
1370
+ }
1371
+
1372
+ declare interface RowActions<TItem> {
1373
+ edit: () => void;
1374
+ save: () => Promise<void> | void;
1375
+ cancel: () => void;
1376
+ close: () => void;
1377
+ delete: () => Promise<void>;
1378
+ addAfter: () => void;
1379
+ toggleExpand: () => void;
1380
+ update: (data: TItem) => TItem[];
1381
+ }
1382
+
1383
+ declare interface RowActions_2<TItem> {
1384
+ edit: () => void;
1385
+ save: () => Promise<void> | void;
1386
+ cancel: () => void;
1387
+ close: () => void;
1388
+ delete: () => Promise<void>;
1389
+ addAfter: () => void;
1390
+ toggleExpand: () => void;
1391
+ moveUp: () => void;
1392
+ moveDown: () => void;
1393
+ moveTop: () => void;
1394
+ moveBottom: () => void;
1395
+ update: (data: TItem) => TItem[];
1396
+ }
1397
+
1398
+ declare interface RowActions_3<TItem> {
1399
+ edit: () => void;
1400
+ save: () => Promise<void> | void;
1401
+ cancel: () => void;
1402
+ close: () => void;
1403
+ delete: () => Promise<void>;
1404
+ addAfter: () => void;
1405
+ addChild: () => void;
1406
+ toggleExpand: () => void;
1407
+ toggleDetail: () => void;
1408
+ moveUp: () => void;
1409
+ moveDown: () => void;
1410
+ moveTop: () => void;
1411
+ moveBottom: () => void;
1412
+ indent: () => void;
1413
+ outdent: () => void;
1414
+ update: (data: TItem) => NestedTree<TItem>;
1415
+ }
1416
+
1417
+ declare interface RowSlotProps<TItem extends Record<string, any>> {
1418
+ item: DecoratedViewItem<TItem> & {
1419
+ validationState: ListEditorValidationState;
1420
+ };
1421
+ raw: TItem;
1422
+ index: number;
1423
+ key: ListEditorKey;
1424
+ readonly: boolean;
1425
+ disabled: boolean;
1426
+ expanded: boolean;
1427
+ editing: boolean;
1428
+ dirty: boolean;
1429
+ /**
1430
+ * Aliases `dirty` on the flat editor (no reorder mode → no `moved` to OR
1431
+ * with). Mirrors the field name on the sortable + nested variants so a
1432
+ * consumer slot template can use the same name across all three editors.
1433
+ */
1434
+ unsaved: boolean;
1435
+ touch: boolean;
1436
+ actions: RowActions<TItem>;
1437
+ }
1438
+
1439
+ declare interface RowSlotProps_2<TItem extends Record<string, any>> {
1440
+ item: DecoratedViewItem_2<TItem> & {
1441
+ validationState: ListEditorValidationState;
1442
+ };
1443
+ raw: TItem;
1444
+ index: number;
1445
+ key: ListEditorKey;
1446
+ readonly: boolean;
1447
+ disabled: boolean;
1448
+ expanded: boolean;
1449
+ editing: boolean;
1450
+ dirty: boolean;
1451
+ unsaved: boolean;
1452
+ reorderMode: boolean;
1453
+ moved: boolean;
1454
+ canMoveUp: boolean;
1455
+ canMoveDown: boolean;
1456
+ touch: boolean;
1457
+ actions: RowActions_2<TItem>;
1458
+ }
1459
+
1460
+ declare interface RowSlotProps_3<TItem extends Record<string, any>> {
1461
+ item: DecoratedNestedViewItem<TItem> & {
1462
+ validationState: ListEditorValidationState;
1463
+ };
1464
+ raw: TItem;
1465
+ index: number;
1466
+ key: ListEditorKey;
1467
+ depth: number;
1468
+ parent: TItem | null;
1469
+ parentKey: ListEditorKey | null;
1470
+ childrenCount: number;
1471
+ hasChildren: boolean;
1472
+ childrenAllowed: boolean;
1473
+ firstInParent: boolean;
1474
+ lastInParent: boolean;
1475
+ readonly: boolean;
1476
+ disabled: boolean;
1477
+ expanded: boolean;
1478
+ childrenExpanded: boolean;
1479
+ editing: boolean;
1480
+ dirty: boolean;
1481
+ unsaved: boolean;
1482
+ moved: boolean;
1483
+ reorderMode: boolean;
1484
+ canMoveUp: boolean;
1485
+ canMoveDown: boolean;
1486
+ canIndent: boolean;
1487
+ canOutdent: boolean;
1488
+ canAddChild: boolean;
1489
+ touch: boolean;
1490
+ actions: RowActions_3<TItem>;
1491
+ }
1492
+
1493
+ export declare interface SharedReorderRegistry {
1494
+ register: (id: symbol, movedCount: ComputedRef<number>, hasPendingChanges: ComputedRef<boolean>) => void;
1495
+ unregister: (id: symbol) => void;
1496
+ }
1497
+
1498
+ export declare const SharedReorderRegistryKey: InjectionKey<SharedReorderRegistry>;
1499
+
1500
+ declare interface SortableItemDataAware {
1501
+ id?: DocId | IntegerId;
1502
+ position: number;
1503
+ }
1504
+
1505
+ declare interface SortableItemWithParentDataAware {
1506
+ id: DocId | IntegerId;
1507
+ position: number;
1508
+ parent: DocId | IntegerId | null;
1509
+ }
1510
+
1511
+ export declare interface SortableNested<TData extends SortableItemWithParentDataAware = any> {
1512
+ children: Array<SortableNestedItem<TData>>;
1513
+ meta: {
1514
+ dirty: boolean;
1515
+ };
1516
+ }
1517
+
1518
+ export declare interface SortableNestedItem<TData extends SortableItemWithParentDataAware = any> {
1519
+ data: TData;
1520
+ children?: Array<SortableNestedItem> | undefined;
1521
+ meta: {
1522
+ dirty: boolean;
1523
+ };
1524
+ }
1525
+
1526
+ declare const SortOrder: {
1527
+ readonly Asc: "asc";
1528
+ readonly Desc: "desc";
1529
+ };
1530
+
1531
+ declare type SortOrderType = (typeof SortOrder)[keyof typeof SortOrder];
1532
+
1533
+ export declare const TimeIntervalSpecialOptions: {
1534
+ readonly CurrentMonth: "cm";
1535
+ readonly LastMonth: "lm";
1536
+ readonly Last3Months: "l3m";
1537
+ readonly Custom: "custom";
1538
+ };
1539
+
1540
+ declare type TimeIntervalSpecialOptionsType = (typeof TimeIntervalSpecialOptions)[keyof typeof TimeIntervalSpecialOptions];
1541
+
1542
+ /** note: number value represents time interval in minutes, null represent unselected */
1543
+ export declare type TimeIntervalToolsValue = number | TimeIntervalSpecialOptionsType | null;
1544
+
1545
+ declare interface ToolbarSlotProps {
1546
+ applying: boolean;
1547
+ hasPendingChanges: boolean;
1548
+ movedCount: number;
1549
+ error: string | null;
1550
+ actions: {
1551
+ apply: () => Promise<void>;
1552
+ cancel: () => void;
1553
+ };
1554
+ }
1555
+
1556
+ declare interface ToolbarSlotProps_2 {
1557
+ applying: boolean;
1558
+ hasPendingChanges: boolean;
1559
+ movedCount: number;
1560
+ error: string | null;
1561
+ actions: {
1562
+ apply: () => Promise<void>;
1563
+ cancel: () => void;
1564
+ };
1565
+ }
1566
+
1567
+ declare type UnsavedSource = Ref<boolean | Set<unknown> | unknown[] | null | undefined>;
1568
+
1569
+ declare type UrlParams = {
1570
+ [key: string]: number | string;
1571
+ };
1572
+
1573
+ declare type UseApiAnyRequestReturnType<R, T = R> = {
1574
+ executeRequest: (params?: ExecuteRequestParams<T>) => Promise<R>;
1575
+ abortRequest: () => void;
1576
+ };
1577
+
1578
+ export declare const useApiFetchByIds: <R>(params: UseApiFetchByIdsParams) => UseApiFetchByIdsReturnType<R>;
1579
+
1580
+ declare type UseApiFetchByIdsParams = {
1581
+ client: AxiosClientFn;
1582
+ system: string;
1583
+ entity: string;
1584
+ urlTemplate?: string;
1585
+ urlParams?: UrlParams;
1586
+ options?: AxiosRequestConfig;
1587
+ isSearchApi?: boolean;
1588
+ field?: string;
1589
+ silentConsoleError?: boolean;
1590
+ };
1591
+
1592
+ declare type UseApiFetchByIdsReturnType<R> = {
1593
+ executeFetch: (ids: DocId[] | IntegerId[], params?: FetchByIdsParams) => Promise<R>;
1594
+ abortFetch: () => void;
1595
+ };
1596
+
1597
+ export declare const useApiFetchList: <R>(params: UseApiFetchListParams) => UseApiFetchListReturnType<R>;
1598
+
1599
+ export declare const useApiFetchListBatch: <R>(params: UseApiFetchListBatchParams) => UseApiFetchListBatchReturnType<R>;
1600
+
1601
+ declare type UseApiFetchListBatchParams = {
1602
+ client: AxiosClientFn;
1603
+ system: string;
1604
+ entity: string;
1605
+ urlTemplate?: string;
1606
+ urlParams?: UrlParams;
1607
+ options?: AxiosRequestConfig;
1608
+ silentConsoleError?: boolean;
1609
+ };
1610
+
1611
+ declare type UseApiFetchListBatchReturnType<R> = {
1612
+ executeFetch: (filterData: FilterData<any>, filterConfig: FilterConfig<any>, params?: FetchListBatchParams) => Promise<R>;
1613
+ abortFetch: () => void;
1614
+ };
1615
+
1616
+ declare type UseApiFetchListParams = {
1617
+ client: AxiosClientFn;
1618
+ system: string;
1619
+ entity: string;
1620
+ urlTemplate?: string;
1621
+ urlParams?: UrlParams;
1622
+ options?: AxiosRequestConfig;
1623
+ silentConsoleError?: boolean;
1624
+ };
1625
+
1626
+ declare type UseApiFetchListReturnType<R> = {
1627
+ executeFetch: (pagination: Ref<Pagination>, filterData: FilterData<any>, filterConfig: FilterConfig<any>, params?: FetchListParams) => Promise<R>;
1628
+ abortFetch: () => void;
1629
+ };
1630
+
1631
+ /**
1632
+ * Docs: /doc/Admin-Cms-Doc/Filters.md
1633
+ */
1634
+ export declare function useApiQueryBuilder(): {
1635
+ resolveTimeIntervalFilter: (fromName: string, untilName: string, filterData: FilterData<any>, filterConfig: FilterConfig<any>, mandatory: boolean, exclude: boolean) => null | {
1636
+ from: DatetimeUTCNullable;
1637
+ until: DatetimeUTCNullable;
1638
+ };
1639
+ querySetLimit: (value: number) => void;
1640
+ querySetOffset: (page: number, limit: number) => void;
1641
+ querySetOrder: (field: string | null, desc: boolean) => void;
1642
+ queryAddFilter: (filterVariant: FilterVariant_2, field: string, value: string | number | boolean) => void;
1643
+ querySetFilters: (filterData: FilterData<any>, filterConfig: FilterConfig<any>) => void;
1644
+ queryAdd: (key: string, value: any) => void;
1645
+ queryBuild: () => string;
1646
+ q: Ref<string[], string[]>;
1647
+ };
1648
+
1649
+ export declare const useApiRequest: <R, T = R>(params: UseApiRequestParams) => UseApiAnyRequestReturnType<R, T>;
1650
+
1651
+ declare type UseApiRequestParams = {
1652
+ client: AxiosClientFn;
1653
+ method: Method;
1654
+ system: string;
1655
+ entity: string;
1656
+ urlTemplate?: string;
1657
+ urlParams?: UrlParams;
1658
+ options?: AxiosRequestConfig;
1659
+ silentConsoleError?: boolean;
1660
+ };
1661
+
1662
+ export declare function useFilterHelpers<F extends readonly MakeFilterOption<string>[] = readonly MakeFilterOption<string>[]>(filterData: FilterData<F>, filterConfig: FilterConfig<F>, moreOptions?: Partial<FilterHelpersMoreOptions>): {
1663
+ loadStoredFilters: (pagination: Ref<Pagination>, callback?: AnyFn) => boolean;
1664
+ resetFilter: (pagination: Ref<Pagination>, callback?: AnyFn) => void;
1665
+ submitFilter: (pagination: Ref<Pagination>, callback?: AnyFn) => void;
1666
+ serializeFilters: (data: Record<string, AllowedFilterValues>, pagination: Ref<Pagination>, includeSort: boolean) => string;
1667
+ deserializeFilters: (hash: string) => {
1668
+ filters: Record<string, AllowedFilterValues>;
1669
+ sortBy: DatatableSortBy;
1670
+ } | null;
1671
+ };
1672
+
1673
+ export declare function useJobApi<JobType extends JobBase = JobBase>(client: () => AxiosInstance, system: string): {
1674
+ useFetchJobList: () => UseApiFetchListReturnType<JobType[]>;
1675
+ fetchJob: (id: number) => Promise<JobType>;
1676
+ createJob: (data: JobType) => Promise<JobType>;
1677
+ deleteJob: (id: number) => Promise<JobType>;
1678
+ };
1679
+
1680
+ /**
1681
+ * Flat list editor core. Pure data behavior shared by AListEditor and
1682
+ * ASortableListEditor. Does not touch the DOM, SortableJS, or emits.
1683
+ *
1684
+ * The caller passes a writable ref (typically `defineModel<TItem[]>`).
1685
+ * Mutators write a new array to `model.value` and also return it.
1686
+ * Input items are never mutated — when positions need to change, a new
1687
+ * item object is produced with `{ ...item, [positionField]: n }`.
1688
+ */
1689
+ export declare function useListEditor<TItem extends Record<string, any>>(model: Ref<TItem[]>, options?: UseListEditorOptions): ListEditorApi<TItem>;
1690
+
1691
+ export declare function useListEditorItemValidation(options: UseListEditorItemValidationOptions): void;
1692
+
1693
+ declare interface UseListEditorItemValidationOptions {
1694
+ /**
1695
+ * Stable identity of the row in the editor's v-model. Pass a getter so the
1696
+ * composable can re-register if the key ever swaps.
1697
+ */
1698
+ key: () => ListEditorKey;
1699
+ /**
1700
+ * Reactive validation state. Common shape: a computed reading vuelidate's
1701
+ * `v$.$dirty && v$.$invalid` and returning 'invalid' or null.
1702
+ */
1703
+ state: Ref<ListEditorValidationState> | ComputedRef<ListEditorValidationState> | (() => ListEditorValidationState);
1704
+ }
1705
+
1706
+ export declare interface UseListEditorOptions {
1707
+ keyField?: string;
1708
+ positionField?: string;
1709
+ positionMultiplier?: number;
1710
+ updatePosition?: boolean;
1711
+ }
1712
+
1713
+ /**
1714
+ * Nested list editor core. Pure data behavior shared by ANestedSortableListEditor.
1715
+ * Works on a tree of `{ data, children, meta }` nodes — shape-compatible with the
1716
+ * legacy `SortableNested` wrapper so migration can pass existing data through
1717
+ * unchanged. Mutators return a cloned tree and also assign it to `model.value`.
1718
+ */
1719
+ export declare function useNestedListEditor<TItem extends Record<string, any>>(model: Ref<NestedTree<TItem>>, options: UseNestedListEditorOptions): NestedListEditorApi<TItem>;
1720
+
1721
+ declare interface UseNestedListEditorOptions {
1722
+ keyField?: string;
1723
+ positionField?: string;
1724
+ parentField?: string;
1725
+ positionMultiplier?: number;
1726
+ maxDepth: number;
1727
+ expandedKeys?: Ref<Set<ListEditorKey>>;
1728
+ }
1729
+
1730
+ /**
1731
+ * Aggregates per-parent child-editor unsaved-keys into one prefix-merged set.
1732
+ * Used by stacked editors (e.g. quiz: questions → answers) so the outer
1733
+ * editor's parent gets a single merged `Set<ListEditorKey>` to thread into a
1734
+ * unsaved-changes guard, without losing per-parent identity.
1735
+ *
1736
+ * Key collision matters: a brand-new question and a brand-new answer both
1737
+ * have `id: 0` from the factory; without the prefix the answers from two
1738
+ * different questions would dedupe into one entry and the count would
1739
+ * under-report. Prefix `${parentKey}:${childKey}` keeps them distinct.
1740
+ *
1741
+ * Usage:
1742
+ * const childSets = useNestedUnsavedKeys()
1743
+ * <ChildEditor
1744
+ * :unsaved-keys="childSets.getForParent(parent.id)"
1745
+ * @update:unsaved-keys="(s) => childSets.setForParent(parent.id, s)"
1746
+ * />
1747
+ * // emit `childSets.merged.value` upward
1748
+ */
1749
+ export declare function useNestedUnsavedKeys(): UseNestedUnsavedKeysApi;
1750
+
1751
+ export declare interface UseNestedUnsavedKeysApi {
1752
+ /** Set of unsaved keys for one parent row — used as the inner editor's `v-model:unsaved-keys`. */
1753
+ getForParent: (parentKey: ListEditorKey) => Set<ListEditorKey>;
1754
+ /** Push a child editor's unsaved-key set up under `parentKey`. */
1755
+ setForParent: (parentKey: ListEditorKey, set: Set<ListEditorKey>) => void;
1756
+ /**
1757
+ * Aggregated set with prefix-merged keys (`${parentKey}:${childKey}`) so two
1758
+ * different parents can't collide on a shared child key (typical for newly
1759
+ * created rows whose `id` is `0` until the API assigns one).
1760
+ */
1761
+ merged: ComputedRef<Set<ListEditorKey>>;
1762
+ /** Total count across all parents — handy for the parent v-model:unsaved-keys. */
1763
+ count: ComputedRef<number>;
1764
+ }
1765
+
1766
+ export declare function usePagination(sortKey: string | null, sortOrder?: SortOrderType, options?: Partial<PaginationOptions>, externalPaginationRef?: Ref<Pagination>): UsePaginationReturnType;
1767
+
1768
+ declare interface UsePaginationReturnType {
1769
+ pagination: Ref<Pagination>;
1770
+ setSortBy: (sortBy: DatatableSortBy) => void;
1771
+ setPage: (page: number) => void;
1772
+ incrementPage: () => number;
1773
+ }
1774
+
1775
+ export declare interface UserAdminConfig<TData = UserAdminConfigDataFilterBookmark | UserAdminConfigDataPinnedWidgets> extends AnzuUserAndTimeTrackingAware, SortableItemDataAware {
1776
+ id: IntegerId;
1777
+ user: IntegerId;
1778
+ configType: UserAdminConfigTypeType;
1779
+ layoutType: UserAdminConfigLayoutTypeType;
1780
+ systemResource: string;
1781
+ customName: string;
1782
+ defaultConfig: boolean;
1783
+ data: TData;
1784
+ position: number;
1785
+ _resourceName: 'userAdminConfig';
1786
+ _system: string;
1787
+ }
1788
+
1789
+ export declare interface UserAdminConfigDataFilterBookmark {
1790
+ filter: string;
1791
+ datatableHiddenColumns?: string[];
1792
+ sortBy?: DatatableSortBy;
1793
+ }
1794
+
1795
+ export declare type UserAdminConfigDataPinnedWidgets<TVariant extends string = string> = Array<{
1796
+ variant: TVariant;
1797
+ position: number;
1798
+ }>;
1799
+
1800
+ export declare const UserAdminConfigLayoutType: {
1801
+ readonly Desktop: "desktop";
1802
+ readonly Mobile: "mobile";
1803
+ };
1804
+
1805
+ export declare const UserAdminConfigLayoutTypeDefault: "desktop";
1806
+
1807
+ export declare type UserAdminConfigLayoutTypeType = (typeof UserAdminConfigLayoutType)[keyof typeof UserAdminConfigLayoutType];
1808
+
1809
+ export declare const UserAdminConfigType: {
1810
+ readonly PinnedWidgets: "pinnedWidgets";
1811
+ readonly FilterBookmark: "filterBookmark";
1812
+ };
1813
+
1814
+ export declare const UserAdminConfigTypeDefault: "pinnedWidgets";
1815
+
1816
+ export declare type UserAdminConfigTypeType = (typeof UserAdminConfigType)[keyof typeof UserAdminConfigType];
1817
+
1818
+ export declare function useSubjectSelect<TItem>(datatableConfig: any, datatableHiddenColumns: any, system: string, subject: string, executeFetch: (pagination: Ref<Pagination>, filterData: FilterData<any>, filterConfig: FilterConfig<any>, params?: FetchListParams) => Promise<TItem[]>, filterData: FilterData<any>, filterConfig: FilterConfig<any>, filterSortBy?: DatatableSortBy | null, fetchParams?: FetchListParams | undefined, enableActions?: boolean): {
1819
+ items: Ref<TItem[], TItem[]>;
1820
+ selected: Ref<TItem[], TItem[]>;
1821
+ pagination: Ref<Pagination, Pagination>;
1822
+ columnsVisible: ComputedRef<any>;
1823
+ columnsHidden: Ref<string[], string[]>;
1824
+ columnsAll: {
1825
+ key: string;
1826
+ title?: string;
1827
+ sortable: boolean;
1828
+ fixed: boolean;
1829
+ maxWidth?: number;
1830
+ }[];
1831
+ filterTouched: Ref<boolean, boolean>;
1832
+ loading: Ref<boolean, boolean>;
1833
+ onRowClick: (event: Event) => void;
1834
+ onFetchNextPage: () => Promise<void>;
1835
+ onOpen: () => void;
1836
+ sortByChange: (option: DatatableOrderingOption) => void;
1837
+ getList: UseDebounceFnReturn<() => Promise<void>>;
1838
+ resetFilter: () => void;
1839
+ submitFilter: () => void;
1840
+ };
1841
+
1842
+ export declare function useUnsavedChangesGuard(options: UseUnsavedChangesGuardOptions): UseUnsavedChangesGuardApi;
1843
+
1844
+ declare interface UseUnsavedChangesGuardApi {
1845
+ hasUnsavedChanges: ComputedRef<boolean>;
1846
+ /**
1847
+ * v-model-bound to the confirm dialog. When the guard wants to ask the user
1848
+ * to confirm leaving, it sets this to true. The confirm dialog reads it.
1849
+ */
1850
+ promptOpen: Ref<boolean>;
1851
+ /**
1852
+ * Resolves the confirm prompt with `discard=true` (proceed) or `false`
1853
+ * (stay). Called by the confirm dialog.
1854
+ */
1855
+ resolvePrompt: (discard: boolean) => void;
1856
+ /**
1857
+ * Manually mark the most recent intent as acknowledged so the next
1858
+ * route/dialog/unload attempt proceeds without prompting. Useful right
1859
+ * before a programmatic navigation that the consumer has already
1860
+ * confirmed.
1861
+ */
1862
+ acknowledge: () => void;
1863
+ }
1864
+
1865
+ declare interface UseUnsavedChangesGuardOptions {
1866
+ /**
1867
+ * Reactive sources that signal "unsaved" state. Each source's truthiness is
1868
+ * checked: a Set/array is "dirty" when non-empty, a boolean when true, null
1869
+ * or undefined as not dirty.
1870
+ */
1871
+ sources: UnsavedSource[];
1872
+ /**
1873
+ * Block route navigation via vue-router's onBeforeRouteLeave. Default true.
1874
+ * When omitted/false, the route guard is not registered.
1875
+ */
1876
+ guardRoute?: boolean | Ref<boolean>;
1877
+ /**
1878
+ * Block window/tab unload via beforeunload. Default true.
1879
+ */
1880
+ guardWindowUnload?: boolean | Ref<boolean>;
1881
+ /**
1882
+ * Optional Vuetify dialog v-model. When provided, attempts to close the
1883
+ * dialog while dirty are intercepted: dialog stays open until the user
1884
+ * confirms via the confirm dialog or via `acknowledge()`.
1885
+ */
1886
+ guardDialogModel?: Ref<boolean>;
1887
+ }
1888
+
1889
+ export declare function useUserAdminConfigApi(client: () => AxiosInstance, system: string, entity?: string, endPoint?: string): {
1890
+ useFetchUserAdminConfigList: () => UseApiFetchListReturnType<UserAdminConfig<UserAdminConfigDataFilterBookmark | UserAdminConfigDataPinnedWidgets<string>>[]>;
1891
+ fetchUserAdminConfig: (id: IntegerId) => Promise<UserAdminConfig<UserAdminConfigDataFilterBookmark | UserAdminConfigDataPinnedWidgets<string>>>;
1892
+ createUserAdminConfig: (data: UserAdminConfig) => Promise<UserAdminConfig<UserAdminConfigDataFilterBookmark | UserAdminConfigDataPinnedWidgets<string>>>;
1893
+ updateUserAdminConfig: (id: IntegerId, data: UserAdminConfig) => Promise<UserAdminConfig<UserAdminConfigDataFilterBookmark | UserAdminConfigDataPinnedWidgets<string>>>;
1894
+ deleteUserAdminConfig: (id: IntegerId) => Promise<unknown>;
1895
+ updateUserAdminConfigPositions: (ids: IntegerId[]) => Promise<{
1896
+ userAdminConfigs: IntegerId[];
1897
+ }>;
1898
+ };
1899
+
1900
+ export declare function useUserAdminConfigFactory(): {
1901
+ createDefaultUserAdminConfig: (system: string) => UserAdminConfig;
1902
+ };
1903
+
1904
+ declare interface ValueObjectOption<T> {
1905
+ value: T;
1906
+ title: string;
1907
+ color?: string;
1908
+ active?: false;
1909
+ subtitle?: string;
1910
+ }
1911
+
1912
+ export { }