this.slide =! this.slide will be true and false but when I look at your trigger you say [@slideInRight] = "slide"
so basically true or false.
but when I look in your animations, I see: enter and: leave
"true" "false" 1 0
, slideInRight , true false.
trigger('work', [
state('*', style({transform: 'translateX(0)', opacity: 1})),
state('true', style({'border-right': '50px solid #72BF44', opacity: 1})),
state('false', style({'border-right': '20px solid #72BF44', opacity: 1})),
transition('1 => 0', animate('.125s .1s cubic-bezier(0.29, 0.06, 0.43, 0.92)')),
transition('0 => 1', animate('.125s 0s cubic-bezier(0.29, 0.06, 0.43, 0.92)')),
transition('void => *', [
style({transform: 'translateX(-100%)', opacity: 0}),
animate('1s 1.1s cubic-bezier(0.29, 0.06, 0.43, 0.92)')
])
])
, .
// , ( ..).
, ... true false false true void true, , .