@@ -149,7 +149,7 @@ class Selecto extends EventEmitter<SelectoEvents> {
149149 * selectByClick, continueSelect, and continueSelectWithoutDeselect are not applied.
150150 */
151151 public setSelectedTargets (
152- selectedTargets : Array < HTMLElement | SVGElement >
152+ selectedTargets : Array < HTMLElement | SVGElement > ,
153153 ) : SelectedTargets {
154154 const beforeSelected = this . selectedTargets ;
155155 const { added, removed, prevList, list } = diff (
@@ -762,6 +762,17 @@ class Selecto extends EventEmitter<SelectoEvents> {
762762 const inputEvent = e . inputEvent ;
763763 const data = e . data ;
764764 const result = this . setSelectedTargets ( selectedTargets ) ;
765+ const { added, removed, prevList, list } = diff (
766+ data . startSelectedTargets ,
767+ selectedTargets ,
768+ ) ;
769+
770+ const startResult = {
771+ startSelected : prevList ,
772+ startAdded : added . map ( i => list [ i ] ) ,
773+ startRemoved : removed . map ( i => prevList [ i ] ) ,
774+ } ;
775+
765776
766777 if ( isStart ) {
767778 /**
@@ -796,6 +807,7 @@ class Selecto extends EventEmitter<SelectoEvents> {
796807 */
797808 this . emit ( "selectStart" , {
798809 ...result ,
810+ ...startResult ,
799811 rect,
800812 inputEvent,
801813 data : data . data ,
@@ -829,6 +841,7 @@ class Selecto extends EventEmitter<SelectoEvents> {
829841 */
830842 this . emit ( "select" , {
831843 ...result ,
844+ ...startResult ,
832845 rect,
833846 inputEvent,
834847 data : data . data ,
0 commit comments