@stonecrop/aform 0.4.31 → 0.4.33

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/aform.d.ts CHANGED
@@ -9,7 +9,14 @@ import AForm from './components/AForm.vue';
9
9
  import ANumericInput from './components/form/ANumericInput.vue';
10
10
  import type { App } from 'vue';
11
11
  import ATextInput from './components/form/ATextInput.vue';
12
+ import { ComputedRef } from 'vue';
13
+ import { CSSProperties } from 'vue';
12
14
  import Login from './components/utilities/Login.vue';
15
+ import { Ref } from 'vue';
16
+ import type { ShallowRef } from 'vue';
17
+ import { Store } from 'pinia';
18
+ import { useElementBounding } from '@vueuse/core';
19
+ import { WritableComputedRef } from 'vue';
13
20
 
14
21
  export { ACheckbox }
15
22
 
@@ -79,6 +86,857 @@ export declare interface CellContext {
79
86
  };
80
87
  }
81
88
 
89
+ /**
90
+ * Defined props for AForm components
91
+ * @public
92
+ */
93
+ export declare type ComponentProps = {
94
+ /**
95
+ * The schema object to pass to the component
96
+ * @public
97
+ */
98
+ schema?: SchemaTypes;
99
+ /**
100
+ * The label to display in the component
101
+ * @public
102
+ */
103
+ label?: string;
104
+ /**
105
+ * The masking string to apply to inputs inside the component
106
+ * @public
107
+ */
108
+ mask?: string;
109
+ /**
110
+ * Indicate whether input is required for text and/or select elements inside the component
111
+ * @public
112
+ */
113
+ required?: boolean;
114
+ /**
115
+ * Indicate whether elements inside the component are read-only
116
+ * @public
117
+ */
118
+ readonly?: boolean;
119
+ /**
120
+ * Set a unique identifier for elements inside the component
121
+ * @public
122
+ */
123
+ uuid?: string;
124
+ /**
125
+ * Validation options for elements inside the component
126
+ * @public
127
+ */
128
+ validation?: {
129
+ /**
130
+ * The error message to display when validation fails
131
+ * @public
132
+ */
133
+ errorMessage: string;
134
+ [key: string]: any;
135
+ };
136
+ };
137
+
138
+ /**
139
+ * Connection event for handling connection creation/deletion.
140
+ * @public
141
+ */
142
+ export declare type ConnectionEvent = {
143
+ type: 'create' | 'delete';
144
+ connection: ConnectionPath;
145
+ };
146
+
147
+ /**
148
+ * Connection handle information for gantt bar connections.
149
+ * @public
150
+ */
151
+ export declare interface ConnectionHandle {
152
+ /**
153
+ * Unique identifier for the connection handle.
154
+ */
155
+ id: string;
156
+ /**
157
+ * The row index of the gantt bar this handle belongs to.
158
+ */
159
+ rowIndex: number;
160
+ /**
161
+ * The column index of the gantt bar this handle belongs to.
162
+ */
163
+ colIndex: number;
164
+ /**
165
+ * The side of the gantt bar where this handle is located.
166
+ */
167
+ side: 'left' | 'right';
168
+ /**
169
+ * The position of the connection handle.
170
+ */
171
+ position: {
172
+ x: ShallowRef<number>;
173
+ y: ShallowRef<number>;
174
+ };
175
+ /**
176
+ * Whether the handle is currently visible (on hover).
177
+ */
178
+ visible: Ref<boolean>;
179
+ /**
180
+ * Reference to the gantt bar this handle belongs to.
181
+ */
182
+ barId: string;
183
+ }
184
+
185
+ /**
186
+ * Connection path between two gantt bars.
187
+ * @public
188
+ */
189
+ export declare interface ConnectionPath {
190
+ /**
191
+ * Unique identifier for the connection path.
192
+ */
193
+ id: string;
194
+ /**
195
+ * The source connection handle.
196
+ */
197
+ from: {
198
+ barId: string;
199
+ side: 'left' | 'right';
200
+ };
201
+ /**
202
+ * The target connection handle.
203
+ */
204
+ to: {
205
+ barId: string;
206
+ side: 'left' | 'right';
207
+ };
208
+ /**
209
+ * Optional styling for the connection path.
210
+ */
211
+ style?: {
212
+ color?: string;
213
+ width?: number;
214
+ };
215
+ /**
216
+ * Optional label for the connection.
217
+ */
218
+ label?: string;
219
+ }
220
+
221
+ /**
222
+ * Create a table store
223
+ * @param initData - Initial data for the table store
224
+ * @returns table store instance
225
+ * @public
226
+ */
227
+ declare const createTableStore: (initData: {
228
+ columns: TableColumn[];
229
+ rows: TableRow[];
230
+ id?: string;
231
+ config?: TableConfig;
232
+ modal?: TableModal;
233
+ }) => Store<`table-${string}`, Pick<{
234
+ columns: Ref< {
235
+ name: string;
236
+ align?: CanvasTextAlign | undefined;
237
+ edit?: boolean | undefined;
238
+ label?: string | undefined;
239
+ type?: string | undefined;
240
+ width?: string | undefined;
241
+ pinned?: boolean | undefined;
242
+ resizable?: boolean | undefined;
243
+ cellComponent?: string | undefined;
244
+ cellComponentProps?: Record<string, any> | undefined;
245
+ modalComponent?: string | ((context: CellContext) => string) | undefined;
246
+ modalComponentExtraProps?: Record<string, any> | undefined;
247
+ format?: string | ((value: any, context: CellContext) => string) | undefined;
248
+ mask?: ((value: any) => any) | undefined;
249
+ isGantt?: boolean | undefined;
250
+ ganttComponent?: string | undefined;
251
+ colspan?: number | undefined;
252
+ originalIndex?: number | undefined;
253
+ }[], TableColumn[] | {
254
+ name: string;
255
+ align?: CanvasTextAlign | undefined;
256
+ edit?: boolean | undefined;
257
+ label?: string | undefined;
258
+ type?: string | undefined;
259
+ width?: string | undefined;
260
+ pinned?: boolean | undefined;
261
+ resizable?: boolean | undefined;
262
+ cellComponent?: string | undefined;
263
+ cellComponentProps?: Record<string, any> | undefined;
264
+ modalComponent?: string | ((context: CellContext) => string) | undefined;
265
+ modalComponentExtraProps?: Record<string, any> | undefined;
266
+ format?: string | ((value: any, context: CellContext) => string) | undefined;
267
+ mask?: ((value: any) => any) | undefined;
268
+ isGantt?: boolean | undefined;
269
+ ganttComponent?: string | undefined;
270
+ colspan?: number | undefined;
271
+ originalIndex?: number | undefined;
272
+ }[]>;
273
+ config: Ref< {
274
+ view?: "uncounted" | "list" | "list-expansion" | "tree" | "gantt" | "tree-gantt" | undefined;
275
+ fullWidth?: boolean | undefined;
276
+ dependencyGraph?: boolean | undefined;
277
+ }, TableConfig | {
278
+ view?: "uncounted" | "list" | "list-expansion" | "tree" | "gantt" | "tree-gantt" | undefined;
279
+ fullWidth?: boolean | undefined;
280
+ dependencyGraph?: boolean | undefined;
281
+ }>;
282
+ connectionHandles: Ref< {
283
+ id: string;
284
+ rowIndex: number;
285
+ colIndex: number;
286
+ side: "left" | "right";
287
+ position: {
288
+ x: number;
289
+ y: number;
290
+ };
291
+ visible: boolean;
292
+ barId: string;
293
+ }[], ConnectionHandle[] | {
294
+ id: string;
295
+ rowIndex: number;
296
+ colIndex: number;
297
+ side: "left" | "right";
298
+ position: {
299
+ x: number;
300
+ y: number;
301
+ };
302
+ visible: boolean;
303
+ barId: string;
304
+ }[]>;
305
+ connectionPaths: Ref< {
306
+ id: string;
307
+ from: {
308
+ barId: string;
309
+ side: "left" | "right";
310
+ };
311
+ to: {
312
+ barId: string;
313
+ side: "left" | "right";
314
+ };
315
+ style?: {
316
+ color?: string | undefined;
317
+ width?: number | undefined;
318
+ } | undefined;
319
+ label?: string | undefined;
320
+ }[], ConnectionPath[] | {
321
+ id: string;
322
+ from: {
323
+ barId: string;
324
+ side: "left" | "right";
325
+ };
326
+ to: {
327
+ barId: string;
328
+ side: "left" | "right";
329
+ };
330
+ style?: {
331
+ color?: string | undefined;
332
+ width?: number | undefined;
333
+ } | undefined;
334
+ label?: string | undefined;
335
+ }[]>;
336
+ display: WritableComputedRef<TableDisplay[], TableDisplay[]>;
337
+ ganttBars: Ref< {
338
+ id: string;
339
+ rowIndex: number;
340
+ colIndex: number;
341
+ startIndex: number;
342
+ endIndex: number;
343
+ color: string;
344
+ position: {
345
+ x: number;
346
+ y: number;
347
+ };
348
+ label?: string | undefined;
349
+ }[], GanttBarInfo[] | {
350
+ id: string;
351
+ rowIndex: number;
352
+ colIndex: number;
353
+ startIndex: number;
354
+ endIndex: number;
355
+ color: string;
356
+ position: {
357
+ x: number;
358
+ y: number;
359
+ };
360
+ label?: string | undefined;
361
+ }[]>;
362
+ modal: Ref< {
363
+ visible?: boolean | undefined;
364
+ cell?: (HTMLTableCellElement | null) | undefined;
365
+ parent?: HTMLElement | undefined;
366
+ colIndex?: number | undefined;
367
+ rowIndex?: number | undefined;
368
+ component?: string | undefined;
369
+ componentProps?: Record<string, any> | undefined;
370
+ bottom?: number | undefined;
371
+ height?: number | undefined;
372
+ left?: number | undefined;
373
+ width?: number | undefined;
374
+ }, TableModal | {
375
+ visible?: boolean | undefined;
376
+ cell?: (HTMLTableCellElement | null) | undefined;
377
+ parent?: HTMLElement | undefined;
378
+ colIndex?: number | undefined;
379
+ rowIndex?: number | undefined;
380
+ component?: string | undefined;
381
+ componentProps?: Record<string, any> | undefined;
382
+ bottom?: number | undefined;
383
+ height?: number | undefined;
384
+ left?: number | undefined;
385
+ width?: number | undefined;
386
+ }>;
387
+ rows: Ref< {
388
+ [x: string]: any;
389
+ indent?: number | undefined;
390
+ parent?: number | undefined;
391
+ gantt?: {
392
+ color?: string | undefined;
393
+ startIndex?: number | undefined;
394
+ endIndex?: number | undefined;
395
+ colspan?: number | undefined;
396
+ } | undefined;
397
+ }[], TableRow[] | {
398
+ [x: string]: any;
399
+ indent?: number | undefined;
400
+ parent?: number | undefined;
401
+ gantt?: {
402
+ color?: string | undefined;
403
+ startIndex?: number | undefined;
404
+ endIndex?: number | undefined;
405
+ colspan?: number | undefined;
406
+ } | undefined;
407
+ }[]>;
408
+ table: ComputedRef< {}>;
409
+ updates: Ref<Record<string, string>, Record<string, string>>;
410
+ hasPinnedColumns: ComputedRef<boolean>;
411
+ isGanttView: ComputedRef<boolean>;
412
+ isTreeView: ComputedRef<boolean>;
413
+ isDependencyGraphEnabled: ComputedRef<boolean>;
414
+ numberedRowWidth: ComputedRef<string>;
415
+ zeroColumn: ComputedRef<boolean>;
416
+ closeModal: (event: MouseEvent) => void;
417
+ createConnection: (fromHandleId: string, toHandleId: string, options?: {
418
+ style?: ConnectionPath["style"];
419
+ label?: string;
420
+ }) => ConnectionPath | null;
421
+ deleteConnection: (connectionId: string) => boolean;
422
+ getCellData: <T = any>(colIndex: number, rowIndex: number) => T;
423
+ getCellDisplayValue: (colIndex: number, rowIndex: number) => any;
424
+ getConnectionsForBar: (barId: string) => {
425
+ id: string;
426
+ from: {
427
+ barId: string;
428
+ side: "left" | "right";
429
+ };
430
+ to: {
431
+ barId: string;
432
+ side: "left" | "right";
433
+ };
434
+ style?: {
435
+ color?: string | undefined;
436
+ width?: number | undefined;
437
+ } | undefined;
438
+ label?: string | undefined;
439
+ }[];
440
+ getFormattedValue: (colIndex: number, rowIndex: number, value: any) => any;
441
+ getHandlesForBar: (barId: string) => {
442
+ id: string;
443
+ rowIndex: number;
444
+ colIndex: number;
445
+ side: "left" | "right";
446
+ position: {
447
+ x: number;
448
+ y: number;
449
+ };
450
+ visible: boolean;
451
+ barId: string;
452
+ }[];
453
+ getHeaderCellStyle: (column: TableColumn) => CSSProperties;
454
+ getIndent: (colIndex: number, indentLevel?: number) => string;
455
+ getRowExpandSymbol: (rowIndex: number) => "" | "▼" | "►";
456
+ isRowGantt: (rowIndex: number) => boolean;
457
+ isRowVisible: (rowIndex: number) => boolean | undefined;
458
+ registerConnectionHandle: (handleInfo: ConnectionHandle) => void;
459
+ registerGanttBar: (barInfo: GanttBarInfo) => void;
460
+ resizeColumn: (colIndex: number, newWidth: number) => void;
461
+ setCellData: (colIndex: number, rowIndex: number, value: any) => void;
462
+ setCellText: (colIndex: number, rowIndex: number, value: string) => void;
463
+ toggleRowExpand: (rowIndex: number) => void;
464
+ unregisterConnectionHandle: (handleId: string) => void;
465
+ unregisterGanttBar: (barId: string) => void;
466
+ updateGanttBar: (event: GanttDragEvent) => void;
467
+ updateRows: (newRows: TableRow[]) => void;
468
+ }, "columns" | "config" | "connectionHandles" | "connectionPaths" | "ganttBars" | "modal" | "rows" | "updates">, Pick<{
469
+ columns: Ref< {
470
+ name: string;
471
+ align?: CanvasTextAlign | undefined;
472
+ edit?: boolean | undefined;
473
+ label?: string | undefined;
474
+ type?: string | undefined;
475
+ width?: string | undefined;
476
+ pinned?: boolean | undefined;
477
+ resizable?: boolean | undefined;
478
+ cellComponent?: string | undefined;
479
+ cellComponentProps?: Record<string, any> | undefined;
480
+ modalComponent?: string | ((context: CellContext) => string) | undefined;
481
+ modalComponentExtraProps?: Record<string, any> | undefined;
482
+ format?: string | ((value: any, context: CellContext) => string) | undefined;
483
+ mask?: ((value: any) => any) | undefined;
484
+ isGantt?: boolean | undefined;
485
+ ganttComponent?: string | undefined;
486
+ colspan?: number | undefined;
487
+ originalIndex?: number | undefined;
488
+ }[], TableColumn[] | {
489
+ name: string;
490
+ align?: CanvasTextAlign | undefined;
491
+ edit?: boolean | undefined;
492
+ label?: string | undefined;
493
+ type?: string | undefined;
494
+ width?: string | undefined;
495
+ pinned?: boolean | undefined;
496
+ resizable?: boolean | undefined;
497
+ cellComponent?: string | undefined;
498
+ cellComponentProps?: Record<string, any> | undefined;
499
+ modalComponent?: string | ((context: CellContext) => string) | undefined;
500
+ modalComponentExtraProps?: Record<string, any> | undefined;
501
+ format?: string | ((value: any, context: CellContext) => string) | undefined;
502
+ mask?: ((value: any) => any) | undefined;
503
+ isGantt?: boolean | undefined;
504
+ ganttComponent?: string | undefined;
505
+ colspan?: number | undefined;
506
+ originalIndex?: number | undefined;
507
+ }[]>;
508
+ config: Ref< {
509
+ view?: "uncounted" | "list" | "list-expansion" | "tree" | "gantt" | "tree-gantt" | undefined;
510
+ fullWidth?: boolean | undefined;
511
+ dependencyGraph?: boolean | undefined;
512
+ }, TableConfig | {
513
+ view?: "uncounted" | "list" | "list-expansion" | "tree" | "gantt" | "tree-gantt" | undefined;
514
+ fullWidth?: boolean | undefined;
515
+ dependencyGraph?: boolean | undefined;
516
+ }>;
517
+ connectionHandles: Ref< {
518
+ id: string;
519
+ rowIndex: number;
520
+ colIndex: number;
521
+ side: "left" | "right";
522
+ position: {
523
+ x: number;
524
+ y: number;
525
+ };
526
+ visible: boolean;
527
+ barId: string;
528
+ }[], ConnectionHandle[] | {
529
+ id: string;
530
+ rowIndex: number;
531
+ colIndex: number;
532
+ side: "left" | "right";
533
+ position: {
534
+ x: number;
535
+ y: number;
536
+ };
537
+ visible: boolean;
538
+ barId: string;
539
+ }[]>;
540
+ connectionPaths: Ref< {
541
+ id: string;
542
+ from: {
543
+ barId: string;
544
+ side: "left" | "right";
545
+ };
546
+ to: {
547
+ barId: string;
548
+ side: "left" | "right";
549
+ };
550
+ style?: {
551
+ color?: string | undefined;
552
+ width?: number | undefined;
553
+ } | undefined;
554
+ label?: string | undefined;
555
+ }[], ConnectionPath[] | {
556
+ id: string;
557
+ from: {
558
+ barId: string;
559
+ side: "left" | "right";
560
+ };
561
+ to: {
562
+ barId: string;
563
+ side: "left" | "right";
564
+ };
565
+ style?: {
566
+ color?: string | undefined;
567
+ width?: number | undefined;
568
+ } | undefined;
569
+ label?: string | undefined;
570
+ }[]>;
571
+ display: WritableComputedRef<TableDisplay[], TableDisplay[]>;
572
+ ganttBars: Ref< {
573
+ id: string;
574
+ rowIndex: number;
575
+ colIndex: number;
576
+ startIndex: number;
577
+ endIndex: number;
578
+ color: string;
579
+ position: {
580
+ x: number;
581
+ y: number;
582
+ };
583
+ label?: string | undefined;
584
+ }[], GanttBarInfo[] | {
585
+ id: string;
586
+ rowIndex: number;
587
+ colIndex: number;
588
+ startIndex: number;
589
+ endIndex: number;
590
+ color: string;
591
+ position: {
592
+ x: number;
593
+ y: number;
594
+ };
595
+ label?: string | undefined;
596
+ }[]>;
597
+ modal: Ref< {
598
+ visible?: boolean | undefined;
599
+ cell?: (HTMLTableCellElement | null) | undefined;
600
+ parent?: HTMLElement | undefined;
601
+ colIndex?: number | undefined;
602
+ rowIndex?: number | undefined;
603
+ component?: string | undefined;
604
+ componentProps?: Record<string, any> | undefined;
605
+ bottom?: number | undefined;
606
+ height?: number | undefined;
607
+ left?: number | undefined;
608
+ width?: number | undefined;
609
+ }, TableModal | {
610
+ visible?: boolean | undefined;
611
+ cell?: (HTMLTableCellElement | null) | undefined;
612
+ parent?: HTMLElement | undefined;
613
+ colIndex?: number | undefined;
614
+ rowIndex?: number | undefined;
615
+ component?: string | undefined;
616
+ componentProps?: Record<string, any> | undefined;
617
+ bottom?: number | undefined;
618
+ height?: number | undefined;
619
+ left?: number | undefined;
620
+ width?: number | undefined;
621
+ }>;
622
+ rows: Ref< {
623
+ [x: string]: any;
624
+ indent?: number | undefined;
625
+ parent?: number | undefined;
626
+ gantt?: {
627
+ color?: string | undefined;
628
+ startIndex?: number | undefined;
629
+ endIndex?: number | undefined;
630
+ colspan?: number | undefined;
631
+ } | undefined;
632
+ }[], TableRow[] | {
633
+ [x: string]: any;
634
+ indent?: number | undefined;
635
+ parent?: number | undefined;
636
+ gantt?: {
637
+ color?: string | undefined;
638
+ startIndex?: number | undefined;
639
+ endIndex?: number | undefined;
640
+ colspan?: number | undefined;
641
+ } | undefined;
642
+ }[]>;
643
+ table: ComputedRef< {}>;
644
+ updates: Ref<Record<string, string>, Record<string, string>>;
645
+ hasPinnedColumns: ComputedRef<boolean>;
646
+ isGanttView: ComputedRef<boolean>;
647
+ isTreeView: ComputedRef<boolean>;
648
+ isDependencyGraphEnabled: ComputedRef<boolean>;
649
+ numberedRowWidth: ComputedRef<string>;
650
+ zeroColumn: ComputedRef<boolean>;
651
+ closeModal: (event: MouseEvent) => void;
652
+ createConnection: (fromHandleId: string, toHandleId: string, options?: {
653
+ style?: ConnectionPath["style"];
654
+ label?: string;
655
+ }) => ConnectionPath | null;
656
+ deleteConnection: (connectionId: string) => boolean;
657
+ getCellData: <T = any>(colIndex: number, rowIndex: number) => T;
658
+ getCellDisplayValue: (colIndex: number, rowIndex: number) => any;
659
+ getConnectionsForBar: (barId: string) => {
660
+ id: string;
661
+ from: {
662
+ barId: string;
663
+ side: "left" | "right";
664
+ };
665
+ to: {
666
+ barId: string;
667
+ side: "left" | "right";
668
+ };
669
+ style?: {
670
+ color?: string | undefined;
671
+ width?: number | undefined;
672
+ } | undefined;
673
+ label?: string | undefined;
674
+ }[];
675
+ getFormattedValue: (colIndex: number, rowIndex: number, value: any) => any;
676
+ getHandlesForBar: (barId: string) => {
677
+ id: string;
678
+ rowIndex: number;
679
+ colIndex: number;
680
+ side: "left" | "right";
681
+ position: {
682
+ x: number;
683
+ y: number;
684
+ };
685
+ visible: boolean;
686
+ barId: string;
687
+ }[];
688
+ getHeaderCellStyle: (column: TableColumn) => CSSProperties;
689
+ getIndent: (colIndex: number, indentLevel?: number) => string;
690
+ getRowExpandSymbol: (rowIndex: number) => "" | "▼" | "►";
691
+ isRowGantt: (rowIndex: number) => boolean;
692
+ isRowVisible: (rowIndex: number) => boolean | undefined;
693
+ registerConnectionHandle: (handleInfo: ConnectionHandle) => void;
694
+ registerGanttBar: (barInfo: GanttBarInfo) => void;
695
+ resizeColumn: (colIndex: number, newWidth: number) => void;
696
+ setCellData: (colIndex: number, rowIndex: number, value: any) => void;
697
+ setCellText: (colIndex: number, rowIndex: number, value: string) => void;
698
+ toggleRowExpand: (rowIndex: number) => void;
699
+ unregisterConnectionHandle: (handleId: string) => void;
700
+ unregisterGanttBar: (barId: string) => void;
701
+ updateGanttBar: (event: GanttDragEvent) => void;
702
+ updateRows: (newRows: TableRow[]) => void;
703
+ }, "display" | "table" | "hasPinnedColumns" | "isGanttView" | "isTreeView" | "isDependencyGraphEnabled" | "numberedRowWidth" | "zeroColumn">, Pick<{
704
+ columns: Ref< {
705
+ name: string;
706
+ align?: CanvasTextAlign | undefined;
707
+ edit?: boolean | undefined;
708
+ label?: string | undefined;
709
+ type?: string | undefined;
710
+ width?: string | undefined;
711
+ pinned?: boolean | undefined;
712
+ resizable?: boolean | undefined;
713
+ cellComponent?: string | undefined;
714
+ cellComponentProps?: Record<string, any> | undefined;
715
+ modalComponent?: string | ((context: CellContext) => string) | undefined;
716
+ modalComponentExtraProps?: Record<string, any> | undefined;
717
+ format?: string | ((value: any, context: CellContext) => string) | undefined;
718
+ mask?: ((value: any) => any) | undefined;
719
+ isGantt?: boolean | undefined;
720
+ ganttComponent?: string | undefined;
721
+ colspan?: number | undefined;
722
+ originalIndex?: number | undefined;
723
+ }[], TableColumn[] | {
724
+ name: string;
725
+ align?: CanvasTextAlign | undefined;
726
+ edit?: boolean | undefined;
727
+ label?: string | undefined;
728
+ type?: string | undefined;
729
+ width?: string | undefined;
730
+ pinned?: boolean | undefined;
731
+ resizable?: boolean | undefined;
732
+ cellComponent?: string | undefined;
733
+ cellComponentProps?: Record<string, any> | undefined;
734
+ modalComponent?: string | ((context: CellContext) => string) | undefined;
735
+ modalComponentExtraProps?: Record<string, any> | undefined;
736
+ format?: string | ((value: any, context: CellContext) => string) | undefined;
737
+ mask?: ((value: any) => any) | undefined;
738
+ isGantt?: boolean | undefined;
739
+ ganttComponent?: string | undefined;
740
+ colspan?: number | undefined;
741
+ originalIndex?: number | undefined;
742
+ }[]>;
743
+ config: Ref< {
744
+ view?: "uncounted" | "list" | "list-expansion" | "tree" | "gantt" | "tree-gantt" | undefined;
745
+ fullWidth?: boolean | undefined;
746
+ dependencyGraph?: boolean | undefined;
747
+ }, TableConfig | {
748
+ view?: "uncounted" | "list" | "list-expansion" | "tree" | "gantt" | "tree-gantt" | undefined;
749
+ fullWidth?: boolean | undefined;
750
+ dependencyGraph?: boolean | undefined;
751
+ }>;
752
+ connectionHandles: Ref< {
753
+ id: string;
754
+ rowIndex: number;
755
+ colIndex: number;
756
+ side: "left" | "right";
757
+ position: {
758
+ x: number;
759
+ y: number;
760
+ };
761
+ visible: boolean;
762
+ barId: string;
763
+ }[], ConnectionHandle[] | {
764
+ id: string;
765
+ rowIndex: number;
766
+ colIndex: number;
767
+ side: "left" | "right";
768
+ position: {
769
+ x: number;
770
+ y: number;
771
+ };
772
+ visible: boolean;
773
+ barId: string;
774
+ }[]>;
775
+ connectionPaths: Ref< {
776
+ id: string;
777
+ from: {
778
+ barId: string;
779
+ side: "left" | "right";
780
+ };
781
+ to: {
782
+ barId: string;
783
+ side: "left" | "right";
784
+ };
785
+ style?: {
786
+ color?: string | undefined;
787
+ width?: number | undefined;
788
+ } | undefined;
789
+ label?: string | undefined;
790
+ }[], ConnectionPath[] | {
791
+ id: string;
792
+ from: {
793
+ barId: string;
794
+ side: "left" | "right";
795
+ };
796
+ to: {
797
+ barId: string;
798
+ side: "left" | "right";
799
+ };
800
+ style?: {
801
+ color?: string | undefined;
802
+ width?: number | undefined;
803
+ } | undefined;
804
+ label?: string | undefined;
805
+ }[]>;
806
+ display: WritableComputedRef<TableDisplay[], TableDisplay[]>;
807
+ ganttBars: Ref< {
808
+ id: string;
809
+ rowIndex: number;
810
+ colIndex: number;
811
+ startIndex: number;
812
+ endIndex: number;
813
+ color: string;
814
+ position: {
815
+ x: number;
816
+ y: number;
817
+ };
818
+ label?: string | undefined;
819
+ }[], GanttBarInfo[] | {
820
+ id: string;
821
+ rowIndex: number;
822
+ colIndex: number;
823
+ startIndex: number;
824
+ endIndex: number;
825
+ color: string;
826
+ position: {
827
+ x: number;
828
+ y: number;
829
+ };
830
+ label?: string | undefined;
831
+ }[]>;
832
+ modal: Ref< {
833
+ visible?: boolean | undefined;
834
+ cell?: (HTMLTableCellElement | null) | undefined;
835
+ parent?: HTMLElement | undefined;
836
+ colIndex?: number | undefined;
837
+ rowIndex?: number | undefined;
838
+ component?: string | undefined;
839
+ componentProps?: Record<string, any> | undefined;
840
+ bottom?: number | undefined;
841
+ height?: number | undefined;
842
+ left?: number | undefined;
843
+ width?: number | undefined;
844
+ }, TableModal | {
845
+ visible?: boolean | undefined;
846
+ cell?: (HTMLTableCellElement | null) | undefined;
847
+ parent?: HTMLElement | undefined;
848
+ colIndex?: number | undefined;
849
+ rowIndex?: number | undefined;
850
+ component?: string | undefined;
851
+ componentProps?: Record<string, any> | undefined;
852
+ bottom?: number | undefined;
853
+ height?: number | undefined;
854
+ left?: number | undefined;
855
+ width?: number | undefined;
856
+ }>;
857
+ rows: Ref< {
858
+ [x: string]: any;
859
+ indent?: number | undefined;
860
+ parent?: number | undefined;
861
+ gantt?: {
862
+ color?: string | undefined;
863
+ startIndex?: number | undefined;
864
+ endIndex?: number | undefined;
865
+ colspan?: number | undefined;
866
+ } | undefined;
867
+ }[], TableRow[] | {
868
+ [x: string]: any;
869
+ indent?: number | undefined;
870
+ parent?: number | undefined;
871
+ gantt?: {
872
+ color?: string | undefined;
873
+ startIndex?: number | undefined;
874
+ endIndex?: number | undefined;
875
+ colspan?: number | undefined;
876
+ } | undefined;
877
+ }[]>;
878
+ table: ComputedRef< {}>;
879
+ updates: Ref<Record<string, string>, Record<string, string>>;
880
+ hasPinnedColumns: ComputedRef<boolean>;
881
+ isGanttView: ComputedRef<boolean>;
882
+ isTreeView: ComputedRef<boolean>;
883
+ isDependencyGraphEnabled: ComputedRef<boolean>;
884
+ numberedRowWidth: ComputedRef<string>;
885
+ zeroColumn: ComputedRef<boolean>;
886
+ closeModal: (event: MouseEvent) => void;
887
+ createConnection: (fromHandleId: string, toHandleId: string, options?: {
888
+ style?: ConnectionPath["style"];
889
+ label?: string;
890
+ }) => ConnectionPath | null;
891
+ deleteConnection: (connectionId: string) => boolean;
892
+ getCellData: <T = any>(colIndex: number, rowIndex: number) => T;
893
+ getCellDisplayValue: (colIndex: number, rowIndex: number) => any;
894
+ getConnectionsForBar: (barId: string) => {
895
+ id: string;
896
+ from: {
897
+ barId: string;
898
+ side: "left" | "right";
899
+ };
900
+ to: {
901
+ barId: string;
902
+ side: "left" | "right";
903
+ };
904
+ style?: {
905
+ color?: string | undefined;
906
+ width?: number | undefined;
907
+ } | undefined;
908
+ label?: string | undefined;
909
+ }[];
910
+ getFormattedValue: (colIndex: number, rowIndex: number, value: any) => any;
911
+ getHandlesForBar: (barId: string) => {
912
+ id: string;
913
+ rowIndex: number;
914
+ colIndex: number;
915
+ side: "left" | "right";
916
+ position: {
917
+ x: number;
918
+ y: number;
919
+ };
920
+ visible: boolean;
921
+ barId: string;
922
+ }[];
923
+ getHeaderCellStyle: (column: TableColumn) => CSSProperties;
924
+ getIndent: (colIndex: number, indentLevel?: number) => string;
925
+ getRowExpandSymbol: (rowIndex: number) => "" | "▼" | "►";
926
+ isRowGantt: (rowIndex: number) => boolean;
927
+ isRowVisible: (rowIndex: number) => boolean | undefined;
928
+ registerConnectionHandle: (handleInfo: ConnectionHandle) => void;
929
+ registerGanttBar: (barInfo: GanttBarInfo) => void;
930
+ resizeColumn: (colIndex: number, newWidth: number) => void;
931
+ setCellData: (colIndex: number, rowIndex: number, value: any) => void;
932
+ setCellText: (colIndex: number, rowIndex: number, value: string) => void;
933
+ toggleRowExpand: (rowIndex: number) => void;
934
+ unregisterConnectionHandle: (handleId: string) => void;
935
+ unregisterGanttBar: (barId: string) => void;
936
+ updateGanttBar: (event: GanttDragEvent) => void;
937
+ updateRows: (newRows: TableRow[]) => void;
938
+ }, "closeModal" | "createConnection" | "deleteConnection" | "getCellData" | "getCellDisplayValue" | "getConnectionsForBar" | "getFormattedValue" | "getHandlesForBar" | "getHeaderCellStyle" | "getIndent" | "getRowExpandSymbol" | "isRowGantt" | "isRowVisible" | "registerConnectionHandle" | "registerGanttBar" | "resizeColumn" | "setCellData" | "setCellText" | "toggleRowExpand" | "unregisterConnectionHandle" | "unregisterGanttBar" | "updateGanttBar" | "updateRows">>;
939
+
82
940
  /**
83
941
  * Schema structure for defining fieldsets inside AForm
84
942
  * @public
@@ -154,6 +1012,81 @@ export declare type FormSchema = BaseSchema & {
154
1012
  mask?: string;
155
1013
  };
156
1014
 
1015
+ /**
1016
+ * Gantt bar information for VueFlow integration.
1017
+ * @public
1018
+ */
1019
+ export declare interface GanttBarInfo {
1020
+ /**
1021
+ * Unique identifier for the gantt bar.
1022
+ */
1023
+ id: string;
1024
+ /**
1025
+ * The row index of the gantt bar.
1026
+ */
1027
+ rowIndex: number;
1028
+ /**
1029
+ * The primary column index of the gantt bar (typically the start index).
1030
+ */
1031
+ colIndex: number;
1032
+ /**
1033
+ * Starting column index of the gantt bar.
1034
+ */
1035
+ startIndex: Ref<number>;
1036
+ /**
1037
+ * Ending column index of the gantt bar.
1038
+ */
1039
+ endIndex: Ref<number>;
1040
+ /**
1041
+ * Color of the gantt bar.
1042
+ */
1043
+ color: Ref<string>;
1044
+ /**
1045
+ * The position of the gantt bar in the ATable component.
1046
+ */
1047
+ position: {
1048
+ x: ShallowRef<number>;
1049
+ y: ShallowRef<number>;
1050
+ };
1051
+ /**
1052
+ * Display label for the gantt bar.
1053
+ */
1054
+ label?: string;
1055
+ }
1056
+
1057
+ /**
1058
+ * Gantt table drag event definition.
1059
+ * @public
1060
+ */
1061
+ export declare type GanttDragEvent = {
1062
+ rowIndex: number;
1063
+ colIndex: number;
1064
+ delta: number;
1065
+ } & ({
1066
+ type: 'bar';
1067
+ oldStart: number;
1068
+ oldEnd: number;
1069
+ newStart: number;
1070
+ newEnd: number;
1071
+ colspan: number;
1072
+ } | {
1073
+ type: 'resize';
1074
+ edge: 'start';
1075
+ oldStart: number;
1076
+ newStart: number;
1077
+ end: number;
1078
+ oldColspan: number;
1079
+ newColspan: number;
1080
+ } | {
1081
+ type: 'resize';
1082
+ edge: 'end';
1083
+ oldEnd: number;
1084
+ newEnd: number;
1085
+ start: number;
1086
+ oldColspan: number;
1087
+ newColspan: number;
1088
+ });
1089
+
157
1090
  /**
158
1091
  * Gantt chart options for table rows.
159
1092
  * @public
@@ -362,6 +1295,160 @@ export declare interface TableConfig {
362
1295
  dependencyGraph?: boolean;
363
1296
  }
364
1297
 
1298
+ /**
1299
+ * Table display definition.
1300
+ * @public
1301
+ */
1302
+ export declare interface TableDisplay {
1303
+ /**
1304
+ * Indicates whether a row node is expanded or collapsed.
1305
+ *
1306
+ * Only applicable for list-expansion views.
1307
+ *
1308
+ * @defaultValue false
1309
+ */
1310
+ expanded?: boolean;
1311
+ /**
1312
+ * Indicates whether a row node's child nodes are open or closed.
1313
+ *
1314
+ * Only applicable for tree views.
1315
+ *
1316
+ * @defaultValue false
1317
+ */
1318
+ childrenOpen?: boolean;
1319
+ /**
1320
+ * Indicates whether a row node is a parent node. This is evaluated automatically
1321
+ * while rendering the table.
1322
+ *
1323
+ * Only applicable for tree views.
1324
+ */
1325
+ isParent?: boolean;
1326
+ /**
1327
+ * Indicates whether a row node is a root node. This is evaluated automatically
1328
+ * while rendering the table.
1329
+ *
1330
+ * Only applicable for tree views.
1331
+ */
1332
+ isRoot?: boolean;
1333
+ /**
1334
+ * Indicates whether a row node is visible. This is evaluated automatically
1335
+ * while rendering the table.
1336
+ *
1337
+ * Only applicable for tree views.
1338
+ */
1339
+ open?: boolean;
1340
+ /**
1341
+ * The indentation level of the row node.
1342
+ *
1343
+ * Only applicable for tree and gantt views.
1344
+ *
1345
+ * @defaultValue 0
1346
+ */
1347
+ indent?: number;
1348
+ /**
1349
+ * The HTML parent element for the row node. This is evaluated automatically while rendering
1350
+ * the table.
1351
+ *
1352
+ * Only applicable for tree and gantt views.
1353
+ */
1354
+ parent?: number;
1355
+ /**
1356
+ * Indicates whether a row node has been modified. This is evaluated automatically when a cell
1357
+ * is edited.
1358
+ *
1359
+ * @defaultValue false
1360
+ */
1361
+ rowModified?: boolean;
1362
+ }
1363
+
1364
+ /**
1365
+ * Table modal definition.
1366
+ * @public
1367
+ */
1368
+ export declare interface TableModal {
1369
+ /**
1370
+ * Indicates whether the table modal is currently visible.
1371
+ *
1372
+ * @defaultValue false
1373
+ */
1374
+ visible?: boolean;
1375
+ /**
1376
+ * The HTML cell element that the modal is currently being displayed for. The field is unset
1377
+ * when the modal is not being displayed.
1378
+ */
1379
+ cell?: HTMLTableCellElement | null;
1380
+ /**
1381
+ * The HTML parent element that the modal is currently being displayed for. The field is unset
1382
+ * when the modal is not being displayed.
1383
+ */
1384
+ parent?: HTMLElement;
1385
+ /**
1386
+ * The index of the column that the modal is currently being displayed for. The field is
1387
+ * unset when the modal is not being displayed.
1388
+ */
1389
+ colIndex?: number;
1390
+ /**
1391
+ * The index of the row that the modal is currently being displayed for. The field is
1392
+ * unset when the modal is not being displayed.
1393
+ */
1394
+ rowIndex?: number;
1395
+ /**
1396
+ * The component to use to render the modal. If not provided, the table will
1397
+ * try to use the column's `modalComponent` property, if set. If that is not set,
1398
+ * the table will not display a modal.
1399
+ *
1400
+ * @see {@link TableColumn.modalComponent}
1401
+ */
1402
+ component?: string;
1403
+ /**
1404
+ * Additional properties to pass to the table's modal component.
1405
+ */
1406
+ componentProps?: Record<string, any>;
1407
+ /**
1408
+ * Reactive bottom value for the modal's bounding box. The field is unset when the modal
1409
+ * is not being displayed.
1410
+ */
1411
+ bottom?: ReturnType<typeof useElementBounding>['bottom'];
1412
+ /**
1413
+ * Reactive height value for the modal's bounding box. The field is unset when the modal
1414
+ * is not being displayed.
1415
+ */
1416
+ height?: ReturnType<typeof useElementBounding>['height'];
1417
+ /**
1418
+ * Reactive left value for the modal's bounding box. The field is unset when the modal
1419
+ * is not being displayed.
1420
+ */
1421
+ left?: ReturnType<typeof useElementBounding>['left'];
1422
+ /**
1423
+ * Reactive width value for the modal's bounding box. The field is unset when the modal
1424
+ * is not being displayed.
1425
+ */
1426
+ width?: ReturnType<typeof useElementBounding>['width'];
1427
+ }
1428
+
1429
+ /**
1430
+ * Table modal component props definition.
1431
+ * @public
1432
+ */
1433
+ export declare interface TableModalProps {
1434
+ /**
1435
+ * Additional arbitrary properties that can be passed to the modal component.
1436
+ */
1437
+ [key: string]: any;
1438
+ /**
1439
+ * The index of the column that the modal is currently being displayed for.
1440
+ */
1441
+ colIndex: number;
1442
+ /**
1443
+ * The index of the row that the modal is currently being displayed for.
1444
+ */
1445
+ rowIndex: number;
1446
+ /**
1447
+ * The store for managing the current table's state.
1448
+ */
1449
+ store: ReturnType<typeof createTableStore>;
1450
+ }
1451
+
365
1452
  /**
366
1453
  * Table row definition.
367
1454
  * @public