@anzusystems/common-admin 1.47.0-beta.dev-1776195285 → 1.47.0-beta.dev-1777971796

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 CHANGED
@@ -1,8 +1,6 @@
1
- import { AllowedComponentProps } from 'vue';
2
1
  import { AnyFn } from '@vueuse/core';
3
2
  import { AxiosInstance } from 'axios';
4
3
  import { AxiosRequestConfig } from 'axios';
5
- import { ComponentCustomProps } from 'vue';
6
4
  import { ComponentOptionsMixin } from 'vue';
7
5
  import { ComponentProvideOptions } from 'vue';
8
6
  import { ComputedRef } from 'vue';
@@ -14,79 +12,552 @@ import { Ref } from 'vue';
14
12
  import { ShallowUnwrapRef } from 'vue';
15
13
  import { UseDebounceFnReturn } from '@vueuse/shared';
16
14
  import { VNode } from 'vue';
17
- import { VNodeProps } from 'vue';
18
15
 
19
- declare const __VLS_component: DefineComponent<__VLS_PublicProps, {
20
- submit: () => void;
21
- reset: () => void;
16
+ declare const __VLS_base: DefineComponent<__VLS_PublicProps, {
17
+ submit: () => void;
18
+ reset: () => void;
22
19
  }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
23
- "update:datatableHiddenColumns": (value: string[] | undefined) => any;
24
- "update:showDetail": (value: boolean) => any;
20
+ "update:datatableHiddenColumns": (value: string[] | undefined) => any;
21
+ "update:showDetail": (value: boolean) => any;
25
22
  } & {
26
- reset: () => any;
27
- submit: () => any;
28
- bookmarkLoadAfter: () => any;
23
+ reset: () => any;
24
+ submit: () => any;
25
+ bookmarkLoadAfter: () => any;
29
26
  }, 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;
