@dcodegroup-au/dsg-vue 0.1.28 → 0.1.31

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.
@@ -54,9 +54,7 @@ declare function __VLS_template(): {
54
54
  readonly "onSecondary-button-clicked"?: (() => any) | undefined;
55
55
  readonly "onPrimary-button-clicked"?: (() => any) | undefined;
56
56
  } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
57
- $attrs: {
58
- [x: string]: unknown;
59
- };
57
+ $attrs: import('vue').Attrs;
60
58
  $refs: {
61
59
  [x: string]: unknown;
62
60
  };
@@ -162,9 +160,7 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {
162
160
  readonly "onSecondary-button-clicked"?: (() => any) | undefined;
163
161
  readonly "onPrimary-button-clicked"?: (() => any) | undefined;
164
162
  } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
165
- $attrs: {
166
- [x: string]: unknown;
167
- };
163
+ $attrs: import('vue').Attrs;
168
164
  $refs: {
169
165
  [x: string]: unknown;
170
166
  };
@@ -24,6 +24,8 @@ export interface DsgDropdownMenuItem {
24
24
  hotkeyPreventDefault?: boolean;
25
25
  uri?: string;
26
26
  uriTarget?: "_blank" | "_self" | "_parent" | "_top" | "framename" | undefined;
27
+ /** Whether the menu item is disabled and should not be displayed */
28
+ disabled?: boolean;
27
29
  }
