@stonecrop/stonecrop 0.8.0 → 0.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/stonecrop.d.ts +1205 -1
  2. package/package.json +4 -4
@@ -93,6 +93,10 @@ export declare interface BaseTableConfig {
93
93
  * @defaultValue false
94
94
  */
95
95
  fullWidth?: boolean;
96
+ /**
97
+ * Configuration for row-level actions (add, delete, duplicate, etc.).
98
+ */
99
+ rowActions?: RowActionsConfig;
96
100
  }
97
101
 
98
102
  /**
@@ -354,35 +358,387 @@ originalIndex?: number | undefined;
354
358
  config: Ref< {
355
359
  view?: "uncounted" | "list" | "list-expansion" | undefined;
356
360
  fullWidth?: boolean | undefined;
361
+ rowActions?: {
362
+ enabled: boolean;
363
+ position?: "before-index" | "after-index" | "end" | undefined;
364
+ dropdownThreshold?: number | undefined;
365
+ forceDropdown?: boolean | undefined;
366
+ actions?: {
367
+ add?: boolean | {
368
+ enabled?: boolean | undefined;
369
+ label?: string | undefined;
370
+ icon?: string | undefined;
371
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
372
+ } | undefined;
373
+ delete?: boolean | {
374
+ enabled?: boolean | undefined;
375
+ label?: string | undefined;
376
+ icon?: string | undefined;
377
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
378
+ } | undefined;
379
+ duplicate?: boolean | {
380
+ enabled?: boolean | undefined;
381
+ label?: string | undefined;
382
+ icon?: string | undefined;
383
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
384
+ } | undefined;
385
+ insertAbove?: boolean | {
386
+ enabled?: boolean | undefined;
387
+ label?: string | undefined;
388
+ icon?: string | undefined;
389
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
390
+ } | undefined;
391
+ insertBelow?: boolean | {
392
+ enabled?: boolean | undefined;
393
+ label?: string | undefined;
394
+ icon?: string | undefined;
395
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
396
+ } | undefined;
397
+ move?: boolean | {
398
+ enabled?: boolean | undefined;
399
+ label?: string | undefined;
400
+ icon?: string | undefined;
401
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
402
+ } | undefined;
403
+ } | undefined;
404
+ } | undefined;
357
405
  } | {
358
406
  view: "tree";
359
407
  defaultTreeExpansion?: "root" | "branch" | "leaf" | undefined;
360
408
  fullWidth?: boolean | undefined;
409
+ rowActions?: {
410
+ enabled: boolean;
411
+ position?: "before-index" | "after-index" | "end" | undefined;
412
+ dropdownThreshold?: number | undefined;
413
+ forceDropdown?: boolean | undefined;
414
+ actions?: {
415
+ add?: boolean | {
416
+ enabled?: boolean | undefined;
417
+ label?: string | undefined;
418
+ icon?: string | undefined;
419
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
420
+ } | undefined;
421
+ delete?: boolean | {
422
+ enabled?: boolean | undefined;
423
+ label?: string | undefined;
424
+ icon?: string | undefined;
425
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
426
+ } | undefined;
427
+ duplicate?: boolean | {
428
+ enabled?: boolean | undefined;
429
+ label?: string | undefined;
430
+ icon?: string | undefined;
431
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
432
+ } | undefined;
433
+ insertAbove?: boolean | {
434
+ enabled?: boolean | undefined;
435
+ label?: string | undefined;
436
+ icon?: string | undefined;
437
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
438
+ } | undefined;
439
+ insertBelow?: boolean | {
440
+ enabled?: boolean | undefined;
441
+ label?: string | undefined;
442
+ icon?: string | undefined;
443
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
444
+ } | undefined;
445
+ move?: boolean | {
446
+ enabled?: boolean | undefined;
447
+ label?: string | undefined;
448
+ icon?: string | undefined;
449
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
450
+ } | undefined;
451
+ } | undefined;
452
+ } | undefined;
361
453
  } | {
362
454
  view: "gantt";
363
455
  dependencyGraph?: boolean | undefined;
364
456
  fullWidth?: boolean | undefined;
457
+ rowActions?: {
458
+ enabled: boolean;
459
+ position?: "before-index" | "after-index" | "end" | undefined;
460
+ dropdownThreshold?: number | undefined;
461
+ forceDropdown?: boolean | undefined;
462
+ actions?: {
463
+ add?: boolean | {
464
+ enabled?: boolean | undefined;
465
+ label?: string | undefined;
466
+ icon?: string | undefined;
467
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
468
+ } | undefined;
469
+ delete?: boolean | {
470
+ enabled?: boolean | undefined;
471
+ label?: string | undefined;
472
+ icon?: string | undefined;
473
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
474
+ } | undefined;
475
+ duplicate?: boolean | {
476
+ enabled?: boolean | undefined;
477
+ label?: string | undefined;
478
+ icon?: string | undefined;
479
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
480
+ } | undefined;
481
+ insertAbove?: boolean | {
482
+ enabled?: boolean | undefined;
483
+ label?: string | undefined;
484
+ icon?: string | undefined;
485
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
486
+ } | undefined;
487
+ insertBelow?: boolean | {
488
+ enabled?: boolean | undefined;
489
+ label?: string | undefined;
490
+ icon?: string | undefined;
491
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
492
+ } | undefined;
493
+ move?: boolean | {
494
+ enabled?: boolean | undefined;
495
+ label?: string | undefined;
496
+ icon?: string | undefined;
497
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
498
+ } | undefined;
499
+ } | undefined;
500
+ } | undefined;
365
501
  } | {
366
502
  view: "tree-gantt";
367
503
  defaultTreeExpansion?: "root" | "branch" | "leaf" | undefined;
368
504
  dependencyGraph?: boolean | undefined;
369
505
  fullWidth?: boolean | undefined;
506
+ rowActions?: {
507
+ enabled: boolean;
508
+ position?: "before-index" | "after-index" | "end" | undefined;
509
+ dropdownThreshold?: number | undefined;
510
+ forceDropdown?: boolean | undefined;
511
+ actions?: {
512
+ add?: boolean | {
513
+ enabled?: boolean | undefined;
514
+ label?: string | undefined;
515
+ icon?: string | undefined;
516
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
517
+ } | undefined;
518
+ delete?: boolean | {
519
+ enabled?: boolean | undefined;
520
+ label?: string | undefined;
521
+ icon?: string | undefined;
522
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
523
+ } | undefined;
524
+ duplicate?: boolean | {
525
+ enabled?: boolean | undefined;
526
+ label?: string | undefined;
527
+ icon?: string | undefined;
528
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
529
+ } | undefined;
530
+ insertAbove?: boolean | {
531
+ enabled?: boolean | undefined;
532
+ label?: string | undefined;
533
+ icon?: string | undefined;
534
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
535
+ } | undefined;
536
+ insertBelow?: boolean | {
537
+ enabled?: boolean | undefined;
538
+ label?: string | undefined;
539
+ icon?: string | undefined;
540
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
541
+ } | undefined;
542
+ move?: boolean | {
543
+ enabled?: boolean | undefined;
544
+ label?: string | undefined;
545
+ icon?: string | undefined;
546
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
547
+ } | undefined;
548
+ } | undefined;
549
+ } | undefined;
370
550
  }, TableConfig | {
371
551
  view?: "uncounted" | "list" | "list-expansion" | undefined;
372
552
  fullWidth?: boolean | undefined;
553
+ rowActions?: {
554
+ enabled: boolean;
555
+ position?: "before-index" | "after-index" | "end" | undefined;
556
+ dropdownThreshold?: number | undefined;
557
+ forceDropdown?: boolean | undefined;
558
+ actions?: {
559
+ add?: boolean | {
560
+ enabled?: boolean | undefined;
561
+ label?: string | undefined;
562
+ icon?: string | undefined;
563
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
564
+ } | undefined;
565
+ delete?: boolean | {
566
+ enabled?: boolean | undefined;
567
+ label?: string | undefined;
568
+ icon?: string | undefined;
569
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
570
+ } | undefined;
571
+ duplicate?: boolean | {
572
+ enabled?: boolean | undefined;
573
+ label?: string | undefined;
574
+ icon?: string | undefined;
575
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
576
+ } | undefined;
577
+ insertAbove?: boolean | {
578
+ enabled?: boolean | undefined;
579
+ label?: string | undefined;
580
+ icon?: string | undefined;
581
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
582
+ } | undefined;
583
+ insertBelow?: boolean | {
584
+ enabled?: boolean | undefined;
585
+ label?: string | undefined;
586
+ icon?: string | undefined;
587
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
588
+ } | undefined;
589
+ move?: boolean | {
590
+ enabled?: boolean | undefined;
591
+ label?: string | undefined;
592
+ icon?: string | undefined;
593
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
594
+ } | undefined;
595
+ } | undefined;
596
+ } | undefined;
373
597
  } | {
374
598
  view: "tree";
375
599
  defaultTreeExpansion?: "root" | "branch" | "leaf" | undefined;
376
600
  fullWidth?: boolean | undefined;
601
+ rowActions?: {
602
+ enabled: boolean;
603
+ position?: "before-index" | "after-index" | "end" | undefined;
604
+ dropdownThreshold?: number | undefined;
605
+ forceDropdown?: boolean | undefined;
606
+ actions?: {
607
+ add?: boolean | {
608
+ enabled?: boolean | undefined;
609
+ label?: string | undefined;
610
+ icon?: string | undefined;
611
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
612
+ } | undefined;
613
+ delete?: boolean | {
614
+ enabled?: boolean | undefined;
615
+ label?: string | undefined;
616
+ icon?: string | undefined;
617
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
618
+ } | undefined;
619
+ duplicate?: boolean | {
620
+ enabled?: boolean | undefined;
621
+ label?: string | undefined;
622
+ icon?: string | undefined;
623
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
624
+ } | undefined;
625
+ insertAbove?: boolean | {
626
+ enabled?: boolean | undefined;
627
+ label?: string | undefined;
628
+ icon?: string | undefined;
629
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
630
+ } | undefined;
631
+ insertBelow?: boolean | {
632
+ enabled?: boolean | undefined;
633
+ label?: string | undefined;
634
+ icon?: string | undefined;
635
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
636
+ } | undefined;
637
+ move?: boolean | {
638
+ enabled?: boolean | undefined;
639
+ label?: string | undefined;
640
+ icon?: string | undefined;
641
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
642
+ } | undefined;
643
+ } | undefined;
644
+ } | undefined;
377
645
  } | {
378
646
  view: "gantt";
379
647
  dependencyGraph?: boolean | undefined;
380
648
  fullWidth?: boolean | undefined;
649
+ rowActions?: {
650
+ enabled: boolean;
651
+ position?: "before-index" | "after-index" | "end" | undefined;
652
+ dropdownThreshold?: number | undefined;
653
+ forceDropdown?: boolean | undefined;
654
+ actions?: {
655
+ add?: boolean | {
656
+ enabled?: boolean | undefined;
657
+ label?: string | undefined;
658
+ icon?: string | undefined;
659
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
660
+ } | undefined;
661
+ delete?: boolean | {
662
+ enabled?: boolean | undefined;
663
+ label?: string | undefined;
664
+ icon?: string | undefined;
665
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
666
+ } | undefined;
667
+ duplicate?: boolean | {
668
+ enabled?: boolean | undefined;
669
+ label?: string | undefined;
670
+ icon?: string | undefined;
671
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
672
+ } | undefined;
673
+ insertAbove?: boolean | {
674
+ enabled?: boolean | undefined;
675
+ label?: string | undefined;
676
+ icon?: string | undefined;
677
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
678
+ } | undefined;
679
+ insertBelow?: boolean | {
680
+ enabled?: boolean | undefined;
681
+ label?: string | undefined;
682
+ icon?: string | undefined;
683
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
684
+ } | undefined;
685
+ move?: boolean | {
686
+ enabled?: boolean | undefined;
687
+ label?: string | undefined;
688
+ icon?: string | undefined;
689
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
690
+ } | undefined;
691
+ } | undefined;
692
+ } | undefined;
381
693
  } | {
382
694
  view: "tree-gantt";
383
695
  defaultTreeExpansion?: "root" | "branch" | "leaf" | undefined;
384
696
  dependencyGraph?: boolean | undefined;
385
697
  fullWidth?: boolean | undefined;
698
+ rowActions?: {
699
+ enabled: boolean;
700
+ position?: "before-index" | "after-index" | "end" | undefined;
701
+ dropdownThreshold?: number | undefined;
702
+ forceDropdown?: boolean | undefined;
703
+ actions?: {
704
+ add?: boolean | {
705
+ enabled?: boolean | undefined;
706
+ label?: string | undefined;
707
+ icon?: string | undefined;
708
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
709
+ } | undefined;
710
+ delete?: boolean | {
711
+ enabled?: boolean | undefined;
712
+ label?: string | undefined;
713
+ icon?: string | undefined;
714
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
715
+ } | undefined;
716
+ duplicate?: boolean | {
717
+ enabled?: boolean | undefined;
718
+ label?: string | undefined;
719
+ icon?: string | undefined;
720
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
721
+ } | undefined;
722
+ insertAbove?: boolean | {
723
+ enabled?: boolean | undefined;
724
+ label?: string | undefined;
725
+ icon?: string | undefined;
726
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
727
+ } | undefined;
728
+ insertBelow?: boolean | {
729
+ enabled?: boolean | undefined;
730
+ label?: string | undefined;
731
+ icon?: string | undefined;
732
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
733
+ } | undefined;
734
+ move?: boolean | {
735
+ enabled?: boolean | undefined;
736
+ label?: string | undefined;
737
+ icon?: string | undefined;
738
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
739
+ } | undefined;
740
+ } | undefined;
741
+ } | undefined;
386
742
  }>;
387
743
  connectionHandles: Ref< {
388
744
  id: string;
@@ -540,6 +896,7 @@ isTreeView: ComputedRef<boolean>;
540
896
  isDependencyGraphEnabled: ComputedRef<boolean>;
541
897
  numberedRowWidth: ComputedRef<string>;
542
898
  zeroColumn: ComputedRef<boolean>;
899
+ addRow: (rowData?: Partial<TableRow>, position?: "start" | "end" | number) => number;
543
900
  clearFilter: (colIndex: number) => void;
544
901
  closeModal: (event: MouseEvent) => void;
545
902
  createConnection: (fromHandleId: string, toHandleId: string, options?: {
@@ -547,6 +904,8 @@ style?: ConnectionPath["style"];
547
904
  label?: string;
548
905
  }) => ConnectionPath | null;
549
906
  deleteConnection: (connectionId: string) => boolean;
907
+ deleteRow: (rowIndex: number) => TableRow | null;
908
+ duplicateRow: (rowIndex: number) => number;
550
909
  getCellData: <T = any>(colIndex: number, rowIndex: number) => T;
551
910
  getCellDisplayValue: (colIndex: number, rowIndex: number) => any;
552
911
  getConnectionsForBar: (barId: string) => {
@@ -581,8 +940,11 @@ barId: string;
581
940
  getHeaderCellStyle: (column: TableColumn) => CSSProperties;
582
941
  getIndent: (colIndex: number, indentLevel?: number) => string;
583
942
  getRowExpandSymbol: (rowIndex: number) => "" | "▼" | "►";
943
+ insertRowAbove: (rowIndex: number, rowData?: Partial<TableRow>) => number;
944
+ insertRowBelow: (rowIndex: number, rowData?: Partial<TableRow>) => number;
584
945
  isRowGantt: (rowIndex: number) => boolean;
585
946
  isRowVisible: (rowIndex: number) => boolean | undefined;
947
+ moveRow: (fromIndex: number, toIndex: number) => boolean;
586
948
  registerConnectionHandle: (handleInfo: ConnectionHandle) => void;
587
949
  registerGanttBar: (barInfo: GanttBarInfo) => void;
588
950
  resizeColumn: (colIndex: number, newWidth: number) => void;
@@ -648,35 +1010,387 @@ originalIndex?: number | undefined;
648
1010
  config: Ref< {
649
1011
  view?: "uncounted" | "list" | "list-expansion" | undefined;
650
1012
  fullWidth?: boolean | undefined;
1013
+ rowActions?: {
1014
+ enabled: boolean;
1015
+ position?: "before-index" | "after-index" | "end" | undefined;
1016
+ dropdownThreshold?: number | undefined;
1017
+ forceDropdown?: boolean | undefined;
1018
+ actions?: {
1019
+ add?: boolean | {
1020
+ enabled?: boolean | undefined;
1021
+ label?: string | undefined;
1022
+ icon?: string | undefined;
1023
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1024
+ } | undefined;
1025
+ delete?: boolean | {
1026
+ enabled?: boolean | undefined;
1027
+ label?: string | undefined;
1028
+ icon?: string | undefined;
1029
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1030
+ } | undefined;
1031
+ duplicate?: boolean | {
1032
+ enabled?: boolean | undefined;
1033
+ label?: string | undefined;
1034
+ icon?: string | undefined;
1035
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1036
+ } | undefined;
1037
+ insertAbove?: boolean | {
1038
+ enabled?: boolean | undefined;
1039
+ label?: string | undefined;
1040
+ icon?: string | undefined;
1041
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1042
+ } | undefined;
1043
+ insertBelow?: boolean | {
1044
+ enabled?: boolean | undefined;
1045
+ label?: string | undefined;
1046
+ icon?: string | undefined;
1047
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1048
+ } | undefined;
1049
+ move?: boolean | {
1050
+ enabled?: boolean | undefined;
1051
+ label?: string | undefined;
1052
+ icon?: string | undefined;
1053
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1054
+ } | undefined;
1055
+ } | undefined;
1056
+ } | undefined;
651
1057
  } | {
652
1058
  view: "tree";
653
1059
  defaultTreeExpansion?: "root" | "branch" | "leaf" | undefined;
654
1060
  fullWidth?: boolean | undefined;
1061
+ rowActions?: {
1062
+ enabled: boolean;
1063
+ position?: "before-index" | "after-index" | "end" | undefined;
1064
+ dropdownThreshold?: number | undefined;
1065
+ forceDropdown?: boolean | undefined;
1066
+ actions?: {
1067
+ add?: boolean | {
1068
+ enabled?: boolean | undefined;
1069
+ label?: string | undefined;
1070
+ icon?: string | undefined;
1071
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1072
+ } | undefined;
1073
+ delete?: boolean | {
1074
+ enabled?: boolean | undefined;
1075
+ label?: string | undefined;
1076
+ icon?: string | undefined;
1077
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1078
+ } | undefined;
1079
+ duplicate?: boolean | {
1080
+ enabled?: boolean | undefined;
1081
+ label?: string | undefined;
1082
+ icon?: string | undefined;
1083
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1084
+ } | undefined;
1085
+ insertAbove?: boolean | {
1086
+ enabled?: boolean | undefined;
1087
+ label?: string | undefined;
1088
+ icon?: string | undefined;
1089
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1090
+ } | undefined;
1091
+ insertBelow?: boolean | {
1092
+ enabled?: boolean | undefined;
1093
+ label?: string | undefined;
1094
+ icon?: string | undefined;
1095
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1096
+ } | undefined;
1097
+ move?: boolean | {
1098
+ enabled?: boolean | undefined;
1099
+ label?: string | undefined;
1100
+ icon?: string | undefined;
1101
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1102
+ } | undefined;
1103
+ } | undefined;
1104
+ } | undefined;
655
1105
  } | {
656
1106
  view: "gantt";
657
1107
  dependencyGraph?: boolean | undefined;
658
1108
  fullWidth?: boolean | undefined;
1109
+ rowActions?: {
1110
+ enabled: boolean;
1111
+ position?: "before-index" | "after-index" | "end" | undefined;
1112
+ dropdownThreshold?: number | undefined;
1113
+ forceDropdown?: boolean | undefined;
1114
+ actions?: {
1115
+ add?: boolean | {
1116
+ enabled?: boolean | undefined;
1117
+ label?: string | undefined;
1118
+ icon?: string | undefined;
1119
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1120
+ } | undefined;
1121
+ delete?: boolean | {
1122
+ enabled?: boolean | undefined;
1123
+ label?: string | undefined;
1124
+ icon?: string | undefined;
1125
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1126
+ } | undefined;
1127
+ duplicate?: boolean | {
1128
+ enabled?: boolean | undefined;
1129
+ label?: string | undefined;
1130
+ icon?: string | undefined;
1131
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1132
+ } | undefined;
1133
+ insertAbove?: boolean | {
1134
+ enabled?: boolean | undefined;
1135
+ label?: string | undefined;
1136
+ icon?: string | undefined;
1137
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1138
+ } | undefined;
1139
+ insertBelow?: boolean | {
1140
+ enabled?: boolean | undefined;
1141
+ label?: string | undefined;
1142
+ icon?: string | undefined;
1143
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1144
+ } | undefined;
1145
+ move?: boolean | {
1146
+ enabled?: boolean | undefined;
1147
+ label?: string | undefined;
1148
+ icon?: string | undefined;
1149
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1150
+ } | undefined;
1151
+ } | undefined;
1152
+ } | undefined;
659
1153
  } | {
660
1154
  view: "tree-gantt";
661
1155
  defaultTreeExpansion?: "root" | "branch" | "leaf" | undefined;
662
1156
  dependencyGraph?: boolean | undefined;
663
1157
  fullWidth?: boolean | undefined;
1158
+ rowActions?: {
1159
+ enabled: boolean;
1160
+ position?: "before-index" | "after-index" | "end" | undefined;
1161
+ dropdownThreshold?: number | undefined;
1162
+ forceDropdown?: boolean | undefined;
1163
+ actions?: {
1164
+ add?: boolean | {
1165
+ enabled?: boolean | undefined;
1166
+ label?: string | undefined;
1167
+ icon?: string | undefined;
1168
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1169
+ } | undefined;
1170
+ delete?: boolean | {
1171
+ enabled?: boolean | undefined;
1172
+ label?: string | undefined;
1173
+ icon?: string | undefined;
1174
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1175
+ } | undefined;
1176
+ duplicate?: boolean | {
1177
+ enabled?: boolean | undefined;
1178
+ label?: string | undefined;
1179
+ icon?: string | undefined;
1180
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1181
+ } | undefined;
1182
+ insertAbove?: boolean | {
1183
+ enabled?: boolean | undefined;
1184
+ label?: string | undefined;
1185
+ icon?: string | undefined;
1186
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1187
+ } | undefined;
1188
+ insertBelow?: boolean | {
1189
+ enabled?: boolean | undefined;
1190
+ label?: string | undefined;
1191
+ icon?: string | undefined;
1192
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1193
+ } | undefined;
1194
+ move?: boolean | {
1195
+ enabled?: boolean | undefined;
1196
+ label?: string | undefined;
1197
+ icon?: string | undefined;
1198
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1199
+ } | undefined;
1200
+ } | undefined;
1201
+ } | undefined;
664
1202
  }, TableConfig | {
665
1203
  view?: "uncounted" | "list" | "list-expansion" | undefined;
666
1204
  fullWidth?: boolean | undefined;
1205
+ rowActions?: {
1206
+ enabled: boolean;
1207
+ position?: "before-index" | "after-index" | "end" | undefined;
1208
+ dropdownThreshold?: number | undefined;
1209
+ forceDropdown?: boolean | undefined;
1210
+ actions?: {
1211
+ add?: boolean | {
1212
+ enabled?: boolean | undefined;
1213
+ label?: string | undefined;
1214
+ icon?: string | undefined;
1215
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1216
+ } | undefined;
1217
+ delete?: boolean | {
1218
+ enabled?: boolean | undefined;
1219
+ label?: string | undefined;
1220
+ icon?: string | undefined;
1221
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1222
+ } | undefined;
1223
+ duplicate?: boolean | {
1224
+ enabled?: boolean | undefined;
1225
+ label?: string | undefined;
1226
+ icon?: string | undefined;
1227
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1228
+ } | undefined;
1229
+ insertAbove?: boolean | {
1230
+ enabled?: boolean | undefined;
1231
+ label?: string | undefined;
1232
+ icon?: string | undefined;
1233
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1234
+ } | undefined;
1235
+ insertBelow?: boolean | {
1236
+ enabled?: boolean | undefined;
1237
+ label?: string | undefined;
1238
+ icon?: string | undefined;
1239
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1240
+ } | undefined;
1241
+ move?: boolean | {
1242
+ enabled?: boolean | undefined;
1243
+ label?: string | undefined;
1244
+ icon?: string | undefined;
1245
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1246
+ } | undefined;
1247
+ } | undefined;
1248
+ } | undefined;
667
1249
  } | {
668
1250
  view: "tree";
669
1251
  defaultTreeExpansion?: "root" | "branch" | "leaf" | undefined;
670
1252
  fullWidth?: boolean | undefined;
1253
+ rowActions?: {
1254
+ enabled: boolean;
1255
+ position?: "before-index" | "after-index" | "end" | undefined;
1256
+ dropdownThreshold?: number | undefined;
1257
+ forceDropdown?: boolean | undefined;
1258
+ actions?: {
1259
+ add?: boolean | {
1260
+ enabled?: boolean | undefined;
1261
+ label?: string | undefined;
1262
+ icon?: string | undefined;
1263
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1264
+ } | undefined;
1265
+ delete?: boolean | {
1266
+ enabled?: boolean | undefined;
1267
+ label?: string | undefined;
1268
+ icon?: string | undefined;
1269
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1270
+ } | undefined;
1271
+ duplicate?: boolean | {
1272
+ enabled?: boolean | undefined;
1273
+ label?: string | undefined;
1274
+ icon?: string | undefined;
1275
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1276
+ } | undefined;
1277
+ insertAbove?: boolean | {
1278
+ enabled?: boolean | undefined;
1279
+ label?: string | undefined;
1280
+ icon?: string | undefined;
1281
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1282
+ } | undefined;
1283
+ insertBelow?: boolean | {
1284
+ enabled?: boolean | undefined;
1285
+ label?: string | undefined;
1286
+ icon?: string | undefined;
1287
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1288
+ } | undefined;
1289
+ move?: boolean | {
1290
+ enabled?: boolean | undefined;
1291
+ label?: string | undefined;
1292
+ icon?: string | undefined;
1293
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1294
+ } | undefined;
1295
+ } | undefined;
1296
+ } | undefined;
671
1297
  } | {
672
1298
  view: "gantt";
673
1299
  dependencyGraph?: boolean | undefined;
674
1300
  fullWidth?: boolean | undefined;
1301
+ rowActions?: {
1302
+ enabled: boolean;
1303
+ position?: "before-index" | "after-index" | "end" | undefined;
1304
+ dropdownThreshold?: number | undefined;
1305
+ forceDropdown?: boolean | undefined;
1306
+ actions?: {
1307
+ add?: boolean | {
1308
+ enabled?: boolean | undefined;
1309
+ label?: string | undefined;
1310
+ icon?: string | undefined;
1311
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1312
+ } | undefined;
1313
+ delete?: boolean | {
1314
+ enabled?: boolean | undefined;
1315
+ label?: string | undefined;
1316
+ icon?: string | undefined;
1317
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1318
+ } | undefined;
1319
+ duplicate?: boolean | {
1320
+ enabled?: boolean | undefined;
1321
+ label?: string | undefined;
1322
+ icon?: string | undefined;
1323
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1324
+ } | undefined;
1325
+ insertAbove?: boolean | {
1326
+ enabled?: boolean | undefined;
1327
+ label?: string | undefined;
1328
+ icon?: string | undefined;
1329
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1330
+ } | undefined;
1331
+ insertBelow?: boolean | {
1332
+ enabled?: boolean | undefined;
1333
+ label?: string | undefined;
1334
+ icon?: string | undefined;
1335
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1336
+ } | undefined;
1337
+ move?: boolean | {
1338
+ enabled?: boolean | undefined;
1339
+ label?: string | undefined;
1340
+ icon?: string | undefined;
1341
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1342
+ } | undefined;
1343
+ } | undefined;
1344
+ } | undefined;
675
1345
  } | {
676
1346
  view: "tree-gantt";
677
1347
  defaultTreeExpansion?: "root" | "branch" | "leaf" | undefined;
678
1348
  dependencyGraph?: boolean | undefined;
679
1349
  fullWidth?: boolean | undefined;
1350
+ rowActions?: {
1351
+ enabled: boolean;
1352
+ position?: "before-index" | "after-index" | "end" | undefined;
1353
+ dropdownThreshold?: number | undefined;
1354
+ forceDropdown?: boolean | undefined;
1355
+ actions?: {
1356
+ add?: boolean | {
1357
+ enabled?: boolean | undefined;
1358
+ label?: string | undefined;
1359
+ icon?: string | undefined;
1360
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1361
+ } | undefined;
1362
+ delete?: boolean | {
1363
+ enabled?: boolean | undefined;
1364
+ label?: string | undefined;
1365
+ icon?: string | undefined;
1366
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1367
+ } | undefined;
1368
+ duplicate?: boolean | {
1369
+ enabled?: boolean | undefined;
1370
+ label?: string | undefined;
1371
+ icon?: string | undefined;
1372
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1373
+ } | undefined;
1374
+ insertAbove?: boolean | {
1375
+ enabled?: boolean | undefined;
1376
+ label?: string | undefined;
1377
+ icon?: string | undefined;
1378
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1379
+ } | undefined;
1380
+ insertBelow?: boolean | {
1381
+ enabled?: boolean | undefined;
1382
+ label?: string | undefined;
1383
+ icon?: string | undefined;
1384
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1385
+ } | undefined;
1386
+ move?: boolean | {
1387
+ enabled?: boolean | undefined;
1388
+ label?: string | undefined;
1389
+ icon?: string | undefined;
1390
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1391
+ } | undefined;
1392
+ } | undefined;
1393
+ } | undefined;
680
1394
  }>;
681
1395
  connectionHandles: Ref< {
682
1396
  id: string;
@@ -834,6 +1548,7 @@ isTreeView: ComputedRef<boolean>;
834
1548
  isDependencyGraphEnabled: ComputedRef<boolean>;
835
1549
  numberedRowWidth: ComputedRef<string>;
836
1550
  zeroColumn: ComputedRef<boolean>;
1551
+ addRow: (rowData?: Partial<TableRow>, position?: "start" | "end" | number) => number;
837
1552
  clearFilter: (colIndex: number) => void;
838
1553
  closeModal: (event: MouseEvent) => void;
839
1554
  createConnection: (fromHandleId: string, toHandleId: string, options?: {
@@ -841,6 +1556,8 @@ style?: ConnectionPath["style"];
841
1556
  label?: string;
842
1557
  }) => ConnectionPath | null;
843
1558
  deleteConnection: (connectionId: string) => boolean;
1559
+ deleteRow: (rowIndex: number) => TableRow | null;
1560
+ duplicateRow: (rowIndex: number) => number;
844
1561
  getCellData: <T = any>(colIndex: number, rowIndex: number) => T;
845
1562
  getCellDisplayValue: (colIndex: number, rowIndex: number) => any;
846
1563
  getConnectionsForBar: (barId: string) => {
@@ -875,8 +1592,11 @@ barId: string;
875
1592
  getHeaderCellStyle: (column: TableColumn) => CSSProperties;
876
1593
  getIndent: (colIndex: number, indentLevel?: number) => string;
877
1594
  getRowExpandSymbol: (rowIndex: number) => "" | "▼" | "►";
1595
+ insertRowAbove: (rowIndex: number, rowData?: Partial<TableRow>) => number;
1596
+ insertRowBelow: (rowIndex: number, rowData?: Partial<TableRow>) => number;
878
1597
  isRowGantt: (rowIndex: number) => boolean;
879
1598
  isRowVisible: (rowIndex: number) => boolean | undefined;
1599
+ moveRow: (fromIndex: number, toIndex: number) => boolean;
880
1600
  registerConnectionHandle: (handleInfo: ConnectionHandle) => void;
881
1601
  registerGanttBar: (barInfo: GanttBarInfo) => void;
882
1602
  resizeColumn: (colIndex: number, newWidth: number) => void;
@@ -942,35 +1662,387 @@ originalIndex?: number | undefined;
942
1662
  config: Ref< {
943
1663
  view?: "uncounted" | "list" | "list-expansion" | undefined;
944
1664
  fullWidth?: boolean | undefined;
1665
+ rowActions?: {
1666
+ enabled: boolean;
1667
+ position?: "before-index" | "after-index" | "end" | undefined;
1668
+ dropdownThreshold?: number | undefined;
1669
+ forceDropdown?: boolean | undefined;
1670
+ actions?: {
1671
+ add?: boolean | {
1672
+ enabled?: boolean | undefined;
1673
+ label?: string | undefined;
1674
+ icon?: string | undefined;
1675
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1676
+ } | undefined;
1677
+ delete?: boolean | {
1678
+ enabled?: boolean | undefined;
1679
+ label?: string | undefined;
1680
+ icon?: string | undefined;
1681
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1682
+ } | undefined;
1683
+ duplicate?: boolean | {
1684
+ enabled?: boolean | undefined;
1685
+ label?: string | undefined;
1686
+ icon?: string | undefined;
1687
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1688
+ } | undefined;
1689
+ insertAbove?: boolean | {
1690
+ enabled?: boolean | undefined;
1691
+ label?: string | undefined;
1692
+ icon?: string | undefined;
1693
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1694
+ } | undefined;
1695
+ insertBelow?: boolean | {
1696
+ enabled?: boolean | undefined;
1697
+ label?: string | undefined;
1698
+ icon?: string | undefined;
1699
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1700
+ } | undefined;
1701
+ move?: boolean | {
1702
+ enabled?: boolean | undefined;
1703
+ label?: string | undefined;
1704
+ icon?: string | undefined;
1705
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1706
+ } | undefined;
1707
+ } | undefined;
1708
+ } | undefined;
945
1709
  } | {
946
1710
  view: "tree";
947
1711
  defaultTreeExpansion?: "root" | "branch" | "leaf" | undefined;
948
1712
  fullWidth?: boolean | undefined;
1713
+ rowActions?: {
1714
+ enabled: boolean;
1715
+ position?: "before-index" | "after-index" | "end" | undefined;
1716
+ dropdownThreshold?: number | undefined;
1717
+ forceDropdown?: boolean | undefined;
1718
+ actions?: {
1719
+ add?: boolean | {
1720
+ enabled?: boolean | undefined;
1721
+ label?: string | undefined;
1722
+ icon?: string | undefined;
1723
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1724
+ } | undefined;
1725
+ delete?: boolean | {
1726
+ enabled?: boolean | undefined;
1727
+ label?: string | undefined;
1728
+ icon?: string | undefined;
1729
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1730
+ } | undefined;
1731
+ duplicate?: boolean | {
1732
+ enabled?: boolean | undefined;
1733
+ label?: string | undefined;
1734
+ icon?: string | undefined;
1735
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1736
+ } | undefined;
1737
+ insertAbove?: boolean | {
1738
+ enabled?: boolean | undefined;
1739
+ label?: string | undefined;
1740
+ icon?: string | undefined;
1741
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1742
+ } | undefined;
1743
+ insertBelow?: boolean | {
1744
+ enabled?: boolean | undefined;
1745
+ label?: string | undefined;
1746
+ icon?: string | undefined;
1747
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1748
+ } | undefined;
1749
+ move?: boolean | {
1750
+ enabled?: boolean | undefined;
1751
+ label?: string | undefined;
1752
+ icon?: string | undefined;
1753
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1754
+ } | undefined;
1755
+ } | undefined;
1756
+ } | undefined;
949
1757
  } | {
950
1758
  view: "gantt";
951
1759
  dependencyGraph?: boolean | undefined;
952
1760
  fullWidth?: boolean | undefined;
1761
+ rowActions?: {
1762
+ enabled: boolean;
1763
+ position?: "before-index" | "after-index" | "end" | undefined;
1764
+ dropdownThreshold?: number | undefined;
1765
+ forceDropdown?: boolean | undefined;
1766
+ actions?: {
1767
+ add?: boolean | {
1768
+ enabled?: boolean | undefined;
1769
+ label?: string | undefined;
1770
+ icon?: string | undefined;
1771
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1772
+ } | undefined;
1773
+ delete?: boolean | {
1774
+ enabled?: boolean | undefined;
1775
+ label?: string | undefined;
1776
+ icon?: string | undefined;
1777
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1778
+ } | undefined;
1779
+ duplicate?: boolean | {
1780
+ enabled?: boolean | undefined;
1781
+ label?: string | undefined;
1782
+ icon?: string | undefined;
1783
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1784
+ } | undefined;
1785
+ insertAbove?: boolean | {
1786
+ enabled?: boolean | undefined;
1787
+ label?: string | undefined;
1788
+ icon?: string | undefined;
1789
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1790
+ } | undefined;
1791
+ insertBelow?: boolean | {
1792
+ enabled?: boolean | undefined;
1793
+ label?: string | undefined;
1794
+ icon?: string | undefined;
1795
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1796
+ } | undefined;
1797
+ move?: boolean | {
1798
+ enabled?: boolean | undefined;
1799
+ label?: string | undefined;
1800
+ icon?: string | undefined;
1801
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1802
+ } | undefined;
1803
+ } | undefined;
1804
+ } | undefined;
953
1805
  } | {
954
1806
  view: "tree-gantt";
955
1807
  defaultTreeExpansion?: "root" | "branch" | "leaf" | undefined;
956
1808
  dependencyGraph?: boolean | undefined;
957
1809
  fullWidth?: boolean | undefined;
1810
+ rowActions?: {
1811
+ enabled: boolean;
1812
+ position?: "before-index" | "after-index" | "end" | undefined;
1813
+ dropdownThreshold?: number | undefined;
1814
+ forceDropdown?: boolean | undefined;
1815
+ actions?: {
1816
+ add?: boolean | {
1817
+ enabled?: boolean | undefined;
1818
+ label?: string | undefined;
1819
+ icon?: string | undefined;
1820
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1821
+ } | undefined;
1822
+ delete?: boolean | {
1823
+ enabled?: boolean | undefined;
1824
+ label?: string | undefined;
1825
+ icon?: string | undefined;
1826
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1827
+ } | undefined;
1828
+ duplicate?: boolean | {
1829
+ enabled?: boolean | undefined;
1830
+ label?: string | undefined;
1831
+ icon?: string | undefined;
1832
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1833
+ } | undefined;
1834
+ insertAbove?: boolean | {
1835
+ enabled?: boolean | undefined;
1836
+ label?: string | undefined;
1837
+ icon?: string | undefined;
1838
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1839
+ } | undefined;
1840
+ insertBelow?: boolean | {
1841
+ enabled?: boolean | undefined;
1842
+ label?: string | undefined;
1843
+ icon?: string | undefined;
1844
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1845
+ } | undefined;
1846
+ move?: boolean | {
1847
+ enabled?: boolean | undefined;
1848
+ label?: string | undefined;
1849
+ icon?: string | undefined;
1850
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1851
+ } | undefined;
1852
+ } | undefined;
1853
+ } | undefined;
958
1854
  }, TableConfig | {
959
1855
  view?: "uncounted" | "list" | "list-expansion" | undefined;
960
1856
  fullWidth?: boolean | undefined;
1857
+ rowActions?: {
1858
+ enabled: boolean;
1859
+ position?: "before-index" | "after-index" | "end" | undefined;
1860
+ dropdownThreshold?: number | undefined;
1861
+ forceDropdown?: boolean | undefined;
1862
+ actions?: {
1863
+ add?: boolean | {
1864
+ enabled?: boolean | undefined;
1865
+ label?: string | undefined;
1866
+ icon?: string | undefined;
1867
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1868
+ } | undefined;
1869
+ delete?: boolean | {
1870
+ enabled?: boolean | undefined;
1871
+ label?: string | undefined;
1872
+ icon?: string | undefined;
1873
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1874
+ } | undefined;
1875
+ duplicate?: boolean | {
1876
+ enabled?: boolean | undefined;
1877
+ label?: string | undefined;
1878
+ icon?: string | undefined;
1879
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1880
+ } | undefined;
1881
+ insertAbove?: boolean | {
1882
+ enabled?: boolean | undefined;
1883
+ label?: string | undefined;
1884
+ icon?: string | undefined;
1885
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1886
+ } | undefined;
1887
+ insertBelow?: boolean | {
1888
+ enabled?: boolean | undefined;
1889
+ label?: string | undefined;
1890
+ icon?: string | undefined;
1891
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1892
+ } | undefined;
1893
+ move?: boolean | {
1894
+ enabled?: boolean | undefined;
1895
+ label?: string | undefined;
1896
+ icon?: string | undefined;
1897
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1898
+ } | undefined;
1899
+ } | undefined;
1900
+ } | undefined;
961
1901
  } | {
962
1902
  view: "tree";
963
1903
  defaultTreeExpansion?: "root" | "branch" | "leaf" | undefined;
964
1904
  fullWidth?: boolean | undefined;
1905
+ rowActions?: {
1906
+ enabled: boolean;
1907
+ position?: "before-index" | "after-index" | "end" | undefined;
1908
+ dropdownThreshold?: number | undefined;
1909
+ forceDropdown?: boolean | undefined;
1910
+ actions?: {
1911
+ add?: boolean | {
1912
+ enabled?: boolean | undefined;
1913
+ label?: string | undefined;
1914
+ icon?: string | undefined;
1915
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1916
+ } | undefined;
1917
+ delete?: boolean | {
1918
+ enabled?: boolean | undefined;
1919
+ label?: string | undefined;
1920
+ icon?: string | undefined;
1921
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1922
+ } | undefined;
1923
+ duplicate?: boolean | {
1924
+ enabled?: boolean | undefined;
1925
+ label?: string | undefined;
1926
+ icon?: string | undefined;
1927
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1928
+ } | undefined;
1929
+ insertAbove?: boolean | {
1930
+ enabled?: boolean | undefined;
1931
+ label?: string | undefined;
1932
+ icon?: string | undefined;
1933
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1934
+ } | undefined;
1935
+ insertBelow?: boolean | {
1936
+ enabled?: boolean | undefined;
1937
+ label?: string | undefined;
1938
+ icon?: string | undefined;
1939
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1940
+ } | undefined;
1941
+ move?: boolean | {
1942
+ enabled?: boolean | undefined;
1943
+ label?: string | undefined;
1944
+ icon?: string | undefined;
1945
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1946
+ } | undefined;
1947
+ } | undefined;
1948
+ } | undefined;
965
1949
  } | {
966
1950
  view: "gantt";
967
1951
  dependencyGraph?: boolean | undefined;
968
1952
  fullWidth?: boolean | undefined;
1953
+ rowActions?: {
1954
+ enabled: boolean;
1955
+ position?: "before-index" | "after-index" | "end" | undefined;
1956
+ dropdownThreshold?: number | undefined;
1957
+ forceDropdown?: boolean | undefined;
1958
+ actions?: {
1959
+ add?: boolean | {
1960
+ enabled?: boolean | undefined;
1961
+ label?: string | undefined;
1962
+ icon?: string | undefined;
1963
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1964
+ } | undefined;
1965
+ delete?: boolean | {
1966
+ enabled?: boolean | undefined;
1967
+ label?: string | undefined;
1968
+ icon?: string | undefined;
1969
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1970
+ } | undefined;
1971
+ duplicate?: boolean | {
1972
+ enabled?: boolean | undefined;
1973
+ label?: string | undefined;
1974
+ icon?: string | undefined;
1975
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1976
+ } | undefined;
1977
+ insertAbove?: boolean | {
1978
+ enabled?: boolean | undefined;
1979
+ label?: string | undefined;
1980
+ icon?: string | undefined;
1981
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1982
+ } | undefined;
1983
+ insertBelow?: boolean | {
1984
+ enabled?: boolean | undefined;
1985
+ label?: string | undefined;
1986
+ icon?: string | undefined;
1987
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1988
+ } | undefined;
1989
+ move?: boolean | {
1990
+ enabled?: boolean | undefined;
1991
+ label?: string | undefined;
1992
+ icon?: string | undefined;
1993
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
1994
+ } | undefined;
1995
+ } | undefined;
1996
+ } | undefined;
969
1997
  } | {
970
1998
  view: "tree-gantt";
971
1999
  defaultTreeExpansion?: "root" | "branch" | "leaf" | undefined;
972
2000
  dependencyGraph?: boolean | undefined;
973
2001
  fullWidth?: boolean | undefined;
2002
+ rowActions?: {
2003
+ enabled: boolean;
2004
+ position?: "before-index" | "after-index" | "end" | undefined;
2005
+ dropdownThreshold?: number | undefined;
2006
+ forceDropdown?: boolean | undefined;
2007
+ actions?: {
2008
+ add?: boolean | {
2009
+ enabled?: boolean | undefined;
2010
+ label?: string | undefined;
2011
+ icon?: string | undefined;
2012
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
2013
+ } | undefined;
2014
+ delete?: boolean | {
2015
+ enabled?: boolean | undefined;
2016
+ label?: string | undefined;
2017
+ icon?: string | undefined;
2018
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
2019
+ } | undefined;
2020
+ duplicate?: boolean | {
2021
+ enabled?: boolean | undefined;
2022
+ label?: string | undefined;
2023
+ icon?: string | undefined;
2024
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
2025
+ } | undefined;
2026
+ insertAbove?: boolean | {
2027
+ enabled?: boolean | undefined;
2028
+ label?: string | undefined;
2029
+ icon?: string | undefined;
2030
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
2031
+ } | undefined;
2032
+ insertBelow?: boolean | {
2033
+ enabled?: boolean | undefined;
2034
+ label?: string | undefined;
2035
+ icon?: string | undefined;
2036
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
2037
+ } | undefined;
2038
+ move?: boolean | {
2039
+ enabled?: boolean | undefined;
2040
+ label?: string | undefined;
2041
+ icon?: string | undefined;
2042
+ handler?: ((rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean) | undefined;
2043
+ } | undefined;
2044
+ } | undefined;
2045
+ } | undefined;
974
2046
  }>;
975
2047
  connectionHandles: Ref< {
976
2048
  id: string;
@@ -1128,6 +2200,7 @@ isTreeView: ComputedRef<boolean>;
1128
2200
  isDependencyGraphEnabled: ComputedRef<boolean>;
1129
2201
  numberedRowWidth: ComputedRef<string>;
1130
2202
  zeroColumn: ComputedRef<boolean>;
2203
+ addRow: (rowData?: Partial<TableRow>, position?: "start" | "end" | number) => number;
1131
2204
  clearFilter: (colIndex: number) => void;
1132
2205
  closeModal: (event: MouseEvent) => void;
1133
2206
  createConnection: (fromHandleId: string, toHandleId: string, options?: {
@@ -1135,6 +2208,8 @@ style?: ConnectionPath["style"];
1135
2208
  label?: string;
1136
2209
  }) => ConnectionPath | null;
1137
2210
  deleteConnection: (connectionId: string) => boolean;
2211
+ deleteRow: (rowIndex: number) => TableRow | null;
2212
+ duplicateRow: (rowIndex: number) => number;
1138
2213
  getCellData: <T = any>(colIndex: number, rowIndex: number) => T;
1139
2214
  getCellDisplayValue: (colIndex: number, rowIndex: number) => any;
1140
2215
  getConnectionsForBar: (barId: string) => {
@@ -1169,8 +2244,11 @@ barId: string;
1169
2244
  getHeaderCellStyle: (column: TableColumn) => CSSProperties;
1170
2245
  getIndent: (colIndex: number, indentLevel?: number) => string;
1171
2246
  getRowExpandSymbol: (rowIndex: number) => "" | "▼" | "►";
2247
+ insertRowAbove: (rowIndex: number, rowData?: Partial<TableRow>) => number;
2248
+ insertRowBelow: (rowIndex: number, rowData?: Partial<TableRow>) => number;
1172
2249
  isRowGantt: (rowIndex: number) => boolean;
1173
2250
  isRowVisible: (rowIndex: number) => boolean | undefined;
2251
+ moveRow: (fromIndex: number, toIndex: number) => boolean;
1174
2252
  registerConnectionHandle: (handleInfo: ConnectionHandle) => void;
1175
2253
  registerGanttBar: (barInfo: GanttBarInfo) => void;
1176
2254
  resizeColumn: (colIndex: number, newWidth: number) => void;
@@ -1183,7 +2261,7 @@ unregisterConnectionHandle: (handleId: string) => void;
1183
2261
  unregisterGanttBar: (barId: string) => void;
1184
2262
  updateGanttBar: (event: GanttDragEvent) => void;
1185
2263
  updateRows: (newRows: TableRow[]) => void;
1186
- }, "clearFilter" | "closeModal" | "createConnection" | "deleteConnection" | "getCellData" | "getCellDisplayValue" | "getConnectionsForBar" | "getFormattedValue" | "getHandlesForBar" | "getHeaderCellStyle" | "getIndent" | "getRowExpandSymbol" | "isRowGantt" | "isRowVisible" | "registerConnectionHandle" | "registerGanttBar" | "resizeColumn" | "setCellData" | "setCellText" | "setFilter" | "sortByColumn" | "toggleRowExpand" | "unregisterConnectionHandle" | "unregisterGanttBar" | "updateGanttBar" | "updateRows">>;
2264
+ }, "addRow" | "clearFilter" | "closeModal" | "createConnection" | "deleteConnection" | "deleteRow" | "duplicateRow" | "getCellData" | "getCellDisplayValue" | "getConnectionsForBar" | "getFormattedValue" | "getHandlesForBar" | "getHeaderCellStyle" | "getIndent" | "getRowExpandSymbol" | "insertRowAbove" | "insertRowBelow" | "isRowGantt" | "isRowVisible" | "moveRow" | "registerConnectionHandle" | "registerGanttBar" | "resizeColumn" | "setCellData" | "setCellText" | "setFilter" | "sortByColumn" | "toggleRowExpand" | "unregisterConnectionHandle" | "unregisterGanttBar" | "updateGanttBar" | "updateRows">>;
1187
2265
 
1188
2266
  /**
1189
2267
  * Creates a validator with the given registry
@@ -2264,6 +3342,132 @@ export declare interface RouteContext {
2264
3342
  segments: string[];
2265
3343
  }
2266
3344
 
3345
+ /**
3346
+ * Options for configuring individual row actions.
3347
+ * @public
3348
+ */
3349
+ export declare interface RowActionOptions {
3350
+ /**
3351
+ * Whether the action is enabled.
3352
+ *
3353
+ * @defaultValue true
3354
+ */
3355
+ enabled?: boolean;
3356
+ /**
3357
+ * Custom label for the action (used in dropdown mode).
3358
+ */
3359
+ label?: string;
3360
+ /**
3361
+ * Custom icon override (raw SVG string).
3362
+ */
3363
+ icon?: string;
3364
+ /**
3365
+ * Custom handler for the action. Return false to prevent the default behavior.
3366
+ *
3367
+ * @param rowIndex - The index of the row the action is being performed on
3368
+ * @param store - The table store instance
3369
+ * @returns void or false to prevent default behavior
3370
+ */
3371
+ handler?: (rowIndex: number, store: ReturnType<typeof createTableStore>) => void | boolean;
3372
+ }
3373
+
3374
+ /**
3375
+ * Configuration for row-level actions (add, delete, duplicate, etc.).
3376
+ * @public
3377
+ */
3378
+ export declare interface RowActionsConfig {
3379
+ /**
3380
+ * Whether row actions are enabled.
3381
+ *
3382
+ * @defaultValue false
3383
+ */
3384
+ enabled: boolean;
3385
+ /**
3386
+ * Position of the row actions column relative to the index column.
3387
+ *
3388
+ * @defaultValue 'before-index'
3389
+ */
3390
+ position?: 'before-index' | 'after-index' | 'end';
3391
+ /**
3392
+ * Pixel width threshold at which to switch from icons to dropdown mode.
3393
+ * Set to 0 to always use icons, or a large number to always use dropdown.
3394
+ *
3395
+ * @defaultValue 150
3396
+ */
3397
+ dropdownThreshold?: number;
3398
+ /**
3399
+ * Force dropdown mode regardless of available width.
3400
+ *
3401
+ * @defaultValue false
3402
+ */
3403
+ forceDropdown?: boolean;
3404
+ /**
3405
+ * Configuration for individual actions. Set to true to enable with defaults,
3406
+ * false to disable, or provide RowActionOptions for custom configuration.
3407
+ */
3408
+ actions?: {
3409
+ add?: boolean | RowActionOptions;
3410
+ delete?: boolean | RowActionOptions;
3411
+ duplicate?: boolean | RowActionOptions;
3412
+ insertAbove?: boolean | RowActionOptions;
3413
+ insertBelow?: boolean | RowActionOptions;
3414
+ move?: boolean | RowActionOptions;
3415
+ };
3416
+ }
3417
+
3418
+ /**
3419
+ * Row action type identifiers.
3420
+ * @public
3421
+ */
3422
+ export declare type RowActionType = 'add' | 'delete' | 'duplicate' | 'insertAbove' | 'insertBelow' | 'move';
3423
+
3424
+ /**
3425
+ * Event payload for row:add event.
3426
+ * @public
3427
+ */
3428
+ export declare interface RowAddEvent {
3429
+ rowIndex: number;
3430
+ row: TableRow;
3431
+ }
3432
+
3433
+ /**
3434
+ * Event payload for row:delete event.
3435
+ * @public
3436
+ */
3437
+ export declare interface RowDeleteEvent {
3438
+ rowIndex: number;
3439
+ row: TableRow;
3440
+ }
3441
+
3442
+ /**
3443
+ * Event payload for row:duplicate event.
3444
+ * @public
3445
+ */
3446
+ export declare interface RowDuplicateEvent {
3447
+ sourceIndex: number;
3448
+ newIndex: number;
3449
+ row: TableRow;
3450
+ }
3451
+
3452
+ /**
3453
+ * Event payload for row:insert-above and row:insert-below events.
3454
+ * @public
3455
+ */
3456
+ export declare interface RowInsertEvent {
3457
+ targetIndex: number;
3458
+ newIndex: number;
3459
+ row: TableRow;
3460
+ }
3461
+
3462
+ /**
3463
+ * Event payload for row:move event.
3464
+ * @public
3465
+ */
3466
+ export declare interface RowMoveEvent {
3467
+ fromIndex: number;
3468
+ toIndex: number;
3469
+ }
3470
+
2267
3471
  /**
2268
3472
  * Schema type for Stonecrop instances
2269
3473
  * @public