27
+ onReset?: (() => any) | undefined;
28
+ onSubmit?: (() => any) | undefined;
29
+ "onUpdate:datatableHiddenColumns"?: ((value: string[] | undefined) => any) | undefined;
30
+ onBookmarkLoadAfter?: (() => any) | undefined;
31
+ "onUpdate:showDetail"?: ((value: boolean) => any) | undefined;
35
32
  }>, {
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;
33
+ userId: IntegerIdNullable;
34
+ client: () => AxiosInstance;
35
+ enableTop: boolean;
36
+ hideButtons: boolean;
37
+ formName: string;
38
+ store: FilterStoreIdentifier | boolean;
39
+ alwaysVisible: boolean;
40
+ hideMore: boolean;
44
41
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
45
42
 
46
- declare const __VLS_component_2: DefineComponent<__VLS_PublicProps_2, {
47
- submit: () => void;
48
- reset: () => void;
43
+ declare const __VLS_base_2: DefineComponent<__VLS_PublicProps_2, {
44
+ submit: () => void;
45
+ reset: () => void;
49
46
  }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
50
- "update:datatableHiddenColumns": (value: string[] | undefined) => any;
47
+ "update:datatableHiddenColumns": (value: string[] | undefined) => any;
51
48
  } & {
52
- reset: () => any;
53
- submit: () => any;
54
- bookmarkLoadAfter: () => any;
49
+ reset: () => any;
50
+ submit: () => any;
51
+ bookmarkLoadAfter: () => any;
55
52
  }, 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;
53
+ onReset?: (() => any) | undefined;
54
+ onSubmit?: (() => any) | undefined;
55
+ "onUpdate:datatableHiddenColumns"?: ((value: string[] | undefined) => any) | undefined;
56
+ onBookmarkLoadAfter?: (() => any) | undefined;
60
57
  }>, {
61
- userId: IntegerIdNullable;
62
- client: () => AxiosInstance;
63
- hideButtons: boolean;
64
- formName: string;
65
- disableFilterUrlSync: boolean;
66
- store: FilterStoreIdentifier | boolean;
58
+ userId: IntegerIdNullable;
59
+ client: () => AxiosInstance;
60
+ hideButtons: boolean;
61
+ formName: string;
62
+ disableFilterUrlSync: boolean;
63
+ store: FilterStoreIdentifier | boolean;
67
64
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
68
65
 
69
- declare const __VLS_component_3: DefineComponent<__VLS_Props_8, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
70
- change: () => any;
66
+ declare const __VLS_base_3: DefineComponent<__VLS_Props_8, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
67
+ change: () => any;
71
68
  }, string, PublicProps, Readonly<__VLS_Props_8> & Readonly<{
72
- onChange?: (() => any) | undefined;
69
+ onChange?: (() => any) | undefined;
73
70
  }>, {
74
- placeholder: string;
75
- dataCy: string;
76
- allowed: TimeIntervalToolsValue[];
71
+ placeholder: string;
72
+ dataCy: string;
73
+ allowed: TimeIntervalToolsValue[];
77
74
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
78
75
 
79
- declare type __VLS_PrettifyLocal<T> = {
76
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
77
+
78
+ declare const __VLS_export_10: DefineComponent<__VLS_Props_9, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
79
+ change: () => any;
80
+ }, string, PublicProps, Readonly<__VLS_Props_9> & Readonly<{
81
+ onChange?: (() => any) | undefined;
82
+ }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
83
+
84
+ declare const __VLS_export_11: DefineComponent<__VLS_PublicProps_3, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
85
+ "update:modelValue": (value: number) => any;
86
+ } & {
87
+ sortByChange: (data: DatatableOrderingOption) => any;
88
+ }, string, PublicProps, Readonly<__VLS_PublicProps_3> & Readonly<{
89
+ "onUpdate:modelValue"?: ((value: number) => any) | undefined;
90
+ onSortByChange?: ((data: DatatableOrderingOption) => any) | undefined;
91
+ }>, {
92
+ variant: "id" | "createdAt" | "most-relevant";
93
+ customOptions: DatatableOrderingOptions;
94
+ paginationUpdateCustomCb: (option: DatatableOrderingOption, pagination: Ref<Pagination>) => void;
95
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
96
+
97
+ declare const __VLS_export_12: DefineComponent<__VLS_Props_11, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
98
+ change: () => any;
99
+ }, string, PublicProps, Readonly<__VLS_Props_11> & Readonly<{
100
+ onChange?: (() => any) | undefined;
101
+ }>, {
102
+ itemsPerPageOptions: number[];
103
+ hideRecordsPerPage: boolean;
104
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
105
+
106
+ declare const __VLS_export_13: <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_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
107
+ props: PublicProps & __VLS_PrettifyLocal_2<({
108
+ label?: string | undefined;
109
+ required?: boolean | undefined;
110
+ multiple?: boolean;
111
+ clearable?: boolean;
112
+ v?: any;
113
+ errorMessage?: string;
114
+ hideDetails?: boolean;
115
+ hideLabel?: boolean;
116
+ fetchItems: (pagination: Ref<Pagination>, filterData: FilterData, filterConfig: FilterConfig) => Promise<ValueObjectOption<T>[]>;
117
+ fetchItemsByIds: (ids: T[]) => Promise<ValueObjectOption<T>[]>;
118
+ filterByField: string;
119
+ filterSortBy?: DatatableSortBy;
120
+ loading?: boolean;
121
+ collab?: CollabComponentConfig;
122
+ disabled?: boolean | undefined;
123
+ readonly?: boolean;
124
+ chips?: boolean;
125
+ closableChips?: boolean;
126
+ disableAutoSingleSelect?: boolean;
127
+ prefetch?: "hover" | "focus" | "mounted" | false;
128
+ minSearchChars?: number;
129
+ minSearchText?: string | undefined;
130
+ } & {
131
+ modelValue: T | T[] | null | undefined;
132
+ selected?: ValueObjectOption<T> | ValueObjectOption<T>[] | null;
133
+ }) & {
134
+ onBlur?: ((data: T | T[] | null | undefined) => any) | undefined;
135
+ onFocus?: ((data: T | T[] | null | undefined) => any) | undefined;
136
+ "onUpdate:modelValue"?: ((value: T | T[] | null | undefined) => any) | undefined;
137
+ "onUpdate:selected"?: ((value: ValueObjectOption<T> | ValueObjectOption<T>[] | null) => any) | undefined;
138
+ onSearchChange?: ((data: string) => any) | undefined;
139
+ onSearchChangeDebounced?: ((data: string) => any) | undefined;
140
+ "onClick:chipClose"?: ((data: ValueObjectOption<T>) => any) | undefined;
141
+ }> & (typeof globalThis extends {
142
+ __VLS_PROPS_FALLBACK: infer P;
143
+ } ? P : {});
144
+ expose: (exposed: ShallowUnwrapRef<{
145
+ tryLoadModelValue: (tryLoadValue: T | T[] | null | undefined, prefetch?: boolean) => Promise<boolean | undefined>;
146
+ }>) => void;
147
+ attrs: any;
148
+ slots: {
149
+ locked?: (props: {
150
+ userId: number;
151
+ }) => any;
152
+ } & {
153
+ append?: (props: {}) => any;
154
+ };
155
+ emit: {
156
+ (e: "searchChange", data: string): void;
157
+ (e: "searchChangeDebounced", data: string): void;
158
+ (e: "blur", data: T | T[] | null | undefined): void;
159
+ (e: "focus", data: T | T[] | null | undefined): void;
160
+ (e: "click:chipClose", data: ValueObjectOption<T>): void;
161
+ } & (((event: "update:modelValue", value: T | T[] | null | undefined) => void) & ((event: "update:selected", value: ValueObjectOption<T> | ValueObjectOption<T>[] | null) => void));
162
+ }>) => VNode & {
163
+ __ctx?: Awaited<typeof __VLS_setup>;
164
+ };
165
+
166
+ declare const __VLS_export_14: <TItem>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal_3<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
167
+ props: PublicProps & __VLS_PrettifyLocal_3<{
168
+ selectedItems: Array<TItem>;
169
+ pagination: Pagination;
170
+ loading?: boolean;
171
+ minCount?: number;
172
+ maxCount?: number;
173
+ modelValue?: boolean | undefined;
174
+ dialogTitleT?: string;
175
+ paginationMode?: "standard" | "more";
176
+ autoOpen?: boolean;
177
+ } & {
178
+ "onUpdate:modelValue"?: ((data: boolean) => any) | undefined;
179
+ onOnConfirm?: ((data: TItem[]) => any) | undefined;
180
+ onOnOpen?: (() => any) | undefined;
181
+ "onUpdate:pagination"?: ((data: Pagination) => any) | undefined;
182
+ onOnPageChange?: (() => any) | undefined;
183
+ onOnFetchNextPage?: (() => any) | undefined;
184
+ }> & (typeof globalThis extends {
185
+ __VLS_PROPS_FALLBACK: infer P;
186
+ } ? P : {});
187
+ expose: (exposed: ShallowUnwrapRef<{
188
+ open: () => void;
189
+ closeSidebarOnMobile: () => void;
190
+ }>) => void;
191
+ attrs: any;
192
+ slots: {
193
+ activator?: (props: {
194
+ props: {
195
+ onClick: () => void;
196
+ };
197
+ }) => any;
198
+ } & {
199
+ title?: (props: {}) => any;
200
+ } & {
201
+ 'second-bar'?: (props: {}) => any;
202
+ } & {
203
+ 'second-bar-left'?: (props: {}) => any;
204
+ } & {
205
+ 'second-bar-right'?: (props: {}) => any;
206
+ } & {
207
+ filter?: (props: {}) => any;
208
+ } & {
209
+ content?: (props: {}) => any;
210
+ } & {
211
+ 'button-confirm-title'?: (props: {}) => any;
212
+ } & {
213
+ 'button-confirm-title'?: (props: {}) => any;
214
+ };
215
+ emit: {
216
+ (e: "update:modelValue", data: boolean): void;
217
+ (e: "update:pagination", data: Pagination): void;
218
+ (e: "onOpen"): void;
219
+ (e: "onPageChange"): void;
220
+ (e: "onConfirm", data: Array<TItem>): void;
221
+ (e: "onFetchNextPage"): void;
222
+ };
223
+ }>) => VNode & {
224
+ __ctx?: Awaited<typeof __VLS_setup>;
225
+ };
226
+
227
+ declare const __VLS_export_15: <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_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
228
+ props: PublicProps & __VLS_PrettifyLocal_4<(Props<TItem> & {
229
+ modelValue: TItem[];
230
+ unsavedKeys?: Set<ListEditorKey>;
231
+ }) & {
232
+ onDeleted?: ((item: ListViewItem<TItem>) => any) | undefined;
233
+ onClose?: ((item: ListViewItem<TItem>) => any) | undefined;
234
+ onEdit?: ((item: ListViewItem<TItem>) => any) | undefined;
235
+ onAdd?: ((positionHint: PositionHint | undefined) => any) | undefined;
236
+ "onUpdate:modelValue"?: ((value: TItem[]) => any) | undefined;
237
+ "onItem-saved"?: ((item: ListViewItem<TItem>) => any) | undefined;
238
+ "onItem-expand"?: ((item: ListViewItem<TItem>, expanded: boolean) => any) | undefined;
239
+ "onUpdate:unsavedKeys"?: ((value: Set<ListEditorKey>) => any) | undefined;
240
+ }> & (typeof globalThis extends {
241
+ __VLS_PROPS_FALLBACK: infer P;
242
+ } ? P : {});
243
+ expose: (exposed: ShallowUnwrapRef<{
244
+ addItem: (data: TItem, positionHint?: PositionHint) => TItem[];
245
+ deleteItem: (idOrItem: ListEditorKey | TItem) => TItem[];
246
+ updateItem: (idOrItem: ListEditorKey | TItem, data: TItem) => TItem[];
247
+ moveItem: (fromIndex: number, toIndex: number) => TItem[];
248
+ recalculatePositions: (items: TItem[]) => TItem[];
249
+ viewItems: ComputedRef<ListViewItem<TItem>[]>;
250
+ resetDirtyBaseline: () => void;
251
+ hasUnsavedChanges: ComputedRef<boolean>;
252
+ unsavedCount: ComputedRef<number>;
253
+ clearUnsavedState: (key?: ListEditorKey) => void;
254
+ }>) => void;
255
+ attrs: any;
256
+ slots: {
257
+ header?: (props: HeaderSlotProps) => unknown;
258
+ empty?: (props: EmptySlotProps) => unknown;
259
+ 'add-button'?: (props: AddButtonSlotProps) => unknown;
260
+ item?: (props: RowSlotProps<TItem>) => unknown;
261
+ 'item-compact'?: (props: RowSlotProps<TItem>) => unknown;
262
+ 'item-readonly'?: (props: RowSlotProps<TItem>) => unknown;
263
+ 'item-status'?: (props: RowSlotProps<TItem>) => unknown;
264
+ 'item-actions'?: (props: RowSlotProps<TItem>) => unknown;
265
+ 'item-footer'?: (props: RowSlotProps<TItem>) => unknown;
266
+ 'before-item'?: (props: RowSlotProps<TItem>) => unknown;
267
+ 'after-item'?: (props: RowSlotProps<TItem>) => unknown;
268
+ };
269
+ 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)) & (((event: "update:modelValue", value: TItem[]) => void) & ((event: "update:unsavedKeys", value: Set<ListEditorKey>) => void));
270
+ }>) => VNode & {
271
+ __ctx?: Awaited<typeof __VLS_setup>;
272
+ };
273
+
274
+ declare const __VLS_export_16: <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_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
275
+ props: PublicProps & __VLS_PrettifyLocal_5<(Props_2<TItem> & {
276
+ modelValue: TItem[];
277
+ mode?: ReorderMode;
278
+ unsavedKeys?: Set<ListEditorKey>;
279
+ }) & {
280
+ onDeleted?: ((item: ListViewItem<TItem>) => any) | undefined;
281
+ onClose?: ((item: ListViewItem<TItem>) => any) | undefined;
282
+ onEdit?: ((item: ListViewItem<TItem>) => any) | undefined;
283
+ onAdd?: ((positionHint: PositionHint | undefined) => any) | undefined;
284
+ "onUpdate:modelValue"?: ((value: TItem[]) => any) | undefined;
285
+ "onUpdate:mode"?: ((value: ReorderMode) => any) | undefined;
286
+ "onItem-saved"?: ((item: ListViewItem<TItem>) => any) | undefined;
287
+ "onItem-expand"?: ((item: ListViewItem<TItem>, expanded: boolean) => any) | undefined;
288
+ "onReorder-start"?: (() => any) | undefined;
289
+ "onReorder-cancel"?: (() => any) | undefined;
290
+ "onReorder-applied"?: ((items: TItem[]) => any) | undefined;
291
+ "onReorder-apply-error"?: ((error: unknown) => any) | undefined;
292
+ "onReorder-end"?: (() => any) | undefined;
293
+ "onUpdate:unsavedKeys"?: ((value: Set<ListEditorKey>) => any) | undefined;
294
+ }> & (typeof globalThis extends {
295
+ __VLS_PROPS_FALLBACK: infer P;
296
+ } ? P : {});
297
+ expose: (exposed: ShallowUnwrapRef<{
298
+ addItem: (data: TItem, positionHint?: PositionHint) => TItem[];
299
+ deleteItem: (idOrItem: ListEditorKey | TItem) => TItem[];
300
+ updateItem: (idOrItem: ListEditorKey | TItem, data: TItem) => TItem[];
301
+ moveItem: (fromIndex: number, toIndex: number) => TItem[];
302
+ recalculatePositions: (items: TItem[]) => TItem[];
303
+ viewItems: ComputedRef<ListViewItem<TItem>[]>;
304
+ resetDirtyBaseline: () => void;
305
+ hasUnsavedChanges: ComputedRef<boolean>;
306
+ unsavedCount: ComputedRef<number>;
307
+ clearUnsavedState: (key?: ListEditorKey) => void;
308
+ enterReorderMode: () => void;
309
+ cancelReorderMode: () => void;
310
+ applyReorder: () => Promise<void>;
311
+ }>) => void;
312
+ attrs: any;
313
+ slots: {
314
+ header?: (props: HeaderSlotProps_2) => unknown;
315
+ 'reorder-toggle'?: (props: ReorderToggleSlotProps) => unknown;
316
+ 'reorder-toolbar'?: (props: ToolbarSlotProps) => unknown;
317
+ empty?: (props: EmptySlotProps_2) => unknown;
318
+ 'add-button'?: (props: AddButtonSlotProps_2) => unknown;
319
+ 'view-body'?: (props: ViewBodySlotProps<TItem>) => unknown;
320
+ item?: (props: RowSlotProps_2<TItem>) => unknown;
321
+ 'item-compact'?: (props: RowSlotProps_2<TItem>) => unknown;
322
+ 'item-readonly'?: (props: RowSlotProps_2<TItem>) => unknown;
323
+ 'item-status'?: (props: RowSlotProps_2<TItem>) => unknown;
324
+ 'item-actions'?: (props: RowSlotProps_2<TItem>) => unknown;
325
+ 'item-footer'?: (props: RowSlotProps_2<TItem>) => unknown;
326
+ 'before-item'?: (props: RowSlotProps_2<TItem>) => unknown;
327
+ 'after-item'?: (props: RowSlotProps_2<TItem>) => unknown;
328
+ };
329
+ 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)) & (((event: "update:modelValue", value: TItem[]) => void) & ((event: "update:mode", value: ReorderMode) => void) & ((event: "update:unsavedKeys", value: Set<ListEditorKey>) => void));
330
+ }>) => VNode & {
331
+ __ctx?: Awaited<typeof __VLS_setup>;
332
+ };
333
+
334
+ declare const __VLS_export_17: <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_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
335
+ props: PublicProps & __VLS_PrettifyLocal_6<(Props_3<TItem> & {
336
+ modelValue: NestedTree<TItem>;
337
+ mode?: ReorderMode_2;
338
+ unsavedKeys?: Set<ListEditorKey>;
339
+ }) & {
340
+ onDeleted?: ((item: NestedViewItem<TItem>) => any) | undefined;
341
+ onClose?: ((item: NestedViewItem<TItem>) => any) | undefined;
342
+ onEdit?: ((item: NestedViewItem<TItem>) => any) | undefined;
343
+ onAdd?: ((hint: NestedPositionHint | undefined) => any) | undefined;
344
+ onIndent?: ((item: NestedViewItem<TItem>) => any) | undefined;
345
+ onOutdent?: ((item: NestedViewItem<TItem>) => any) | undefined;
346
+ "onUpdate:modelValue"?: ((value: NestedTree<TItem>) => any) | undefined;
347
+ "onUpdate:mode"?: ((value: ReorderMode_2) => any) | undefined;
348
+ "onItem-saved"?: ((item: NestedViewItem<TItem>) => any) | undefined;
349
+ "onItem-expand"?: ((item: NestedViewItem<TItem>, expanded: boolean) => any) | undefined;
350
+ "onReorder-start"?: (() => any) | undefined;
351
+ "onReorder-cancel"?: (() => any) | undefined;
352
+ "onReorder-applied"?: ((tree: NestedTree<TItem>) => any) | undefined;
353
+ "onReorder-apply-error"?: ((error: unknown) => any) | undefined;
354
+ "onReorder-end"?: (() => any) | undefined;
355
+ "onUpdate:unsavedKeys"?: ((value: Set<ListEditorKey>) => any) | undefined;
356
+ "onAdd-child"?: ((parent: NestedViewItem<TItem>) => any) | undefined;
357
+ }> & (typeof globalThis extends {
358
+ __VLS_PROPS_FALLBACK: infer P;
359
+ } ? P : {});
360
+ expose: (exposed: ShallowUnwrapRef<{
361
+ addItem: (data: TItem, hint?: PositionHint & {
362
+ parentId?: ListEditorKey | null;
363
+ asFirstChild?: boolean;
364
+ childrenAllowed?: boolean;
365
+ }) => NestedTree<TItem>;
366
+ addAfterId: (targetId: ListEditorKey | null, data: TItem, childrenAllowed: boolean) => NestedTree<TItem>;
367
+ addChildToId: (targetId: ListEditorKey, data: TItem, childrenAllowed: boolean) => NestedTree<TItem>;
368
+ removeById: (id: ListEditorKey) => void;
369
+ updateData: (id: ListEditorKey, data: TItem, _children?: unknown, _position?: unknown, _markUnsaved?: unknown) => void;
370
+ updateItem: (id: ListEditorKey, data: TItem) => NestedTree<TItem>;
371
+ deleteItem: (id: ListEditorKey) => NestedTree<TItem>;
372
+ moveUp: (id: ListEditorKey) => NestedTree<TItem> | null;
373
+ moveDown: (id: ListEditorKey) => NestedTree<TItem> | null;
374
+ moveTop: (id: ListEditorKey) => NestedTree<TItem> | null;
375
+ moveBottom: (id: ListEditorKey) => NestedTree<TItem> | null;
376
+ indent: (id: ListEditorKey) => NestedTree<TItem> | null;
377
+ outdent: (id: ListEditorKey) => NestedTree<TItem> | null;
378
+ moveTo: (id: ListEditorKey, targetParentId: ListEditorKey | null, targetIndex: number) => NestedTree<TItem> | null;
379
+ recalculatePositions: (model: NestedTree<TItem>) => NestedTree<TItem>;
380
+ viewItems: ComputedRef<NestedViewItem<TItem>[]>;
381
+ resetDirtyBaseline: () => void;
382
+ hasUnsavedChanges: ComputedRef<boolean>;
383
+ unsavedCount: ComputedRef<number>;
384
+ clearUnsavedState: (key?: ListEditorKey) => void;
385
+ enterReorderMode: () => void;
386
+ cancelReorderMode: () => void;
387
+ applyReorder: () => Promise<void>;
388
+ expand: (id: ListEditorKey) => Set<ListEditorKey> & Omit<Set<ListEditorKey>, keyof Set<any>>;
389
+ collapse: (id: ListEditorKey) => boolean;
390
+ toggleExpand: (id: ListEditorKey) => void;
391
+ expandDetail: (id: ListEditorKey) => Set<ListEditorKey> & Omit<Set<ListEditorKey>, keyof Set<any>>;
392
+ collapseDetail: (id: ListEditorKey) => boolean;
393
+ }>) => void;
394
+ attrs: any;
395
+ slots: {
396
+ header?: (props: HeaderSlotProps_3) => unknown;
397
+ 'reorder-toggle'?: (props: ReorderToggleSlotProps_2) => unknown;
398
+ 'reorder-toolbar'?: (props: ToolbarSlotProps_2) => unknown;
399
+ empty?: (props: EmptySlotProps_3) => unknown;
400
+ 'add-button'?: (props: AddButtonSlotProps_3) => unknown;
401
+ item?: (props: RowSlotProps_3<TItem>) => unknown;
402
+ 'item-compact'?: (props: RowSlotProps_3<TItem>) => unknown;
403
+ 'item-readonly'?: (props: RowSlotProps_3<TItem>) => unknown;
404
+ 'item-status'?: (props: RowSlotProps_3<TItem>) => unknown;
405
+ 'item-footer'?: (props: RowSlotProps_3<TItem>) => unknown;
406
+ 'item-actions'?: (props: RowSlotProps_3<TItem>) => unknown;
407
+ 'before-item'?: (props: RowSlotProps_3<TItem>) => unknown;
408
+ 'after-item'?: (props: RowSlotProps_3<TItem>) => unknown;
409
+ };
410
+ 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)) & (((event: "update:modelValue", value: NestedTree<TItem>) => void) & ((event: "update:mode", value: ReorderMode_2) => void) & ((event: "update:unsavedKeys", value: Set<ListEditorKey>) => void));
411
+ }>) => VNode & {
412
+ __ctx?: Awaited<typeof __VLS_setup>;
413
+ };
414
+
415
+ declare const __VLS_export_18: DefineComponent<__VLS_PublicProps_4, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
416
+ "update:modelValue": (value: boolean) => any;
417
+ resolve: (discard: boolean) => any;
418
+ }, string, PublicProps, Readonly<__VLS_PublicProps_4> & Readonly<{
419
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
420
+ onResolve?: ((discard: boolean) => any) | undefined;
421
+ }>, {
422
+ title: string;
423
+ body: string;
424
+ stayLabel: string;
425
+ discardLabel: string;
426
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
427
+
428
+ declare const __VLS_export_2: __VLS_WithSlots_2<typeof __VLS_base_2, __VLS_Slots_2>;
429
+
430
+ declare const __VLS_export_3: DefineComponent<__VLS_Props_3, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
431
+ change: () => any;
432
+ }, string, PublicProps, Readonly<__VLS_Props_3> & Readonly<{
433
+ onChange?: (() => any) | undefined;
434
+ }>, {
435
+ dataCy: string;
436
+ allT: string;
437
+ trueT: string;
438
+ falseT: string;
439
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
440
+
441
+ declare const __VLS_export_4: DefineComponent<__VLS_Props_4, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
442
+ change: () => any;
443
+ }, string, PublicProps, Readonly<__VLS_Props_4> & Readonly<{
444
+ onChange?: (() => any) | undefined;
445
+ }>, {
446
+ dataCy: string;
447
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
448
+
449
+ declare const __VLS_export_5: DefineComponent<__VLS_Props_5, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
450
+ change: () => any;
451
+ }, string, PublicProps, Readonly<__VLS_Props_5> & Readonly<{
452
+ onChange?: (() => any) | undefined;
453
+ }>, {
454
+ placeholder: string;
455
+ dataCy: string;
456
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
457
+
458
+ declare const __VLS_export_6: <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_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
459
+ props: PublicProps & __VLS_PrettifyLocal<{
460
+ name: string;
461
+ fetchItems: (pagination: Ref<Pagination>, filterData: FilterData, filterConfig: FilterConfig) => Promise<ValueObjectOption<T>[]>;
462
+ fetchItemsByIds: (ids: T[]) => Promise<ValueObjectOption<T>[]>;
463
+ filterByField: string;
464
+ filterSortBy?: DatatableSortBy;
465
+ prefetch?: "hover" | "focus" | "mounted" | false;
466
+ minSearchChars?: number;
467
+ minSearchText?: string | undefined;
468
+ placeholder?: string | undefined;
469
+ } & {
470
+ onChange?: (() => any) | undefined;
471
+ }> & (typeof globalThis extends {
472
+ __VLS_PROPS_FALLBACK: infer P;
473
+ } ? P : {});
474
+ expose: (exposed: {}) => void;
475
+ attrs: any;
476
+ slots: {};
477
+ emit: (e: "change") => void;
478
+ }>) => VNode & {
479
+ __ctx?: Awaited<typeof __VLS_setup>;
480
+ };
481
+
482
+ declare const __VLS_export_7: DefineComponent<__VLS_Props_6, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
483
+ change: () => any;
484
+ }, string, PublicProps, Readonly<__VLS_Props_6> & Readonly<{
485
+ onChange?: (() => any) | undefined;
486
+ }>, {
487
+ placeholder: string;
488
+ itemTitle: string;
489
+ itemValue: string;
490
+ filterSortBy: {
491
+ key: string;
492
+ order: SortOrderType;
493
+ } | null;
494
+ prefetch: "hover" | "focus" | "mounted" | false;
495
+ searchMinChars: number;
496
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
497
+
498
+ declare const __VLS_export_8: DefineComponent<__VLS_Props_7, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
499
+ change: () => any;
500
+ }, string, PublicProps, Readonly<__VLS_Props_7> & Readonly<{
501
+ onChange?: (() => any) | undefined;
502
+ }>, {
503
+ placeholder: string;
504
+ dataCy: string;
505
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
506
+
507
+ declare const __VLS_export_9: __VLS_WithSlots_3<typeof __VLS_base_3, __VLS_Slots_3>;
508
+
509
+ declare type __VLS_ModelProps = {
510
+ 'datatableHiddenColumns'?: string[] | undefined;
511
+ 'showDetail'?: boolean;
512
+ };
513
+
514
+ declare type __VLS_ModelProps_2 = {
515
+ 'datatableHiddenColumns'?: string[] | undefined;
516
+ };
517
+
518
+ declare type __VLS_ModelProps_3 = {
519
+ 'modelValue'?: number;
520
+ };
521
+
522
+ declare type __VLS_ModelProps_4 = {
523
+ modelValue: boolean;
524
+ };
525
+
526
+ declare type __VLS_PrettifyLocal<T> = (T extends any ? {
527
+ [K in keyof T]: T[K];
528
+ } : {
529
+ [K in keyof T as K]: T[K];
530
+ }) & {};
531
+
532
+ declare type __VLS_PrettifyLocal_2<T> = (T extends any ? {
80
533
  [K in keyof T]: T[K];
81
- } & {};
534
+ } : {
535
+ [K in keyof T as K]: T[K];
536
+ }) & {};
82
537
 