28
30
  export interface DsgDropdownProps {
29
31
  label?: string;
@@ -585,9 +587,7 @@ declare function __VLS_template(): {
585
587
  readonly "onBefore-change-status"?: ((oldStatus: boolean, newStatus: boolean) => any) | undefined;
586
588
  readonly "onAfter-change-status"?: ((status: boolean) => any) | undefined;
587
589
  } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
588
- $attrs: {
589
- [x: string]: unknown;
590
- };
590
+ $attrs: import('vue').Attrs;
591
591
  $refs: {
592
592
  [x: string]: unknown;
593
593
  } & {
@@ -666,9 +666,7 @@ declare function __VLS_template(): {
666
666
  readonly preventDefault?: boolean | undefined;
667
667
  readonly "onButton-clicked"?: ((clickEvent: Event) => any) | undefined;
668
668
  } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
669
- $attrs: {
670
- [x: string]: unknown;
671
- };
669
+ $attrs: import('vue').Attrs;
672
670
  $refs: {
673
671
  [x: string]: unknown;
674
672
  } & {
@@ -1259,9 +1257,7 @@ declare const __VLS_component: import('vue').DefineComponent<DsgDropdownProps, {
1259
1257
  readonly "onBefore-change-status"?: ((oldStatus: boolean, newStatus: boolean) => any) | undefined;
1260
1258
  readonly "onAfter-change-status"?: ((status: boolean) => any) | undefined;
1261
1259
  } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
1262
- $attrs: {
1263
- [x: string]: unknown;
1264
- };
1260
+ $attrs: import('vue').Attrs;
1265
1261
  $refs: {
1266
1262
  [x: string]: unknown;
1267
1263
  } & {
@@ -1340,9 +1336,7 @@ declare const __VLS_component: import('vue').DefineComponent<DsgDropdownProps, {
1340
1336
  readonly preventDefault?: boolean | undefined;
1341
1337
  readonly "onButton-clicked"?: ((clickEvent: Event) => any) | undefined;
1342
1338
  } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
1343
- $attrs: {
1344
- [x: string]: unknown;
1345
- };
1339
+ $attrs: import('vue').Attrs;
1346
1340
  $refs: {
1347
1341
  [x: string]: unknown;
1348
1342
  } & {
@@ -45,6 +45,26 @@ export interface DsgTableProps {
45
45
  replaceState?: boolean;
46
46
  /** Strategy for updating URL state - 'window' uses History API. Defaults to 'window'. */
47
47
  replaceStrategy?: "window" | "inertia";
48
+ /** Enable detail/expandable rows. When true, each row can have an expandable detail section. */
49
+ hasDetailRow?: boolean;
50
+ /**
51
+ * Whether detail rows are expandable (toggled per row). When true, each row gets an
52
+ * expand/collapse toggle button and the detail row is only visible when expanded.
53
+ * When false, all detail rows are always visible if hasDetailRow is true.
54
+ */
55
+ expandableRows?: boolean;
56
+ /**
57
+ * Whether to allow multiple rows to be expanded simultaneously.
58
+ * When false (default), expanding a row collapses the previously expanded row (accordion mode).
59
+ * When true, any number of rows can be expanded at the same time.
60
+ */
61
+ expandMultiple?: boolean;
62
+ /** Show the expand/collapse column header. Defaults to true. */
63
+ showExpandDetail?: boolean;
64
+ /** Transition name for the detail row. Defaults to 'fade'. */
65
+ detailRowTransition?: string;
66
+ /** Options object passed to the detail row slot. */
67
+ detailRowOptions?: Object;
48
68
  }
49
69
  declare function __VLS_template(): {
50
70
  attrs: Partial<{}>;
@@ -145,6 +165,8 @@ declare function __VLS_template(): {
145
165
  } | undefined | undefined;
146
166
  readonly hasDetailRow?: boolean | undefined;
147
167
  readonly showExpandDetail?: boolean | undefined;
168
+ readonly expandableRows?: boolean | undefined;
169
+ readonly expandMultiple?: boolean | undefined;
148
170
  readonly initialPage?: number | undefined;
149
171
  readonly firstPage?: number | undefined;
150
172
  readonly sortOrder?: Array<any> | undefined;
@@ -178,12 +200,12 @@ declare function __VLS_template(): {
178
200
  readonly "onDsg-table:row-clicked"?: ((ev: Event, rowIndex: number, rowData: Record<string, any>) => any) | undefined;
179
201
  readonly "onDsg-table:row-hover"?: ((ev: Event, rowIndex: number, rowData: Record<string, any>) => any) | undefined;
180
202
  readonly "onDsg-table:row-dblclick"?: ((ev: Event, rowIndex: number, rowData: Record<string, any>) => any) | undefined;
203
+ readonly "onDsg-table:row-expanded"?: ((rowData: Record<string, any>, rowIndex: number) => any) | undefined;
204
+ readonly "onDsg-table:row-collapsed"?: ((rowData: Record<string, any>, rowIndex: number) => any) | undefined;
181
205
  readonly "onUpdate:filterParams"?: ((value: any) => any) | undefined;
182
206
  readonly "onUpdate:perPage"?: ((value: any) => any) | undefined;
183
207
  } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
184
- $attrs: {
185
- [x: string]: unknown;
186
- };
208
+ $attrs: import('vue').Attrs;
187
209
  $refs: {
188
210
  [x: string]: unknown;
189
211
  } & {
@@ -195,7 +217,7 @@ declare function __VLS_template(): {
195
217
  $root: import('vue').ComponentPublicInstance | null;
196
218
  $parent: import('vue').ComponentPublicInstance | null;
197
219
  $host: Element | null;
198
- $emit: ((event: "dsg-table:loading", loading: boolean) => void) & ((event: "dsg-table:loaded") => void) & ((event: "dsg-table:load-success", response: import('axios').AxiosResponse<any, any, {}>) => void) & ((event: "dsg-table:load-error", response: import('axios').AxiosResponse<any, any, {}>) => void) & ((event: "dsg-table:pagination-data", paginationData: any) => void) & ((event: "dsg-table:rows-selected", rows: any) => void) & ((event: "dsg-table:row-clicked", ev: Event, rowIndex: number, rowData: Record<string, any>) => void) & ((event: "dsg-table:row-hover", ev: Event, rowIndex: number, rowData: Record<string, any>) => void) & ((event: "dsg-table:row-dblclick", ev: Event, rowIndex: number, rowData: Record<string, any>) => void) & ((event: "update:filterParams", value: any) => void) & ((event: "update:perPage", value: any) => void);
220
+ $emit: ((event: "dsg-table:loading", loading: boolean) => void) & ((event: "dsg-table:loaded") => void) & ((event: "dsg-table:load-success", response: import('axios').AxiosResponse<any, any, {}>) => void) & ((event: "dsg-table:load-error", response: import('axios').AxiosResponse<any, any, {}>) => void) & ((event: "dsg-table:pagination-data", paginationData: any) => void) & ((event: "dsg-table:rows-selected", rows: any) => void) & ((event: "dsg-table:row-clicked", ev: Event, rowIndex: number, rowData: Record<string, any>) => void) & ((event: "dsg-table:row-hover", ev: Event, rowIndex: number, rowData: Record<string, any>) => void) & ((event: "dsg-table:row-dblclick", ev: Event, rowIndex: number, rowData: Record<string, any>) => void) & ((event: "dsg-table:row-expanded", rowData: Record<string, any>, rowIndex: number) => void) & ((event: "dsg-table:row-collapsed", rowData: Record<string, any>, rowIndex: number) => void) & ((event: "update:filterParams", value: any) => void) & ((event: "update:perPage", value: any) => void);
199
221
  $el: HTMLDivElement;
200
222
  $options: import('vue').ComponentOptionsBase<Readonly<{
201
223
  filterParams?: any;
@@ -210,6 +232,8 @@ declare function __VLS_template(): {
210
232
  "onDsg-table:row-clicked"?: ((ev: Event, rowIndex: number, rowData: Record<string, any>) => any) | undefined;
211
233
  "onDsg-table:row-hover"?: ((ev: Event, rowIndex: number, rowData: Record<string, any>) => any) | undefined;
212
234
  "onDsg-table:row-dblclick"?: ((ev: Event, rowIndex: number, rowData: Record<string, any>) => any) | undefined;
235
+ "onDsg-table:row-expanded"?: ((rowData: Record<string, any>, rowIndex: number) => any) | undefined;
236
+ "onDsg-table:row-collapsed"?: ((rowData: Record<string, any>, rowIndex: number) => any) | undefined;
213
237
  "onUpdate:filterParams"?: ((value: any) => any) | undefined;
214
238
  "onUpdate:perPage"?: ((value: any) => any) | undefined;
215
239
  }>, {
@@ -218,6 +242,13 @@ declare function __VLS_template(): {
218
242
  getData: () => any[] | null;
219
243
  setData: (rows: any[] | null) => void;
220
244
  setLoading: (loadingState: boolean) => void;
245
+ expandRow: (item: any) => void;
246
+ collapseRow: (item: any) => void;
247
+ toggleRowExpand: (item: any, itemIndex: number) => void;
248
+ expandAllRows: () => void;
249
+ collapseAllRows: () => void;
250
+ getExpandedRows: () => Set<any>;
251
+ isRowExpanded: (item: any) => boolean;
221
252
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
222
253
  "update:filterParams": (value: any) => any;
223
254
  "update:perPage": (value: any) => any;
@@ -231,6 +262,8 @@ declare function __VLS_template(): {
231
262
  "dsg-table:row-clicked": (ev: Event, rowIndex: number, rowData: Record<string, any>) => any;
232
263
  "dsg-table:row-hover": (ev: Event, rowIndex: number, rowData: Record<string, any>) => any;
233
264
  "dsg-table:row-dblclick": (ev: Event, rowIndex: number, rowData: Record<string, any>) => any;
265
+ "dsg-table:row-expanded": (rowData: Record<string, any>, rowIndex: number) => any;
266
+ "dsg-table:row-collapsed": (rowData: Record<string, any>, rowIndex: number) => any;
234
267
  }, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & {
235
268
  beforeCreate?: (() => void) | (() => void)[];
236
269
  created?: (() => void) | (() => void)[];
@@ -264,14 +297,23 @@ declare function __VLS_template(): {
264
297
  "onDsg-table:row-clicked"?: ((ev: Event, rowIndex: number, rowData: Record<string, any>) => any) | undefined;
265
298
  "onDsg-table:row-hover"?: ((ev: Event, rowIndex: number, rowData: Record<string, any>) => any) | undefined;
266
299
  "onDsg-table:row-dblclick"?: ((ev: Event, rowIndex: number, rowData: Record<string, any>) => any) | undefined;
300
+ "onDsg-table:row-expanded"?: ((rowData: Record<string, any>, rowIndex: number) => any) | undefined;
301
+ "onDsg-table:row-collapsed"?: ((rowData: Record<string, any>, rowIndex: number) => any) | undefined;
267
302
  "onUpdate:filterParams"?: ((value: any) => any) | undefined;
268
303
  "onUpdate:perPage"?: ((value: any) => any) | undefined;
269
- }>, "changePage" | "reload" | "getData" | "setData" | "setLoading"> & import('vue').ShallowUnwrapRef<{
304
+ }>, "changePage" | "reload" | "getData" | "setData" | "setLoading" | "expandRow" | "collapseRow" | "toggleRowExpand" | "expandAllRows" | "collapseAllRows" | "getExpandedRows" | "isRowExpanded"> & import('vue').ShallowUnwrapRef<{
270
305
  changePage: (page: "next" | "prev" | number) => void;
271
306
  reload: () => void;
272
307
  getData: () => any[] | null;
273
308
  setData: (rows: any[] | null) => void;
274
309
  setLoading: (loadingState: boolean) => void;
310
+ expandRow: (item: any) => void;
311
+ collapseRow: (item: any) => void;
312
+ toggleRowExpand: (item: any, itemIndex: number) => void;
313
+ expandAllRows: () => void;
314
+ collapseAllRows: () => void;
315
+ getExpandedRows: () => Set<any>;
316
+ isRowExpanded: (item: any) => boolean;
275
317
  }> & {} & import('vue').ComponentCustomProperties & {} & {
276
318
  $slots: Partial<Record<string, (_: {
277
319
  rowData: any;
@@ -286,6 +328,7 @@ declare function __VLS_template(): {
286
328
  rowData: any;
287
329
  rowIndex: number;
288
330
  options: Object;
331
+ isExpanded: boolean;
289
332
  }): any;
290
333
  'dsg-table-empty-result'?(_: {}): any;
291
334
  'dsg-table-footer'?(_: {
@@ -357,6 +400,13 @@ declare const __VLS_component: import('vue').DefineComponent<DsgTableProps, {
357
400
  [key: string]: any;
358
401
  };
359
402
  setLoading: (loadingState: boolean) => void;
403
+ expandRow: (item: any) => void;
404
+ collapseRow: (item: any) => void;
405
+ toggleRowExpand: (item: any, itemIndex: number) => void;
406
+ expandAllRows: () => void;
407
+ collapseAllRows: () => void;
408
+ getExpandedRows: () => Set<any>;
409
+ onChangePage: (page: any) => void;
360
410
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
361
411
  "dsg-table:action-edit": (ev: Event, rowData: Record<string, any>) => any;
362
412
  "dsg-table:action-view": (ev: Event, rowData: Record<string, any>) => any;
@@ -369,6 +419,8 @@ declare const __VLS_component: import('vue').DefineComponent<DsgTableProps, {
369
419
  "dsg-table:row-clicked": (ev: Event, rowIndex: number, rowData: Record<string, any>) => any;
370
420
  "dsg-table:row-hover": (ev: Event, rowIndex: number, rowData: Record<string, any>) => any;
371
421
  "dsg-table:row-dblclick": (ev: Event, rowIndex: number, rowData: Record<string, any>) => any;
422
+ "dsg-table:row-expanded": (rowData: Record<string, any>, rowIndex: number) => any;
423
+ "dsg-table:row-collapsed": (rowData: Record<string, any>, rowIndex: number) => any;
372
424
  "dsg-table:data-loaded": (data: any) => any;
373
425
  }, string, import('vue').PublicProps, Readonly<DsgTableProps> & Readonly<{
374
426
  "onDsg-table:action-edit"?: ((ev: Event, rowData: Record<string, any>) => any) | undefined;
@@ -382,6 +434,8 @@ declare const __VLS_component: import('vue').DefineComponent<DsgTableProps, {
382
434
  "onDsg-table:row-clicked"?: ((ev: Event, rowIndex: number, rowData: Record<string, any>) => any) | undefined;
383
435
  "onDsg-table:row-hover"?: ((ev: Event, rowIndex: number, rowData: Record<string, any>) => any) | undefined;
384
436
  "onDsg-table:row-dblclick"?: ((ev: Event, rowIndex: number, rowData: Record<string, any>) => any) | undefined;
437
+ "onDsg-table:row-expanded"?: ((rowData: Record<string, any>, rowIndex: number) => any) | undefined;
438
+ "onDsg-table:row-collapsed"?: ((rowData: Record<string, any>, rowIndex: number) => any) | undefined;
385
439
  "onDsg-table:data-loaded"?: ((data: any) => any) | undefined;
386
440
  }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
387
441
  dsgTableSearchHeaderEl: HTMLDivElement;
@@ -410,6 +464,8 @@ declare const __VLS_component: import('vue').DefineComponent<DsgTableProps, {
410
464
  } | undefined | undefined;
411
465
  readonly hasDetailRow?: boolean | undefined;
412
466
  readonly showExpandDetail?: boolean | undefined;
467
+ readonly expandableRows?: boolean | undefined;
468
+ readonly expandMultiple?: boolean | undefined;
413
469
  readonly initialPage?: number | undefined;
414
470
  readonly firstPage?: number | undefined;
415
471
  readonly sortOrder?: Array<any> | undefined;
@@ -443,12 +499,12 @@ declare const __VLS_component: import('vue').DefineComponent<DsgTableProps, {
443
499
  readonly "onDsg-table:row-clicked"?: ((ev: Event, rowIndex: number, rowData: Record<string, any>) => any) | undefined;
444
500
  readonly "onDsg-table:row-hover"?: ((ev: Event, rowIndex: number, rowData: Record<string, any>) => any) | undefined;
445
501
  readonly "onDsg-table:row-dblclick"?: ((ev: Event, rowIndex: number, rowData: Record<string, any>) => any) | undefined;
502
+ readonly "onDsg-table:row-expanded"?: ((rowData: Record<string, any>, rowIndex: number) => any) | undefined;
503
+ readonly "onDsg-table:row-collapsed"?: ((rowData: Record<string, any>, rowIndex: number) => any) | undefined;
446
504
  readonly "onUpdate:filterParams"?: ((value: any) => any) | undefined;
447
505
  readonly "onUpdate:perPage"?: ((value: any) => any) | undefined;
448
506
  } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
449
- $attrs: {
450
- [x: string]: unknown;
451
- };
507
+ $attrs: import('vue').Attrs;
452
508
  $refs: {
453
509
  [x: string]: unknown;
454
510
  } & {
@@ -460,7 +516,7 @@ declare const __VLS_component: import('vue').DefineComponent<DsgTableProps, {
460
516
  $root: import('vue').ComponentPublicInstance | null;
461
517
  $parent: import('vue').ComponentPublicInstance | null;
462
518
  $host: Element | null;
463
- $emit: ((event: "dsg-table:loading", loading: boolean) => void) & ((event: "dsg-table:loaded") => void) & ((event: "dsg-table:load-success", response: import('axios').AxiosResponse<any, any, {}>) => void) & ((event: "dsg-table:load-error", response: import('axios').AxiosResponse<any, any, {}>) => void) & ((event: "dsg-table:pagination-data", paginationData: any) => void) & ((event: "dsg-table:rows-selected", rows: any) => void) & ((event: "dsg-table:row-clicked", ev: Event, rowIndex: number, rowData: Record<string, any>) => void) & ((event: "dsg-table:row-hover", ev: Event, rowIndex: number, rowData: Record<string, any>) => void) & ((event: "dsg-table:row-dblclick", ev: Event, rowIndex: number, rowData: Record<string, any>) => void) & ((event: "update:filterParams", value: any) => void) & ((event: "update:perPage", value: any) => void);
519
+ $emit: ((event: "dsg-table:loading", loading: boolean) => void) & ((event: "dsg-table:loaded") => void) & ((event: "dsg-table:load-success", response: import('axios').AxiosResponse<any, any, {}>) => void) & ((event: "dsg-table:load-error", response: import('axios').AxiosResponse<any, any, {}>) => void) & ((event: "dsg-table:pagination-data", paginationData: any) => void) & ((event: "dsg-table:rows-selected", rows: any) => void) & ((event: "dsg-table:row-clicked", ev: Event, rowIndex: number, rowData: Record<string, any>) => void) & ((event: "dsg-table:row-hover", ev: Event, rowIndex: number, rowData: Record<string, any>) => void) & ((event: "dsg-table:row-dblclick", ev: Event, rowIndex: number, rowData: Record<string, any>) => void) & ((event: "dsg-table:row-expanded", rowData: Record<string, any>, rowIndex: number) => void) & ((event: "dsg-table:row-collapsed", rowData: Record<string, any>, rowIndex: number) => void) & ((event: "update:filterParams", value: any) => void) & ((event: "update:perPage", value: any) => void);
464
520
  $el: HTMLDivElement;
465
521
  $options: import('vue').ComponentOptionsBase<Readonly<{
466
522
  filterParams?: any;
@@ -475,6 +531,8 @@ declare const __VLS_component: import('vue').DefineComponent<DsgTableProps, {
475
531
  "onDsg-table:row-clicked"?: ((ev: Event, rowIndex: number, rowData: Record<string, any>) => any) | undefined;
476
532
  "onDsg-table:row-hover"?: ((ev: Event, rowIndex: number, rowData: Record<string, any>) => any) | undefined;
477
533
  "onDsg-table:row-dblclick"?: ((ev: Event, rowIndex: number, rowData: Record<string, any>) => any) | undefined;
534
+ "onDsg-table:row-expanded"?: ((rowData: Record<string, any>, rowIndex: number) => any) | undefined;
535
+ "onDsg-table:row-collapsed"?: ((rowData: Record<string, any>, rowIndex: number) => any) | undefined;
478
536
  "onUpdate:filterParams"?: ((value: any) => any) | undefined;
479
537
  "onUpdate:perPage"?: ((value: any) => any) | undefined;
480
538
  }>, {
@@ -483,6 +541,13 @@ declare const __VLS_component: import('vue').DefineComponent<DsgTableProps, {
483
541
  getData: () => any[] | null;
484
542
  setData: (rows: any[] | null) => void;
485
543
  setLoading: (loadingState: boolean) => void;
544
+ expandRow: (item: any) => void;
545
+ collapseRow: (item: any) => void;
546
+ toggleRowExpand: (item: any, itemIndex: number) => void;
547
+ expandAllRows: () => void;
548
+ collapseAllRows: () => void;
549
+ getExpandedRows: () => Set<any>;
550
+ isRowExpanded: (item: any) => boolean;
486
551
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
487
552
  "update:filterParams": (value: any) => any;
488
553
  "update:perPage": (value: any) => any;
@@ -496,6 +561,8 @@ declare const __VLS_component: import('vue').DefineComponent<DsgTableProps, {
496
561
  "dsg-table:row-clicked": (ev: Event, rowIndex: number, rowData: Record<string, any>) => any;
497
562
  "dsg-table:row-hover": (ev: Event, rowIndex: number, rowData: Record<string, any>) => any;
498
563
  "dsg-table:row-dblclick": (ev: Event, rowIndex: number, rowData: Record<string, any>) => any;
564
+ "dsg-table:row-expanded": (rowData: Record<string, any>, rowIndex: number) => any;
565
+ "dsg-table:row-collapsed": (rowData: Record<string, any>, rowIndex: number) => any;
499
566
  }, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & {
500
567
  beforeCreate?: (() => void) | (() => void)[];
501
568
  created?: (() => void) | (() => void)[];
@@ -529,14 +596,23 @@ declare const __VLS_component: import('vue').DefineComponent<DsgTableProps, {
529
596
  "onDsg-table:row-clicked"?: ((ev: Event, rowIndex: number, rowData: Record<string, any>) => any) | undefined;
530
597
  "onDsg-table:row-hover"?: ((ev: Event, rowIndex: number, rowData: Record<string, any>) => any) | undefined;
531
598
  "onDsg-table:row-dblclick"?: ((ev: Event, rowIndex: number, rowData: Record<string, any>) => any) | undefined;
599
+ "onDsg-table:row-expanded"?: ((rowData: Record<string, any>, rowIndex: number) => any) | undefined;
600
+ "onDsg-table:row-collapsed"?: ((rowData: Record<string, any>, rowIndex: number) => any) | undefined;
532
601
  "onUpdate:filterParams"?: ((value: any) => any) | undefined;
533
602
  "onUpdate:perPage"?: ((value: any) => any) | undefined;
534
- }>, "changePage" | "reload" | "getData" | "setData" | "setLoading"> & import('vue').ShallowUnwrapRef<{
603
+ }>, "changePage" | "reload" | "getData" | "setData" | "setLoading" | "expandRow" | "collapseRow" | "toggleRowExpand" | "expandAllRows" | "collapseAllRows" | "getExpandedRows" | "isRowExpanded"> & import('vue').ShallowUnwrapRef<{
535
604
  changePage: (page: "next" | "prev" | number) => void;
536
605
  reload: () => void;
537
606
  getData: () => any[] | null;
538
607
  setData: (rows: any[] | null) => void;
539
608
  setLoading: (loadingState: boolean) => void;
609
+ expandRow: (item: any) => void;
610
+ collapseRow: (item: any) => void;
611
+ toggleRowExpand: (item: any, itemIndex: number) => void;
612
+ expandAllRows: () => void;
613
+ collapseAllRows: () => void;
614
+ getExpandedRows: () => Set<any>;
615
+ isRowExpanded: (item: any) => boolean;
540
616
  }> & {} & import('vue').ComponentCustomProperties & {} & {
541
617
  $slots: Partial<Record<string, (_: {
542
618
  rowData: any;
@@ -551,6 +627,7 @@ declare const __VLS_component: import('vue').DefineComponent<DsgTableProps, {
551
627
  rowData: any;
552
628
  rowIndex: number;
553
629
  options: Object;
630
+ isExpanded: boolean;
554
631
  }): any;
555
632
  'dsg-table-empty-result'?(_: {}): any;
556
633
  'dsg-table-footer'?(_: {
@@ -60,6 +60,18 @@ export interface DsgTableComponentProp {
60
60
  } | undefined;
61
61
  hasDetailRow?: boolean;
62
62
  showExpandDetail?: boolean;
63
+ /**
64
+ * Whether detail rows are expandable (toggled per row). When true, each row gets an
65
+ * expand/collapse toggle button and the detail row is only visible when expanded.
66
+ * When false (default), all detail rows are always visible if hasDetailRow is true.
67
+ */
68
+ expandableRows?: boolean;
69
+ /**
70
+ * Whether to allow multiple rows to be expanded simultaneously.
71
+ * When false (default), expanding a row collapses the previously expanded row (accordion mode).
72
+ * When true, any number of rows can be expanded at the same time.
73
+ */
74
+ expandMultiple?: boolean;
63
75
  initialPage?: number;
64
76
  firstPage?: number;
65
77
  sortOrder?: Array<any>;
@@ -113,6 +125,7 @@ declare function __VLS_template(): {
113
125
  rowData: any;
114
126
  rowIndex: number;
115
127
  options: Object;
128
+ isExpanded: boolean;
116
129
  }): any;
117
130
  'dsg-table-empty-result'?(_: {}): any;
118
131
  'dsg-table-footer'?(_: {
@@ -132,6 +145,13 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps,
132
145
  getData: () => any[] | null;
133
146
  setData: (rows: any[] | null) => void;
134
147
  setLoading: (loadingState: boolean) => void;
148
+ expandRow: (item: any) => void;
149
+ collapseRow: (item: any) => void;
150
+ toggleRowExpand: (item: any, itemIndex: number) => void;
151
+ expandAllRows: () => void;
152
+ collapseAllRows: () => void;
153
+ getExpandedRows: () => Set<any>;
154
+ isRowExpanded: (item: any) => boolean;
135
155
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
136
156
  "update:filterParams": (value: any) => any;
137
157
  "update:perPage": (value: any) => any;
@@ -145,6 +165,8 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps,
145
165
  "dsg-table:row-clicked": (ev: Event, rowIndex: number, rowData: Record<string, any>) => any;
146
166
  "dsg-table:row-hover": (ev: Event, rowIndex: number, rowData: Record<string, any>) => any;
147
167
  "dsg-table:row-dblclick": (ev: Event, rowIndex: number, rowData: Record<string, any>) => any;
168
+ "dsg-table:row-expanded": (rowData: Record<string, any>, rowIndex: number) => any;
169
+ "dsg-table:row-collapsed": (rowData: Record<string, any>, rowIndex: number) => any;
148
170
  }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
149
171
  "onDsg-table:loading"?: ((loading: boolean) => any) | undefined;
150
172
  "onDsg-table:loaded"?: (() => any) | undefined;
@@ -155,6 +177,8 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps,
155
177
  "onDsg-table:row-clicked"?: ((ev: Event, rowIndex: number, rowData: Record<string, any>) => any) | undefined;
156
178
  "onDsg-table:row-hover"?: ((ev: Event, rowIndex: number, rowData: Record<string, any>) => any) | undefined;
157
179
  "onDsg-table:row-dblclick"?: ((ev: Event, rowIndex: number, rowData: Record<string, any>) => any) | undefined;
180
+ "onDsg-table:row-expanded"?: ((rowData: Record<string, any>, rowIndex: number) => any) | undefined;
181
+ "onDsg-table:row-collapsed"?: ((rowData: Record<string, any>, rowIndex: number) => any) | undefined;
158
182
  "onUpdate:filterParams"?: ((value: any) => any) | undefined;
159
183
  "onUpdate:perPage"?: ((value: any) => any) | undefined;
160
184
  }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {