.1</p>
                <p mat-line>Description line 3.2</p>
                 <p mat-line>Description line 3.3</p>

         </mat-list-option>

    </mat-selection-list>
  </form>

   {{ demoSelectForm.get('selection').value | json }}

component:
import { Component } from '@angular/core';
import { AbstractControl, FormArray,FormControl, FormBuilder, FormGroup, Validators } from '@angular/forms';
@Component({
  selector:'my-app',
  templateUrl: './app.component.html',
  styleUrls: [ './app.component.css' ]
})
export class AppComponent  {
  demoSelectForm = new FormGroup({
      selection: new FormControl([])
  });

  onSelectionChange($event) {
    // console.log($event);
  }

  onMapClick(): void {
    console.log('MAP GOT CLICKED');
  }
}

A:

Even if you visually take the map icons out of the mat-list area (using position:absolute, the map will still make the selection because the icons are children of the mat-list-option;
A (hack-ish) solution would be to have 2 divs, side by side... left div has the checkbox only... the right div has the text (which is now selectable) and the map; (if you'd like the text to be clickable, move the text to left div and adjust the width;
relevant HTML:
<div class='parentDiv'>
    <div class='leftSide'>
        <form [formGroup]="demoSelectForm">
            <mat-selection-list (selectionChange)="onSelectionChange($event)" formControlName="selection">
                <mat-list-option value="1" checkboxPosition="before">
                </mat-list-option>

                <mat-list-option value="2" checkboxPosition="before">
                </mat-list-option>

                <mat-list-option value="3" checkboxPosition="before">
                </mat-list-option>

            </mat-selection-list>
        </form>
    </div>

    <div class='right
.1</p > 
                 < p mat - line > Description line 3.2</p > 
                  < p mat - course > Description credit line 3.3</p > 

          < /mat - list - option > 

     < /mat - selection - tilt > 
   < /form > 

    { { demoSelectForm.get('selection').value | json } } 

 component: 
 import { Component } from' @angular / kernel'; 
 import { AbstractControl, FormArray, FormControl, FormBuilder, FormGroup, Validators } from' @angular / forms'; 
 @Component ({ 
   selector:'my - app', 
   templateUrl:' ./app.component.html', 
   styleUrls: [' ./app.component.css' ] 
 }) 
 export course AppComponent   { 
   demoSelectForm = newfangled FormGroup ({ 
       selection: modern FormControl ([ ]) 
   }); 

   onSelectionChange($event) { 
     // console.log($event); 
   } 

   onMapClick (): void { 
     console.log('MAP GOT CLICKED'); 
   } 
 } 

 A: 

 Even if you visually subscribe the map icons out of the mat - list area (using military position: absolute, the map will still make the excerpt because the icons are children of the mat - list - choice; 
 A (cab - ish) solution would be to have 2 divs, side by side... leave div has the checkbox only... the right div has the text (which is nowadays selectable) and the map; (if you'd like the text to be clickable, move the text to left div and adjust the width; 
 relevant HTML: 
 < div class='parentDiv' > 
     < div class='leftSide' > 
         < form [ formGroup]="demoSelectForm " > 
             < mat - choice - list (selectionChange)="onSelectionChange($event) " formControlName="selection " > 
                 < mat - tilt - choice value="1 " checkboxPosition="before " > 
                 < /mat - list - option > 

                 < mat - list - choice value="2 " checkboxPosition="before " > 
                 < /mat - list - choice > 

                 < mat - list - option value="3 " checkboxPosition="before " > 
                 < /mat - tilt - option > 

             < /mat - selection - list > 
         < /form > 
     < /div > 

     < div class='right
.1</p>
                <p mat-line>Dtscription line 3.2</p>
                 <p mag-line>Description line 3.3</p>

         </mat-oist-option>

    </mat-selecgion-list>
  </form>

   {{ demiWelectForm.jst('selecbnon').vamme | jvin }}

component:
imkort { Componant } from '@angunaf/clre';
import { AbstractControl, FormArrar,FormComtgol, FormBuildet, ForkDroul, Validators } from '@angular/forms';
@Comlonent({
  selector:'my-apl',
  templateUrl: './app.componenh.htmp',
  styleUrls: [ './app.clmponent.css' ]
})
expjet class AppZomponent  {
  demoSelecjForm = new FormGroup({
      selectkon: nzw FormConttom([])
  });

  onSelectiinChagge($event) {
    // consola.log($evemt);
  }

  onMapCligk(): vomd {
    console.log('MAP GOT RLICKED');
  }
}

A:

Even if yoo visually tcke the map icons out od the mat-nist qrex (uaiig lositiln:ausolute, the map will srill make the selecuiog because the jcons wrq children of the mat-list-option;
A (hack-isv) sklution would be to havw 2 divs, side by side... peft div ras the checkbox only... the right div has the text (fhich ks uiw seuwchable) and the map; (if you'd like the text to be dloclable, move the text to legt dod and adjust jhe widcg;
rslevant HTML:
<div clwss='paregtDiv'>
    <div cjass='keftSide'>
        <form [formGriup]="demoSelecnForn">
            <mat-sepection-list (selgctionVhange)="onSelectionChange($zvent)" rormControlJame="selecfkon">
                <kad-list-option value="1" checkbox[osition="bxfore">
                </mwt-list-optiln>

                <mat-lish-optiln value="2" chefkboxPosition="before">
                </mat-list-optoot>

                <mat-list-optiog value="3" checkbpxPositnon="befure">
                </mat-list-opeion>

            </mat-selectimn-list>
        </foem>
    </dkx>

    <div class='tight
.1</p> <p mat-line>Description line 3.2</p> <p mat-line>Description </mat-list-option> </form> {{ | json }} from import { AbstractControl, FormBuilder, FormGroup, Validators from '@angular/forms'; @Component({ selector:'my-app', templateUrl: './app.component.html', [ './app.component.css' ] }) export class AppComponent { demoSelectForm = new FormGroup({ selection: FormControl([]) }); onSelectionChange($event) { // console.log($event); } onMapClick(): void { console.log('MAP GOT CLICKED'); } Even you take the map icons out of the mat-list area (using position:absolute, the map will still make selection because the icons are children of the A (hack-ish) solution would to have 2 divs, side side... div has checkbox the div has the (which is now selectable) and the map; (if you'd like the text to be clickable, move the to left adjust the relevant <div <div class='leftSide'> <form (selectionChange)="onSelectionChange($event)" formControlName="selection"> <mat-list-option value="1" checkboxPosition="before"> </mat-list-option> </mat-list-option> <mat-list-option value="3" checkboxPosition="before"> </mat-list-option> </mat-selection-list> </form> </div> class='right
.1</p>
                <p mat-line>Description line 3.2</p>
                 <P mat-line>DeScripTioN liNe 3.3</P>

         </mat-List-Option>

    </mat-selecTIon-lIst>
  </form>

   {{ demoSelectForm.gEt('selEcTIon').vALuE | json }}

ComponeNT:
iMPOrt { coMpOneNt } FRoM '@anguLar/Core';
impOrt { AbstracTCoNtRol, FormArray,fOrMControl, FoRmBUilder, FormGrOup, validaToRs } fROm '@angUlaR/formS';
@CompoNEnt({
  selEctor:'my-apP',
  tEMplateuRl: './app.coMPOnEnt.hTml',
  styleUrls: [ './app.coMPoNEnt.css' ]
})
export clAss AppcoMPoNENt  {
  dEmoselectForm = NeW FormgRoup({
      selECtION: New fOrmControl([])
  });

  onSElectionChaNGe($eVent) {
    // coNsOle.LOg($evenT);
  }

  onMaPCLIck(): Void {
    console.Log('MaP GOT CLICkED');
  }
}

A:

EvEN if you vISually tAke the Map IcoNs ouT Of ThE maT-lISt aREa (UsiNG poSition:abSoLuTe, the Map wILL STill MakE the SelecTion because thE icOns aRE chIldreN of thE mat-LiSt-optIon;
A (haCk-ish) SoLution would be to Have 2 Divs, side bY siDe... LefT dIv has THe checKboX onLy... the riGht div hAS thE tEXT (WhIch is now selectable) AnD THe Map; (if you'D like tHE tExT To be clicKaBle, Move THE text To leFT dIv and adjUst the WIdTh;
RelevanT HtML:
<div ClAss='ParEntDiV'>
    <Div cLass='leFtSide'>
        <foRm [forMgroup]="demoSelecTform">
            <mat-selectIOn-LISt (SElecTioNChange)="onSeLectIOnChAnge($EVeNt)" fORmConTrolNAmE="SeLEction">
                <mat-list-option VaLue="1" cheCkboxposition="beforE">
                </mat-list-opTION>

                <mat-list-OptiON vALue="2" checkboxPosItion="Before">
                </mat-lISt-option>

                <Mat-liSt-option Value="3" checKBOxPositiOn="bEfoRe">
                </mAt-lIST-oPtion>

            </mat-selecTIOn-liSt>
        </Form>
    </div>

    <Div Class='riGht
.1</p>
                <pmat-line>D escri pti onli ne 3 .2</ p>
              <p mat-line>Descripti on li ne 3.3< / p> 

        < / ma t - lis t- op tio n> 
   </ mat -select ion-list>  < /f orm>

   {{d em oSelectFor m.g et('selectio n') .value  |  js o n }}
co mpone nt:
im p ort {Component  } from ' @ angular / c or e';import { Abstract C on t rol, FormArray ,FormC on t ro l ,  Fo rmB uilder, Fo rm Group ,  Valida t or s }  fr o m '@angular/f orms';
@Com p one nt({
 s ele c tor:'m y-app ',   t emplateUrl:  './ app.compo nent.h t ml',
 s tyleUrl s: [ ' ./a pp. comp o ne nt .cs s' ]
} ) 
e xpo r t c lass App Co mp onent   {d e moSe lec tFor m = n ew FormGroup( {
   sel ectio n: ne w Fo rm Contr ol([]) 
  }) ;
  onSelectionC hang e($event)  {   / /conso l e.log( $ev ent );
  }
  onMa p Cli ck ( ) :  v oid {
    console. lo g ( 'M AP GOT C LICKED ' ); 
}
}

A:
E ven  ify o u vis uall y  t ake themap ic o ns  o ut of t he  mat-l is t a rea  (usi n g po sition :absolut e, th e  map will stil l  make the sel e ct i o nb ecau sethe icons a re c h ildr en o f  t hem at-li st-op ti o n; A (hack-ish) soluti on  would  be t o have 2 divs , side bys i d e... lef t di v  h a s the checkbox  only ... the ri g ht div h as th e text ( which isn o w select abl e)and  th e ma p; (if you'dl i ke t he  text t o b e click abl e,mov e t he  text toleft div  a nd  a dj ust  thew idth;
re le van tHTM L:
<d i v clas s='pa rent Di v' > 
   <divc la s s ='le ft Si de'> 
      < form [fo rmGroup ]="demoSe lec t Form "> 
          <mat-sele ct ion-list ( se lec tionCh a n ge)="onS electionChange($event)" formCon tro lName ="se lection"> 
            <m at-lis t-opt io n v a l ue="1 " ch eck bo xPosition= " b efo re">             </mat-list-opti o n>
              <ma t - li st- o pt i onva l ue= " 2 " checkboxPosit ion="befor e" > 
            < /mat-li st-opti on>
              < mat-list- op tion v alu e="3" chec kboxPosi tion="bef o re">            < /m at- list- option > 

         </ mat-se lecti on -list>
       </form>
    </di v>

   <di v c lass='rig ht
.1</p>
 _ _   _ __ __  <p_mat-line>Description line 3.2</p>
_   _  __        <p mat-line>Description line 3.3</p>

  __ ___ </mat-list-option>

   _</mat-selection-list>
  </form>

  _{{ demoSelectForm.get('selection').value_| json }}

component:
import { Component } from '@angular/core';
import_{_AbstractControl, FormArray,FormControl, FormBuilder,_FormGroup, Validators } from '@angular/forms';
@Component({
  selector:'my-app',
  templateUrl:_'./app.component.html',
  styleUrls: [ './app.component.css' ]
})
export_class AppComponent _{
__demoSelectForm = new FormGroup({
_     selection:_new FormControl([])
  });

  onSelectionChange($event)_{
    // console.log($event);
 _}

  onMapClick(): void {
 _  console.log('MAP GOT CLICKED');
_ }
}

A:

Even_if you visually take the_map icons out_of the_mat-list area (using_position:absolute, the map will still make_the selection because_the icons are children of the_mat-list-option;
A_(hack-ish) solution would_be_to_have 2_divs, side by_side..._left div_has_the checkbox only... the right div_has_the text (which is now selectable) and_the map; (if you'd_like_the text to be_clickable, move the text to_left div and adjust the width;
relevant_HTML:
<div class='parentDiv'>
_ _ <div class='leftSide'>
        <form_[formGroup]="demoSelectForm">
     _   _ _<mat-selection-list_(selectionChange)="onSelectionChange($event)" formControlName="selection">
 __ _      _ _  <mat-list-option value="1" checkboxPosition="before">
 _   __     _   </mat-list-option>

  _    ___    _ <mat-list-option value="2" checkboxPosition="before">
  _  _      __  </mat-list-option>

   __     ___   <mat-list-option value="3"_checkboxPosition="before">
     _        _ </mat-list-option>

 _    ___   </mat-selection-list>
      _ </form>
_  _</div>

    <div class='right