83
- declare type __VLS_PrettifyLocal_2<T> = {
538
+ declare type __VLS_PrettifyLocal_3<T> = (T extends any ? {
84
539
  [K in keyof T]: T[K];
85
- } & {};
540
+ } : {
541
+ [K in keyof T as K]: T[K];
542
+ }) & {};
86
543
 
87
- declare type __VLS_PrettifyLocal_3<T> = {
544
+ declare type __VLS_PrettifyLocal_4<T> = (T extends any ? {
88
545
  [K in keyof T]: T[K];
89
- } & {};
546
+ } : {
547
+ [K in keyof T as K]: T[K];
548
+ }) & {};
549
+
550
+ declare type __VLS_PrettifyLocal_5<T> = (T extends any ? {
551
+ [K in keyof T]: T[K];
552
+ } : {
553
+ [K in keyof T as K]: T[K];
554
+ }) & {};
555
+
556
+ declare type __VLS_PrettifyLocal_6<T> = (T extends any ? {
557
+ [K in keyof T]: T[K];
558
+ } : {
559
+ [K in keyof T as K]: T[K];
560
+ }) & {};
90
561
 
91
562
  declare type __VLS_Props = {
92
563
  enableTop?: boolean;
@@ -110,6 +581,8 @@ declare type __VLS_Props_11 = {
110
581
  hideRecordsPerPage?: boolean;
111
582
  };
112
583
 
584
+ declare type __VLS_Props_12 = Props_4;
585
+
113
586
  declare type __VLS_Props_2 = {
114
587
  hideButtons?: boolean;
115
588
  formName?: string;
@@ -170,248 +643,125 @@ declare type __VLS_Props_9 = {
170
643
  items: ValueObjectOption<string | number>[];
171
644
  };
172
645
 
173
- declare type __VLS_PublicProps = {
174
- 'datatableHiddenColumns'?: string[] | undefined;
175
- 'showDetail'?: boolean;
176
- } & __VLS_Props;
646
+ declare type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
177
647
 
178
- declare type __VLS_PublicProps_2 = {
179
- 'datatableHiddenColumns'?: string[] | undefined;
180
- } & __VLS_Props_2;
648
+ declare type __VLS_PublicProps_2 = __VLS_Props_2 & __VLS_ModelProps_2;
181
649
 
182
- declare type __VLS_PublicProps_3 = {
183
- 'modelValue'?: number;
184
- } & __VLS_Props_10;
185
-
186
- declare function __VLS_template(): {
187
- attrs: Partial<{}>;
188
- slots: Partial<Record<string, (_: {
189
- itemConfig: FilterField;
190
- }) => any>> & {
191
- top?(_: {}): any;
192
- bookmarks?(_: {}): any;
193
- search?(_: {}): any;
194
- buttons?(_: {}): any;
195
- detail?(_: {}): any;
196
- };
197
- refs: {};
198
- rootEl: any;
199
- };
200
-
201
- declare function __VLS_template_2(): {
202
- attrs: Partial<{}>;
203
- slots: Partial<Record<string, (_: {
204
- itemConfig: FilterField;
205
- }) => any>> & {
206
- bookmarks?(_: {}): any;
207
- detail?(_: {}): any;
208
- buttons?(_: {}): any;
209
- };
210
- refs: {};
211
- rootEl: any;
212
- };
213
-
214
- declare function __VLS_template_3(): {
215
- attrs: Partial<{}>;
216
- slots: {
217
- title?(_: {}): any;
218
- };
219
- refs: {};
220
- rootEl: any;
221
- };
650
+ declare type __VLS_PublicProps_3 = __VLS_Props_10 & __VLS_ModelProps_3;
222
651
 
223
- declare type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
652
+ declare type __VLS_PublicProps_4 = __VLS_Props_12 & __VLS_ModelProps_4;
224
653
 
225
- declare type __VLS_TemplateResult_2 = ReturnType<typeof __VLS_template_2>;
654
+ declare type __VLS_Slots = {} & {
655
+ [K in NonNullable<typeof __VLS_123>]?: (props: typeof __VLS_124) => any;
656
+ } & {
657
+ top?: (props: typeof __VLS_22) => any;
658
+ } & {
659
+ bookmarks?: (props: typeof __VLS_36) => any;
660
+ } & {
661
+ search?: (props: typeof __VLS_70) => any;
662
+ } & {
663
+ buttons?: (props: typeof __VLS_83) => any;
664
+ } & {
665
+ detail?: (props: typeof __VLS_108) => any;
666
+ };
226
667
 
227
- declare type __VLS_TemplateResult_3 = ReturnType<typeof __VLS_template_3>;
668
+ declare type __VLS_Slots_2 = {} & {
669
+ [K in NonNullable<typeof __VLS_46>]?: (props: typeof __VLS_47) => any;
670
+ } & {
671
+ bookmarks?: (props: typeof __VLS_10) => any;
672
+ } & {
673
+ detail?: (props: typeof __VLS_31) => any;
674
+ } & {
675
+ buttons?: (props: typeof __VLS_54) => any;
676
+ };
677
+
678
+ declare type __VLS_Slots_3 = {} & {
679
+ title?: (props: typeof __VLS_45) => any;
680
+ };
228
681
 
229
- declare type __VLS_WithTemplateSlots<T, S> = T & {
682
+ declare type __VLS_WithSlots<T, S> = T & {
230
683
  new (): {
231
684
  $slots: S;
232
685
  };
233
686
  };
234
687
 
235
- declare type __VLS_WithTemplateSlots_2<T, S> = T & {
688
+ declare type __VLS_WithSlots_2<T, S> = T & {
236
689
  new (): {
237
690
  $slots: S;
238
691
  };
239
692
  };
240
693
 
241
- declare type __VLS_WithTemplateSlots_3<T, S> = T & {
694
+ declare type __VLS_WithSlots_3<T, S> = T & {
242
695
  new (): {
243
696
  $slots: S;
244
697
  };
245
698
  };
246
699
 
247
- export declare const ADatatableOrdering: DefineComponent<__VLS_PublicProps_3, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
248
- "update:modelValue": (value: number) => any;
249
- } & {
250
- sortByChange: (data: DatatableOrderingOption) => any;
251
- }, string, PublicProps, Readonly<__VLS_PublicProps_3> & Readonly<{
252
- "onUpdate:modelValue"?: ((value: number) => any) | undefined;
253
- onSortByChange?: ((data: DatatableOrderingOption) => any) | undefined;
254
- }>, {
255
- variant: "id" | "createdAt" | "most-relevant";
256
- customOptions: DatatableOrderingOptions;
257
- paginationUpdateCustomCb: (option: DatatableOrderingOption, pagination: Ref<Pagination>) => void;
258
- }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
700
+ export declare const ADatatableOrdering: typeof __VLS_export_11;
259
701
 
260
- export declare const ADatatablePagination: DefineComponent<__VLS_Props_11, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
261
- change: () => any;
262
- }, string, PublicProps, Readonly<__VLS_Props_11> & Readonly<{
263
- onChange?: (() => any) | undefined;
264
- }>, {
265
- itemsPerPageOptions: number[];
266
- hideRecordsPerPage: boolean;
267
- }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
702
+ export declare const ADatatablePagination: typeof __VLS_export_12;
268
703
 
269
- export declare const AFilterBooleanSelect: DefineComponent<__VLS_Props_3, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
270
- change: () => any;
271
- }, string, PublicProps, Readonly<__VLS_Props_3> & Readonly<{
272
- onChange?: (() => any) | undefined;
273
- }>, {
274
- dataCy: string;
275
- allT: string;
276
- trueT: string;
277
- falseT: string;
278
- }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
704
+ declare interface AddButtonSlotProps {
705
+ readonly: boolean;
706
+ disabled: boolean;
707
+ props: {
708
+ onClick: () => void;
709
+ };
710
+ actions: {
711
+ add: () => void;
712
+ };
713
+ }
279
714
 
280
- export declare const AFilterDatetimePicker: DefineComponent<__VLS_Props_4, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
281
- change: () => any;
282
- }, string, PublicProps, Readonly<__VLS_Props_4> & Readonly<{
283
- onChange?: (() => any) | undefined;
284
- }>, {
285
- dataCy: string;
286
- }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
715
+ declare interface AddButtonSlotProps_2 {
716
+ readonly: boolean;
717
+ disabled: boolean;
718
+ props: {
719
+ onClick: () => void;
720
+ };
721
+ actions: {
722
+ add: () => void;
723
+ };
724
+ }
287
725
 
288
- export declare const AFilterInteger: DefineComponent<__VLS_Props_5, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
289
- change: () => any;
290
- }, string, PublicProps, Readonly<__VLS_Props_5> & Readonly<{
291
- onChange?: (() => any) | undefined;
292
- }>, {
293
- placeholder: string;
294
- dataCy: string;
295
- }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
726
+ declare interface AddButtonSlotProps_3 {
727
+ readonly: boolean;
728
+ disabled: boolean;
729
+ props: {
730
+ onClick: () => void;
731
+ };
732
+ actions: {
733
+ add: () => void;
734
+ };
735
+ }
296
736
 
297
- 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<{
298
- props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
299
- readonly onChange?: (() => any) | undefined;
300
- } & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, "onChange"> & {
301
- name: string;
302
- fetchItems: (pagination: Ref<Pagination>, filterData: FilterData, filterConfig: FilterConfig) => Promise<ValueObjectOption<T>[]>;
303
- fetchItemsByIds: (ids: T[]) => Promise<ValueObjectOption<T>[]>;
304
- filterByField: string;
305
- filterSortBy?: DatatableSortBy;
306
- prefetch?: "hover" | "focus" | "mounted" | false;
307
- minSearchChars?: number;
308
- minSearchText?: string | undefined;
309
- placeholder?: string | undefined;
310
- } & Partial<{}>> & PublicProps;
311
- expose(exposed: ShallowUnwrapRef< {}>): void;
312
- attrs: any;
313
- slots: {};
314
- emit: (e: "change") => void;
315
- }>) => VNode & {
316
- __ctx?: Awaited<typeof __VLS_setup>;
317
- };
737
+ export declare const AFilterBooleanSelect: typeof __VLS_export_3;
318
738
 
319
- export declare const AFilterRemoteAutocompleteWithMinimal: DefineComponent<__VLS_Props_6, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
320
- change: () => any;
321
- }, string, PublicProps, Readonly<__VLS_Props_6> & Readonly<{
322
- onChange?: (() => any) | undefined;
323
- }>, {
324
- placeholder: string;
325
- itemTitle: string;
326
- itemValue: string;
327
- filterSortBy: {
328
- key: string;
329
- order: SortOrderType;
330
- } | null;
331
- prefetch: "hover" | "focus" | "mounted" | false;
332
- searchMinChars: number;
333
- }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
739
+ export declare const AFilterDatetimePicker: typeof __VLS_export_4;
334
740
 
335
- export declare const AFilterString: DefineComponent<__VLS_Props_7, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
336
- change: () => any;
337
- }, string, PublicProps, Readonly<__VLS_Props_7> & Readonly<{
338
- onChange?: (() => any) | undefined;
339
- }>, {
340
- placeholder: string;
341
- dataCy: string;
342
- }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
741
+ export declare const AFilterInteger: typeof __VLS_export_5;
343
742
 
344
- export declare const AFilterTimeInterval: __VLS_WithTemplateSlots_3<typeof __VLS_component_3, __VLS_TemplateResult_3["slots"]>;
743
+ export declare const AFilterRemoteAutocomplete: typeof __VLS_export_6;
345
744
 
346
- export declare const AFilterValueObjectOptionsSelect: DefineComponent<__VLS_Props_9, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
347
- change: () => any;
348
- }, string, PublicProps, Readonly<__VLS_Props_9> & Readonly<{
349
- onChange?: (() => any) | undefined;
350
- }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
745
+ export declare const AFilterRemoteAutocompleteWithMinimal: typeof __VLS_export_7;
351
746
 
352
- export declare const AFilterWrapper: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
747
+ export declare const AFilterString: typeof __VLS_export_8;
353
748
 
354
- export declare const AFilterWrapperSubjectSelect: __VLS_WithTemplateSlots_2<typeof __VLS_component_2, __VLS_TemplateResult_2["slots"]>;
749
+ export declare const AFilterTimeInterval: typeof __VLS_export_9;
355
750
 
356
- 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<{
357
- props: __VLS_PrettifyLocal_2<Pick<Partial<{}> & Omit<{
358
- readonly onBlur?: ((data: T | T[] | null | undefined) => any) | undefined;
359
- readonly onFocus?: ((data: T | T[] | null | undefined) => any) | undefined;
360
- readonly "onUpdate:modelValue"?: ((value: T | T[] | null | undefined) => any) | undefined;
361
- readonly "onUpdate:selected"?: ((value: ValueObjectOption<T> | ValueObjectOption<T>[] | null) => any) | undefined;
362
- readonly onSearchChange?: ((data: string) => any) | undefined;
363
- readonly onSearchChangeDebounced?: ((data: string) => any) | undefined;
364
- readonly "onClick:chipClose"?: ((data: ValueObjectOption<T>) => any) | undefined;
365
- } & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, "onUpdate:modelValue" | "onFocus" | "onBlur" | "onUpdate:selected" | "onSearchChange" | "onSearchChangeDebounced" | "onClick:chipClose"> & ({
366
- modelValue: T | T[] | null | undefined;
367
- selected?: ValueObjectOption<T> | ValueObjectOption<T>[] | null;
368
- } & {
369
- label?: string | undefined;
370
- required?: boolean | undefined;
371
- multiple?: boolean;
372
- clearable?: boolean;
373
- v?: any;
374
- errorMessage?: string;
375
- hideDetails?: boolean;
376
- hideLabel?: boolean;
377
- fetchItems: (pagination: Ref<Pagination>, filterData: FilterData, filterConfig: FilterConfig) => Promise<ValueObjectOption<T>[]>;
378
- fetchItemsByIds: (ids: T[]) => Promise<ValueObjectOption<T>[]>;
379
- filterByField: string;
380
- filterSortBy?: DatatableSortBy;
381
- loading?: boolean;
382
- collab?: CollabComponentConfig;
383
- disabled?: boolean | undefined;
384
- readonly?: boolean;
385
- chips?: boolean;
386
- closableChips?: boolean;
387
- disableAutoSingleSelect?: boolean;
388
- prefetch?: "hover" | "focus" | "mounted" | false;
389
- minSearchChars?: number;
390
- minSearchText?: string | undefined;
391
- }) & Partial<{}>> & PublicProps;
392
- expose(exposed: ShallowUnwrapRef< {
393
- tryLoadModelValue: (tryLoadValue: T | T[] | null | undefined, prefetch?: boolean) => Promise<boolean | undefined>;
394
- }>): void;
395
- attrs: any;
396
- slots: {
397
- locked?(_: {
398
- userId: number;
399
- }): any;
400
- append?(_: {}): any;
401
- };
402
- emit: {
403
- (e: "searchChange", data: string): void;
404
- (e: "searchChangeDebounced", data: string): void;
405
- (e: "blur", data: T | T[] | null | undefined): void;
406
- (e: "focus", data: T | T[] | null | undefined): void;
407
- (e: "click:chipClose", data: ValueObjectOption<T>): void;
408
- } & (((evt: "update:modelValue", value: T | T[] | null | undefined) => void) & ((evt: "update:selected", value: ValueObjectOption<T> | ValueObjectOption<T>[] | null) => void));
409
- }>) => VNode & {
410
- __ctx?: Awaited<typeof __VLS_setup>;
411
- };
751
+ export declare const AFilterValueObjectOptionsSelect: typeof __VLS_export_10;
752
+
753
+ export declare const AFilterWrapper: typeof __VLS_export;
754
+
755
+ export declare const AFilterWrapperSubjectSelect: typeof __VLS_export_2;
756
+
757
+ export declare const AFormRemoteAutocomplete: typeof __VLS_export_13;
758
+
759
+ export declare const AListEditor: typeof __VLS_export_15;
412
760
 
413
761
  declare type AllowedFilterValues = number | number[] | string | string[] | null | undefined | boolean;
414
762
 
763
+ export declare const ANestedSortableListEditor: typeof __VLS_export_17;
764
+
415
765
  declare interface AnzuUserAndTimeTrackingAware extends CreatedByAware {
416
766
  createdAt: DatetimeUTC;
417
767
  modifiedAt: DatetimeUTC;
@@ -422,56 +772,11 @@ declare interface AnzuUserMinimal extends BaseUser {
422
772
  id: IntegerId;
423
773
  }
424
774
 
425
- 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<{
426
- props: __VLS_PrettifyLocal_3<Pick<Partial<{}> & Omit<{
427
- readonly "onUpdate:modelValue"?: ((data: boolean) => any) | undefined;
428
- readonly onOnConfirm?: ((data: TItem[]) => any) | undefined;
429
- readonly onOnOpen?: (() => any) | undefined;
430
- readonly "onUpdate:pagination"?: ((data: Pagination) => any) | undefined;
431
- readonly onOnPageChange?: (() => any) | undefined;
432
- readonly onOnFetchNextPage?: (() => any) | undefined;
433
- } & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, "onUpdate:modelValue" | "onOnConfirm" | "onOnOpen" | "onUpdate:pagination" | "onOnPageChange" | "onOnFetchNextPage"> & {
434
- selectedItems: Array<TItem>;
435
- pagination: Pagination;
436
- loading?: boolean;
437
- minCount?: number;
438
- maxCount?: number;
439
- modelValue?: boolean | undefined;
440
- dialogTitleT?: string;
441
- paginationMode?: "standard" | "more";
442
- autoOpen?: boolean;
443
- } & Partial<{}>> & PublicProps;
444
- expose(exposed: ShallowUnwrapRef< {
445
- open: () => void;
446
- closeSidebarOnMobile: () => void;
447
- }>): void;
448
- attrs: any;
449
- slots: {
450
- activator?(_: {
451
- props: {
452
- onClick: () => void;
453
- };
454
- }): any;
455
- title?(_: {}): any;
456
- 'second-bar'?(_: {}): any;
457
- 'second-bar-left'?(_: {}): any;
458
- 'second-bar-right'?(_: {}): any;
459
- filter?(_: {}): any;
460
- content?(_: {}): any;
461
- 'button-confirm-title'?(_: {}): any;
462
- 'button-confirm-title'?(_: {}): any;
463
- };
464
- emit: {
465
- (e: "update:modelValue", data: boolean): void;
466
- (e: "update:pagination", data: Pagination): void;
467
- (e: "onOpen"): void;
468
- (e: "onPageChange"): void;
469
- (e: "onConfirm", data: Array<TItem>): void;
470
- (e: "onFetchNextPage"): void;
471
- };
472
- }>) => VNode & {
473
- __ctx?: Awaited<typeof __VLS_setup>;
474
- };
775
+ export declare const ASortableListEditor: typeof __VLS_export_16;
776
+
777
+ export declare const ASubjectSelect: typeof __VLS_export_14;
778
+
779
+ export declare const AUnsavedConfirmDialog: typeof __VLS_export_18;
475
780
 
476
781
  export declare type AxiosClientFn = () => AxiosInstance;
477
782
 
@@ -569,11 +874,63 @@ declare type DatetimeUTC = string;
569
874
  */
570
875
  declare type DatetimeUTCNullable = string | null;
571
876
 
877
+ declare interface DecoratedNestedViewItem<T> extends NestedViewItem<T> {
878
+ editing: boolean;
879
+ expanded: boolean;
880
+ childrenExpanded: boolean;
881
+ loading: boolean;
882
+ dirty: boolean;
883
+ moved: boolean;
884
+ unsaved: boolean;
885
+ }
886
+
887
+ declare interface DecoratedViewItem<T> extends ListViewItem<T> {
888
+ editing: boolean;
889
+ expanded: boolean;
890
+ loading: boolean;
891
+ dirty: boolean;
892
+ }
893
+
894
+ declare interface DecoratedViewItem_2<T> extends ListViewItem<T> {
895
+ editing: boolean;
896
+ expanded: boolean;
897
+ loading: boolean;
898
+ dirty: boolean;
899
+ moved: boolean;
900
+ unsaved: boolean;
901
+ canMoveUp: boolean;
902
+ canMoveDown: boolean;
903
+ }
904
+
572
905
  /**
573
906
  * UUID v4 as string.
574
907
  */
575
908
  declare type DocId = string;
576
909
 
910
+ declare interface EmptySlotProps {
911
+ readonly: boolean;
912
+ disabled: boolean;
913
+ actions: {
914
+ add: () => void;
915
+ };
916
+ }
917
+
918
+ declare interface EmptySlotProps_2 {
919
+ readonly: boolean;
920
+ disabled: boolean;
921
+ actions: {
922
+ add: () => void;
923
+ };
924
+ }
925
+
926
+ declare interface EmptySlotProps_3 {
927
+ readonly: boolean;
928
+ disabled: boolean;
929
+ actions: {
930
+ add: () => void;
931
+ };
932
+ }
933
+
577
934
  declare type ExecuteRequestParams<T> = {
578
935
  urlTemplate?: string;
579
936
  urlParams?: UrlParams;
@@ -680,6 +1037,18 @@ declare interface GeneralFilterOptions {
680
1037
 
681
1038
  export declare const generateListQuery: (pagination: Ref<Pagination>, filterData: FilterData<any>, filterConfig: FilterConfig<any>) => string;
682
1039
 
1040
+ declare interface HeaderSlotProps {
1041
+ title: string | null;
1042
+ }
1043
+
1044
+ declare interface HeaderSlotProps_2 extends ReorderToggleSlotProps {
1045
+ title: string | null;
1046
+ }
1047
+
1048
+ declare interface HeaderSlotProps_3 extends ReorderToggleSlotProps_2 {
1049
+ title: string | null;
1050
+ }
1051
+
683
1052
  /**
684
1053
  * Integer ID.
685
1054
  */
@@ -718,6 +1087,37 @@ declare const JobStatus: {
718
1087
 
719
1088
  declare type JobStatusType = (typeof JobStatus)[keyof typeof JobStatus];
720
1089
 
1090
+ export declare interface ListEditorApi<TItem> {
1091
+ viewItems: ComputedRef<ListViewItem<TItem>[]>;
1092
+ addItem: (data: TItem, positionHint?: PositionHint) => TItem[];
1093
+ deleteItem: (idOrItem: ListEditorKey | TItem) => TItem[];
1094
+ updateItem: (idOrItem: ListEditorKey | TItem, data: TItem) => TItem[];
1095
+ moveItem: (fromIndex: number, toIndex: number) => TItem[];
1096
+ recalculatePositions: (items: TItem[]) => TItem[];
1097
+ }
1098
+
1099
+ export declare type ListEditorKey = DocId | IntegerId | string;
1100
+
1101
+ export declare const ListEditorValidationKey: InjectionKey<ListEditorValidationRegistry>;
1102
+
1103
+ export declare interface ListEditorValidationRegistry {
1104
+ register: (key: ListEditorKey, state: Ref<ListEditorValidationState> | ComputedRef<ListEditorValidationState>) => void;
1105
+ unregister: (key: ListEditorKey) => void;
1106
+ }
1107
+
1108
+ export declare type ListEditorValidationState = 'valid' | 'invalid' | 'warning' | null;
1109
+
1110
+ export declare interface ListViewItem<TItem> {
1111
+ key: ListEditorKey;
1112
+ index: number;
1113
+ raw: TItem;
1114
+ position?: number;
1115
+ moved?: boolean;
1116
+ expanded?: boolean;
1117
+ editing?: boolean;
1118
+ validationState?: ListEditorValidationState;
1119
+ }
1120
+
721
1121
  export declare interface MakeFilterOption<TName extends string = string> {
722
1122
  name: TName;
723
1123
  default: AllowedFilterValues;
@@ -733,6 +1133,78 @@ export declare interface MakeFilterOption<TName extends string = string> {
733
1133
  render?: Partial<FilerRenderOptions>;
734
1134
  }
735
1135
 
1136
+ export declare interface NestedListEditorApi<TItem extends Record<string, any>> {
1137
+ viewItems: ComputedRef<NestedViewItem<TItem>[]>;
1138
+ findNode: (id: ListEditorKey) => {
1139
+ node: NestedTreeNode<TItem> | null;
1140
+ parent: NestedTreeNode<TItem> | null;
1141
+ };
1142
+ addItem: (data: TItem, hint?: PositionHint & {
1143
+ parentId?: ListEditorKey | null;
1144
+ asFirstChild?: boolean;
1145
+ childrenAllowed?: boolean;
1146
+ }) => NestedTree<TItem>;
1147
+ deleteItem: (id: ListEditorKey) => NestedTree<TItem>;
1148
+ updateItem: (id: ListEditorKey, data: TItem) => NestedTree<TItem>;
1149
+ moveUp: (id: ListEditorKey) => NestedTree<TItem> | null;
1150
+ moveDown: (id: ListEditorKey) => NestedTree<TItem> | null;
1151
+ moveTop: (id: ListEditorKey) => NestedTree<TItem> | null;
1152
+ moveBottom: (id: ListEditorKey) => NestedTree<TItem> | null;
1153
+ indent: (id: ListEditorKey) => NestedTree<TItem> | null;
1154
+ outdent: (id: ListEditorKey) => NestedTree<TItem> | null;
1155
+ moveTo: (id: ListEditorKey, targetParentId: ListEditorKey | null, targetIndex: number) => NestedTree<TItem> | null;
1156
+ recalculatePositions: (model: NestedTree<TItem>) => NestedTree<TItem>;
1157
+ calculateSubtreeDepth: (node: NestedTreeNode<TItem>) => number;
1158
+ }
1159
+
1160
+ export declare interface NestedPositionHint {
1161
+ parentId?: ListEditorKey | null;
1162
+ afterId?: ListEditorKey;
1163
+ afterIndex?: number;
1164
+ index?: number;
1165
+ asFirstChild?: boolean;
1166
+ childrenAllowed?: boolean;
1167
+ }
1168
+
1169
+ export declare interface NestedTree<TItem = any> {
1170
+ children: NestedTreeNode<TItem>[];
1171
+ meta: {
1172
+ dirty: boolean;
1173
+ };
1174
+ }
1175
+
1176
+ /**
1177
+ * Shape-compatible with legacy SortableNestedItem but without the
1178
+ * `SortableItemWithParentDataAware` constraint — so the nested editor can
1179
+ * accept any record shape that has stable keys addressable via configurable
1180
+ * fields (keyField, positionField, parentField). Admin-cms data types like
1181
+ * `LinkedListItemKind` are assignable to this.
1182
+ */
1183
+ export declare interface NestedTreeNode<TItem = any> {
1184
+ data: TItem;
1185
+ children?: NestedTreeNode<TItem>[];
1186
+ meta: {
1187
+ dirty: boolean;
1188
+ };
1189
+ }
1190
+
1191
+ export declare interface NestedViewItem<TItem> extends ListViewItem<TItem> {
1192
+ node: NestedTreeNode<TItem>;
1193
+ depth: number;
1194
+ parent: TItem | null;
1195
+ parentKey: ListEditorKey | null;
1196
+ childrenCount: number;
1197
+ hasChildren: boolean;
1198
+ childrenAllowed: boolean;
1199
+ siblingIndex: number;
1200
+ siblingCount: number;
1201
+ firstInParent: boolean;
1202
+ lastInParent: boolean;
1203
+ canAddChild: boolean;
1204
+ canIndent: boolean;
1205
+ canOutdent: boolean;
1206
+ }
1207
+
736
1208
  export declare interface Pagination {
737
1209
  sortBy: DatatableSortBy;
738
1210
  page: number;
@@ -747,11 +1219,330 @@ declare interface PaginationOptions {
747
1219
  rowsPerPage: number;
748
1220
  }
749
1221
 
1222
+ export declare interface PositionHint {
1223
+ afterId?: ListEditorKey;
1224
+ afterIndex?: number;
1225
+ index?: number;
1226
+ }
1227
+
1228
+ declare interface Props<TItem extends Record<string, any>> {
1229
+ keyField?: string;
1230
+ positionField?: string;
1231
+ positionMultiplier?: number;
1232
+ updatePosition?: boolean;
1233
+ readonly?: boolean;
1234
+ disabled?: boolean;
1235
+ loading?: boolean;
1236
+ error?: string | null;
1237
+ title?: string | null;
1238
+ compactField?: string | null;
1239
+ statusField?: string | null;
1240
+ twoRows?: 'never' | 'mobile' | 'always';
1241
+ chips?: boolean;
1242
+ showAddButton?: boolean;
1243
+ showDeleteButton?: boolean;
1244
+ showEditButton?: boolean;
1245
+ showAddAfterAction?: boolean;
1246
+ addLabel?: string | null;
1247
+ emptyTitle?: string | null;
1248
+ emptyText?: string | null;
1249
+ disableRowClick?: boolean;
1250
+ disableDeleteConfirm?: boolean;
1251
+ deleteConfirmTitle?: string | null;
1252
+ deleteConfirmText?: string | null;
1253
+ closeVariant?: 'auto' | 'icon' | 'labeled';
1254
+ loadingKeys?: Set<ListEditorKey> | null;
1255
+ getValidationState?: (item: TItem, key: ListEditorKey, index: number) => ListEditorValidationState;
1256
+ onDeleteConfirm?: (item: TItem) => Promise<boolean> | boolean;
1257
+ onDelete?: (item: TItem) => Promise<void> | void;
1258
+ onItemSave?: (item: TItem) => Promise<void> | void;
1259
+ }
1260
+
1261
+ declare interface Props_2<TItem extends Record<string, any>> {
1262
+ keyField?: string;
1263
+ positionField?: string;
1264
+ positionMultiplier?: number;
1265
+ updatePosition?: boolean;
1266
+ readonly?: boolean;
1267
+ disabled?: boolean;
1268
+ loading?: boolean;
1269
+ error?: string | null;
1270
+ title?: string | null;
1271
+ compactField?: string | null;
1272
+ statusField?: string | null;
1273
+ twoRows?: 'never' | 'mobile' | 'always';
1274
+ chips?: boolean;
1275
+ showAddButton?: boolean;
1276
+ showDeleteButton?: boolean;
1277
+ showEditButton?: boolean;
1278
+ showAddAfterAction?: boolean;
1279
+ addLabel?: string | null;
1280
+ emptyTitle?: string | null;
1281
+ emptyText?: string | null;
1282
+ disableRowClick?: boolean;
1283
+ disableDeleteConfirm?: boolean;
1284
+ deleteConfirmTitle?: string | null;
1285
+ deleteConfirmText?: string | null;
1286
+ closeVariant?: 'auto' | 'icon' | 'labeled';
1287
+ loadingKeys?: Set<ListEditorKey> | null;
1288
+ showReorderToggle?: boolean;
1289
+ disableReorder?: boolean;
1290
+ disableDrag?: boolean;
1291
+ showMoveToPosition?: boolean;
1292
+ /**
1293
+ * Embedded mode — this editor is nested inside another editor's `#item`
1294
+ * slot and follows a shared `v-model:mode` from the outer editor. When
1295
+ * set, the editor:
1296
+ * - hides its own Reorder button + Cancel/Apply toolbar
1297
+ * - skips the snapshot/restore (the outer editor's deep snapshot covers
1298
+ * nested data, so cancel at the top reverts everything)
1299
+ * - paints lighter chrome so it visually reads as part of the parent row
1300
+ * Pair with `v-model:mode` bound to the same ref the outer editor uses.
1301
+ */
1302
+ embedded?: boolean;
1303
+ /**
1304
+ * Allow rows to remain inline-editable while the editor is in reorder
1305
+ * mode. By default, entering reorder closes any open inline edit and the
1306
+ * `#item` slot body is hidden — this keeps the visual focus on dragging.
1307
+ * Set this when the open row's body needs to render in reorder mode (e.g.
1308
+ * the parent editor of a shared-reorder pair, where the open question
1309
+ * exposes its embedded answers list for dragging).
1310
+ */
1311
+ allowEditInReorder?: boolean;
1312
+ getValidationState?: (item: TItem, key: ListEditorKey, index: number) => ListEditorValidationState;
1313
+ onDeleteConfirm?: (item: TItem) => Promise<boolean> | boolean;
1314
+ onDelete?: (item: TItem) => Promise<void> | void;
1315
+ onItemSave?: (item: TItem) => Promise<void> | void;
1316
+ onReorderApply?: (items: TItem[]) => Promise<void> | void;
1317
+ }
1318
+
1319
+ declare interface Props_3<TItem extends Record<string, any>> {
1320
+ maxDepth: number;
1321
+ keyField?: string;
1322
+ positionField?: string;
1323
+ parentField?: string;
1324
+ positionMultiplier?: number;
1325
+ readonly?: boolean;
1326
+ disabled?: boolean;
1327
+ loading?: boolean;
1328
+ error?: string | null;
1329
+ title?: string | null;
1330
+ compactField?: string | null;
1331
+ statusField?: string | null;
1332
+ showAddButton?: boolean;
1333
+ showAddChildButton?: boolean;
1334
+ showDeleteButton?: boolean;
1335
+ showEditButton?: boolean;
1336
+ showAddAfterAction?: boolean;
1337
+ showMoveToPosition?: boolean;
1338
+ showChangeParent?: boolean;
1339
+ showExpandToggle?: boolean;
1340
+ getValidationState?: (item: TItem, key: ListEditorKey, index: number) => ListEditorValidationState;
1341
+ addLabel?: string | null;
1342
+ emptyTitle?: string | null;
1343
+ emptyText?: string | null;
1344
+ disableRowClick?: boolean;
1345
+ disableDeleteConfirm?: boolean;
1346
+ deleteConfirmTitle?: string | null;
1347
+ deleteConfirmText?: string | null;
1348
+ closeVariant?: 'auto' | 'icon' | 'labeled';
1349
+ loadingKeys?: Set<ListEditorKey> | null;
1350
+ showReorderToggle?: boolean;
1351
+ disableReorder?: boolean;
1352
+ disableDrag?: boolean;
1353
+ onDeleteConfirm?: (item: TItem) => Promise<boolean> | boolean;
1354
+ onDelete?: (item: TItem) => Promise<void> | void;
1355
+ onItemSave?: (item: TItem) => Promise<void> | void;
1356
+ onReorderApply?: (tree: NestedTree<TItem>) => Promise<void> | void;
1357
+ }
1358
+
1359
+ declare interface Props_4 {
1360
+ title?: string;
1361
+ body?: string;
1362
+ stayLabel?: string;
1363
+ discardLabel?: string;
1364
+ }
1365
+
1366
+ declare type ReorderMode = 'view' | 'reorder';
1367
+
1368
+ declare type ReorderMode_2 = 'view' | 'reorder';
1369
+
1370
+ export declare type ReorderModeValue = 'view' | 'reorder';
1371
+
1372
+ declare interface ReorderToggleSlotProps {
1373
+ mode: ReorderMode;
1374
+ disabled: boolean;
1375
+ hasPendingChanges: boolean;
1376
+ actions: {
1377
+ enterReorderMode: () => void;
1378
+ exitReorderMode: () => void;
1379
+ };
1380
+ }
1381
+
1382
+ declare interface ReorderToggleSlotProps_2 {
1383
+ mode: ReorderMode_2;
1384
+ disabled: boolean;
1385
+ hasPendingChanges: boolean;
1386
+ actions: {
1387
+ enterReorderMode: () => void;
1388
+ exitReorderMode: () => void;
1389
+ };
1390
+ }
1391
+
1392
+ declare interface RowActions<TItem> {
1393
+ edit: () => void;
1394
+ save: () => Promise<void> | void;
1395
+ cancel: () => void;
1396
+ close: () => void;
1397
+ delete: () => Promise<void>;
1398
+ addAfter: () => void;
1399
+ toggleExpand: () => void;
1400
+ update: (data: TItem) => TItem[];
1401
+ }
1402
+
1403
+ declare interface RowActions_2<TItem> {
1404
+ edit: () => void;
1405
+ save: () => Promise<void> | void;
1406
+ cancel: () => void;
1407
+ close: () => void;
1408
+ delete: () => Promise<void>;
1409
+ addAfter: () => void;
1410
+ toggleExpand: () => void;
1411
+ moveUp: () => void;
1412
+ moveDown: () => void;
1413
+ moveTop: () => void;
1414
+ moveBottom: () => void;
1415
+ update: (data: TItem) => TItem[];
1416
+ }
1417
+
1418
+ declare interface RowActions_3<TItem> {
1419
+ edit: () => void;
1420
+ save: () => Promise<void> | void;
1421
+ cancel: () => void;
1422
+ close: () => void;
1423
+ delete: () => Promise<void>;
1424
+ addAfter: () => void;
1425
+ addChild: () => void;
1426
+ toggleExpand: () => void;
1427
+ toggleDetail: () => void;
1428
+ moveUp: () => void;
1429
+ moveDown: () => void;
1430
+ moveTop: () => void;
1431
+ moveBottom: () => void;
1432
+ indent: () => void;
1433
+ outdent: () => void;
1434
+ update: (data: TItem) => NestedTree<TItem>;
1435
+ }
1436
+
1437
+ declare interface RowSlotProps<TItem extends Record<string, any>> {
1438
+ item: DecoratedViewItem<TItem> & {
1439
+ validationState: ListEditorValidationState;
1440
+ };
1441
+ raw: TItem;
1442
+ index: number;
1443
+ key: ListEditorKey;
1444
+ readonly: boolean;
1445
+ disabled: boolean;
1446
+ expanded: boolean;
1447
+ editing: boolean;
1448
+ dirty: boolean;
1449
+ /**
1450
+ * Aliases `dirty` on the flat editor (no reorder mode → no `moved` to OR
1451
+ * with). Mirrors the field name on the sortable + nested variants so a
1452
+ * consumer slot template can use the same name across all three editors.
1453
+ */
1454
+ unsaved: boolean;
1455
+ touch: boolean;
1456
+ actions: RowActions<TItem>;
1457
+ }
1458
+
1459
+ declare interface RowSlotProps_2<TItem extends Record<string, any>> {
1460
+ item: DecoratedViewItem_2<TItem> & {
1461
+ validationState: ListEditorValidationState;
1462
+ };
1463
+ raw: TItem;
1464
+ index: number;
1465
+ key: ListEditorKey;
1466
+ readonly: boolean;
1467
+ disabled: boolean;
1468
+ expanded: boolean;
1469
+ editing: boolean;
1470
+ dirty: boolean;
1471
+ unsaved: boolean;
1472
+ reorderMode: boolean;
1473
+ moved: boolean;
1474
+ canMoveUp: boolean;
1475
+ canMoveDown: boolean;
1476
+ touch: boolean;
1477
+ actions: RowActions_2<TItem>;
1478
+ }
1479
+
1480
+ declare interface RowSlotProps_3<TItem extends Record<string, any>> {
1481
+ item: DecoratedNestedViewItem<TItem> & {
1482
+ validationState: ListEditorValidationState;
1483
+ };
1484
+ raw: TItem;
1485
+ index: number;
1486
+ key: ListEditorKey;
1487
+ depth: number;
1488
+ parent: TItem | null;
1489
+ parentKey: ListEditorKey | null;
1490
+ childrenCount: number;
1491
+ hasChildren: boolean;
1492
+ childrenAllowed: boolean;
1493
+ firstInParent: boolean;
1494
+ lastInParent: boolean;
1495
+ readonly: boolean;
1496
+ disabled: boolean;
1497
+ expanded: boolean;
1498
+ childrenExpanded: boolean;
1499
+ editing: boolean;
1500
+ dirty: boolean;
1501
+ unsaved: boolean;
1502
+ moved: boolean;
1503
+ reorderMode: boolean;
1504
+ canMoveUp: boolean;
1505
+ canMoveDown: boolean;
1506
+ canIndent: boolean;
1507
+ canOutdent: boolean;
1508
+ canAddChild: boolean;
1509
+ touch: boolean;
1510
+ actions: RowActions_3<TItem>;
1511
+ }
1512
+
1513
+ export declare interface SharedReorderRegistry {
1514
+ register: (id: symbol, movedCount: ComputedRef<number>, hasPendingChanges: ComputedRef<boolean>) => void;
1515
+ unregister: (id: symbol) => void;
1516
+ }
1517
+
1518
+ export declare const SharedReorderRegistryKey: InjectionKey<SharedReorderRegistry>;
1519
+
750
1520
  declare interface SortableItemDataAware {
751
1521
  id?: DocId | IntegerId;
752
1522
  position: number;
753
1523
  }
754
1524
 
1525
+ declare interface SortableItemWithParentDataAware {
1526
+ id: DocId | IntegerId;
1527
+ position: number;
1528
+ parent: DocId | IntegerId | null;
1529
+ }
1530
+
1531
+ export declare interface SortableNested<TData extends SortableItemWithParentDataAware = any> {
1532
+ children: Array<SortableNestedItem<TData>>;
1533
+ meta: {
1534
+ dirty: boolean;
1535
+ };
1536
+ }
1537
+
1538
+ export declare interface SortableNestedItem<TData extends SortableItemWithParentDataAware = any> {
1539
+ data: TData;
1540
+ children?: Array<SortableNestedItem> | undefined;
1541
+ meta: {
1542
+ dirty: boolean;
1543
+ };
1544
+ }
1545
+
755
1546
  declare const SortOrder: {
756
1547
  readonly Asc: "asc";
757
1548
  readonly Desc: "desc";
@@ -771,6 +1562,30 @@ declare type TimeIntervalSpecialOptionsType = (typeof TimeIntervalSpecialOptions
771
1562
  /** note: number value represents time interval in minutes, null represent unselected */
772
1563
  export declare type TimeIntervalToolsValue = number | TimeIntervalSpecialOptionsType | null;
773
1564
 
1565
+ declare interface ToolbarSlotProps {
1566
+ applying: boolean;
1567
+ hasPendingChanges: boolean;
1568
+ movedCount: number;
1569
+ error: string | null;
1570
+ actions: {
1571
+ apply: () => Promise<void>;
1572
+ cancel: () => void;
1573
+ };
1574
+ }
1575
+
1576
+ declare interface ToolbarSlotProps_2 {
1577
+ applying: boolean;
1578
+ hasPendingChanges: boolean;
1579
+ movedCount: number;
1580
+ error: string | null;
1581
+ actions: {
1582
+ apply: () => Promise<void>;
1583
+ cancel: () => void;
1584
+ };
1585
+ }
1586
+
1587
+ declare type UnsavedSource = Ref<boolean | Set<unknown> | unknown[] | null | undefined>;
1588
+
774
1589
  declare type UrlParams = {
775
1590
  [key: string]: number | string;
776
1591
  };
@@ -882,6 +1697,92 @@ export declare function useJobApi<JobType extends JobBase = JobBase>(client: ()
882
1697
  deleteJob: (id: number) => Promise<JobType>;
883
1698
  };
884
1699
 
1700
+ /**
1701
+ * Flat list editor core. Pure data behavior shared by AListEditor and
1702
+ * ASortableListEditor. Does not touch the DOM, SortableJS, or emits.
1703
+ *
1704
+ * The caller passes a writable ref (typically `defineModel<TItem[]>`).
1705
+ * Mutators write a new array to `model.value` and also return it.
1706
+ * Input items are never mutated — when positions need to change, a new
1707
+ * item object is produced with `{ ...item, [positionField]: n }`.
1708
+ */
1709
+ export declare function useListEditor<TItem extends Record<string, any>>(model: Ref<TItem[]>, options?: UseListEditorOptions): ListEditorApi<TItem>;
1710
+
1711
+ export declare function useListEditorItemValidation(options: UseListEditorItemValidationOptions): void;
1712
+
1713
+ declare interface UseListEditorItemValidationOptions {
1714
+ /**
1715
+ * Stable identity of the row in the editor's v-model. Pass a getter so the
1716
+ * composable can re-register if the key ever swaps.
1717
+ */
1718
+ key: () => ListEditorKey;
1719
+ /**
1720
+ * Reactive validation state. Common shape: a computed reading vuelidate's
1721
+ * `v$.$dirty && v$.$invalid` and returning 'invalid' or null.
1722
+ */
1723
+ state: Ref<ListEditorValidationState> | ComputedRef<ListEditorValidationState> | (() => ListEditorValidationState);
1724
+ }
1725
+
1726
+ export declare interface UseListEditorOptions {
1727
+ keyField?: string;
1728
+ positionField?: string;
1729
+ positionMultiplier?: number;
1730
+ updatePosition?: boolean;
1731
+ }
1732
+
1733
+ /**
1734
+ * Nested list editor core. Pure data behavior shared by ANestedSortableListEditor.
1735
+ * Works on a tree of `{ data, children, meta }` nodes — shape-compatible with the
1736
+ * legacy `SortableNested` wrapper so migration can pass existing data through
1737
+ * unchanged. Mutators return a cloned tree and also assign it to `model.value`.
1738
+ */
1739
+ export declare function useNestedListEditor<TItem extends Record<string, any>>(model: Ref<NestedTree<TItem>>, options: UseNestedListEditorOptions): NestedListEditorApi<TItem>;
1740
+
1741
+ declare interface UseNestedListEditorOptions {
1742
+ keyField?: string;
1743
+ positionField?: string;
1744
+ parentField?: string;
1745
+ positionMultiplier?: number;
1746
+ maxDepth: number;
1747
+ expandedKeys?: Ref<Set<ListEditorKey>>;
1748
+ }
1749
+
1750
+ /**
1751
+ * Aggregates per-parent child-editor unsaved-keys into one prefix-merged set.
1752
+ * Used by stacked editors (e.g. quiz: questions → answers) so the outer
1753
+ * editor's parent gets a single merged `Set<ListEditorKey>` to thread into a
1754
+ * unsaved-changes guard, without losing per-parent identity.
1755
+ *
1756
+ * Key collision matters: a brand-new question and a brand-new answer both
1757
+ * have `id: 0` from the factory; without the prefix the answers from two
1758
+ * different questions would dedupe into one entry and the count would
1759
+ * under-report. Prefix `${parentKey}:${childKey}` keeps them distinct.
1760
+ *
1761
+ * Usage:
1762
+ * const childSets = useNestedUnsavedKeys()
1763
+ * <ChildEditor
1764
+ * :unsaved-keys="childSets.getForParent(parent.id)"
1765
+ * @update:unsaved-keys="(s) => childSets.setForParent(parent.id, s)"
1766
+ * />
1767
+ * // emit `childSets.merged.value` upward
1768
+ */
1769
+ export declare function useNestedUnsavedKeys(): UseNestedUnsavedKeysApi;
1770
+
1771
+ export declare interface UseNestedUnsavedKeysApi {
1772
+ /** Set of unsaved keys for one parent row — used as the inner editor's `v-model:unsaved-keys`. */
1773
+ getForParent: (parentKey: ListEditorKey) => Set<ListEditorKey>;
1774
+ /** Push a child editor's unsaved-key set up under `parentKey`. */
1775
+ setForParent: (parentKey: ListEditorKey, set: Set<ListEditorKey>) => void;
1776
+ /**
1777
+ * Aggregated set with prefix-merged keys (`${parentKey}:${childKey}`) so two
1778
+ * different parents can't collide on a shared child key (typical for newly
1779
+ * created rows whose `id` is `0` until the API assigns one).
1780
+ */
1781
+ merged: ComputedRef<Set<ListEditorKey>>;
1782
+ /** Total count across all parents — handy for the parent v-model:unsaved-keys. */
1783
+ count: ComputedRef<number>;
1784
+ }
1785
+
885
1786
  export declare function usePagination(sortKey: string | null, sortOrder?: SortOrderType, options?: Partial<PaginationOptions>, externalPaginationRef?: Ref<Pagination>): UsePaginationReturnType;
886
1787
 
887
1788
  declare interface UsePaginationReturnType {
@@ -958,11 +1859,58 @@ export declare function useSubjectSelect<TItem>(datatableConfig: any, datatableH
958
1859
  submitFilter: () => void;
959
1860
  };
960
1861
 
1862
+ export declare function useUnsavedChangesGuard(options: UseUnsavedChangesGuardOptions): UseUnsavedChangesGuardApi;
1863
+
1864
+ declare interface UseUnsavedChangesGuardApi {
1865
+ hasUnsavedChanges: ComputedRef<boolean>;
1866
+ /**
1867
+ * v-model-bound to the confirm dialog. When the guard wants to ask the user
1868
+ * to confirm leaving, it sets this to true. The confirm dialog reads it.
1869
+ */
1870
+ promptOpen: Ref<boolean>;
1871
+ /**
1872
+ * Resolves the confirm prompt with `discard=true` (proceed) or `false`
1873
+ * (stay). Called by the confirm dialog.
1874
+ */
1875
+ resolvePrompt: (discard: boolean) => void;
1876
+ /**
1877
+ * Manually mark the most recent intent as acknowledged so the next
1878
+ * route/dialog/unload attempt proceeds without prompting. Useful right
1879
+ * before a programmatic navigation that the consumer has already
1880
+ * confirmed.
1881
+ */
1882
+ acknowledge: () => void;
1883
+ }
1884
+
1885
+ declare interface UseUnsavedChangesGuardOptions {
1886
+ /**
1887
+ * Reactive sources that signal "unsaved" state. Each source's truthiness is
1888
+ * checked: a Set/array is "dirty" when non-empty, a boolean when true, null
1889
+ * or undefined as not dirty.
1890
+ */
1891
+ sources: UnsavedSource[];
1892
+ /**
1893
+ * Block route navigation via vue-router's onBeforeRouteLeave. Default true.
1894
+ * When omitted/false, the route guard is not registered.
1895
+ */
1896
+ guardRoute?: boolean | Ref<boolean>;
1897
+ /**
1898
+ * Block window/tab unload via beforeunload. Default true.
1899
+ */
1900
+ guardWindowUnload?: boolean | Ref<boolean>;
1901
+ /**
1902
+ * Optional Vuetify dialog v-model. When provided, attempts to close the
1903
+ * dialog while dirty are intercepted: dialog stays open until the user
1904
+ * confirms via the confirm dialog or via `acknowledge()`.
1905
+ */
1906
+ guardDialogModel?: Ref<boolean>;
1907
+ }
1908
+
961
1909
  export declare function useUserAdminConfigApi(client: () => AxiosInstance, system: string, entity?: string, endPoint?: string): {
962
- useFetchUserAdminConfigList: () => UseApiFetchListReturnType<UserAdminConfig<UserAdminConfigDataFilterBookmark | UserAdminConfigDataPinnedWidgets<string>>[]>;
963
- fetchUserAdminConfig: (id: IntegerId) => Promise<UserAdminConfig<UserAdminConfigDataFilterBookmark | UserAdminConfigDataPinnedWidgets<string>>>;
964
- createUserAdminConfig: (data: UserAdminConfig) => Promise<UserAdminConfig<UserAdminConfigDataFilterBookmark | UserAdminConfigDataPinnedWidgets<string>>>;
965
- updateUserAdminConfig: (id: IntegerId, data: UserAdminConfig) => Promise<UserAdminConfig<UserAdminConfigDataFilterBookmark | UserAdminConfigDataPinnedWidgets<string>>>;
1910
+ useFetchUserAdminConfigList: () => UseApiFetchListReturnType<UserAdminConfig< UserAdminConfigDataFilterBookmark | UserAdminConfigDataPinnedWidgets<string>>[]>;
1911
+ fetchUserAdminConfig: (id: IntegerId) => Promise<UserAdminConfig< UserAdminConfigDataFilterBookmark | UserAdminConfigDataPinnedWidgets<string>>>;
1912
+ createUserAdminConfig: (data: UserAdminConfig) => Promise<UserAdminConfig< UserAdminConfigDataFilterBookmark | UserAdminConfigDataPinnedWidgets<string>>>;
1913
+ updateUserAdminConfig: (id: IntegerId, data: UserAdminConfig) => Promise<UserAdminConfig< UserAdminConfigDataFilterBookmark | UserAdminConfigDataPinnedWidgets<string>>>;
966
1914
  deleteUserAdminConfig: (id: IntegerId) => Promise<unknown>;
967
1915
  updateUserAdminConfigPositions: (ids: IntegerId[]) => Promise<{
968
1916
  userAdminConfigs: IntegerId[];
@@ -981,4 +1929,28 @@ declare interface ValueObjectOption<T> {
981
1929
  subtitle?: string;
982
1930
  }
983
1931
 
1932
+ declare interface ViewBodySlotProps<TItem extends Record<string, any>> {
1933
+ items: TItem[];
1934
+ mode: ReorderMode;
1935
+ actions: {
1936
+ enterReorderMode: () => void;
1937
+ };
1938
+ }
1939
+
984
1940
  export { }
1941
+
1942
+ declare global {
1943
+ interface Window {
1944
+ Sentry?: {
1945
+ captureException(error: Error, context?: Record<string, any>): void;
1946
+ captureMessage(message: string, context?: Record<string, any>): void;
1947
+ setTag(key: string, value: string): void;
1948
+ setUser(user: {
1949
+ id: string;
1950
+ email?: string;
1951
+ username?: string;
1952
+ }): void;
1953
+ [key: string]: any;
1954
+ };
1955
+ }
1956
+ }