mirror of
https://github.com/akveo/ngx-admin.git
synced 2025-12-20 17:30:14 +01:00
180 lines
4.9 KiB
TypeScript
180 lines
4.9 KiB
TypeScript
import { Component, OnDestroy } from '@angular/core';
|
|
import { NbThemeService } from '@nebular/theme';
|
|
import { Subscription } from 'rxjs';
|
|
|
|
@Component({
|
|
selector: 'ngx-hero-buttons',
|
|
styleUrls: ['./hero-buttons.component.scss'],
|
|
templateUrl: './hero-buttons.component.html',
|
|
})
|
|
export class HeroButtonComponent implements OnDestroy {
|
|
|
|
themeName = 'default';
|
|
settings: Array<any>;
|
|
themeSubscription: Subscription;
|
|
|
|
constructor(private themeService: NbThemeService) {
|
|
this.themeSubscription = this.themeService.getJsTheme().subscribe(theme => {
|
|
this.themeName = theme.name;
|
|
this.init(theme.variables);
|
|
});
|
|
}
|
|
|
|
init(colors: any) {
|
|
this.settings = [{
|
|
class: 'btn-hero-primary',
|
|
container: 'primary-container',
|
|
title: 'Primary Button',
|
|
buttonTitle: 'Primary',
|
|
default: {
|
|
gradientLeft: `adjust-hue(${colors.primary}, 20deg)`,
|
|
gradientRight: colors.primary,
|
|
},
|
|
corporate: {
|
|
color: colors.primary,
|
|
glow: {
|
|
params: '0 0 20px 0',
|
|
color: 'rgba (115, 161, 255, 0.5)',
|
|
},
|
|
},
|
|
cosmic: {
|
|
gradientLeft: `adjust-hue(${colors.primary}, 20deg)`,
|
|
gradientRight: colors.primary,
|
|
bevel: `shade(${colors.primary}, 14%)`,
|
|
shadow: 'rgba (6, 7, 64, 0.5)',
|
|
glow: {
|
|
params: '0 2px 12px 0',
|
|
color: `adjust-hue(${colors.primary}, 10deg)`,
|
|
},
|
|
},
|
|
}, {
|
|
class: 'btn-hero-warning',
|
|
container: 'warning-container',
|
|
title: 'Warning Button',
|
|
buttonTitle: 'Warning',
|
|
default: {
|
|
gradientLeft: `adjust-hue(${colors.warning}, 10deg)`,
|
|
gradientRight: colors.warning,
|
|
},
|
|
corporate: {
|
|
color: colors.warning,
|
|
glow: {
|
|
params: '0 0 20px 0',
|
|
color: 'rgba (256, 163, 107, 0.5)',
|
|
},
|
|
},
|
|
cosmic: {
|
|
gradientLeft: `adjust-hue(${colors.warning}, 10deg)`,
|
|
gradientRight: colors.warning,
|
|
bevel: `shade(${colors.warning}, 14%)`,
|
|
shadow: 'rgba (33, 7, 77, 0.5)',
|
|
glow: {
|
|
params: '0 2px 12px 0',
|
|
color: `adjust-hue(${colors.warning}, 5deg)`,
|
|
},
|
|
},
|
|
}, {
|
|
class: 'btn-hero-success',
|
|
container: 'success-container',
|
|
title: 'Success Button',
|
|
buttonTitle: 'Success',
|
|
default: {
|
|
gradientLeft: `adjust-hue(${colors.success}, 20deg)`,
|
|
gradientRight: colors.success,
|
|
},
|
|
corporate: {
|
|
color: colors.success,
|
|
glow: {
|
|
params: '0 0 20px 0',
|
|
color: 'rgba (93, 207, 227, 0.5)',
|
|
},
|
|
},
|
|
cosmic: {
|
|
gradientLeft: `adjust-hue(${colors.success}, 20deg)`,
|
|
gradientRight: colors.success,
|
|
bevel: `shade(${colors.success}, 14%)`,
|
|
shadow: 'rgba (33, 7, 77, 0.5)',
|
|
glow: {
|
|
params: '0 2px 12px 0',
|
|
color: `adjust-hue(${colors.success}, 10deg)`,
|
|
},
|
|
},
|
|
}, {
|
|
class: 'btn-hero-info',
|
|
container: 'info-container',
|
|
title: 'Info Button',
|
|
buttonTitle: 'Info',
|
|
default: {
|
|
gradientLeft: `adjust-hue(${colors.info}, -10deg)`,
|
|
gradientRight: colors.info,
|
|
},
|
|
corporate: {
|
|
color: colors.info,
|
|
glow: {
|
|
params: '0 0 20px 0',
|
|
color: 'rgba (186, 127, 236, 0.5)',
|
|
},
|
|
},
|
|
cosmic: {
|
|
gradientLeft: `adjust-hue(${colors.info}, -10deg)`,
|
|
gradientRight: colors.info,
|
|
bevel: `shade(${colors.info}, 14%)`,
|
|
shadow: 'rgba (33, 7, 77, 0.5)',
|
|
glow: {
|
|
params: '0 2px 12px 0',
|
|
color: `adjust-hue(${colors.info}, -5deg)`,
|
|
},
|
|
},
|
|
}, {
|
|
class: 'btn-hero-danger',
|
|
container: 'danger-container',
|
|
title: 'Danger Button',
|
|
buttonTitle: 'Danger',
|
|
default: {
|
|
gradientLeft: `adjust-hue(${colors.danger}, -20deg)`,
|
|
gradientRight: colors.danger,
|
|
},
|
|
corporate: {
|
|
color: colors.danger,
|
|
glow: {
|
|
params: '0 0 20px 0',
|
|
color: 'rgba (255, 107, 131, 0.5)',
|
|
},
|
|
},
|
|
cosmic: {
|
|
gradientLeft: `adjust-hue(${colors.danger}, -20deg)`,
|
|
gradientRight: colors.danger,
|
|
bevel: `shade(${colors.danger}, 14%)`,
|
|
shadow: 'rgba (33, 7, 77, 0.5)',
|
|
glow: {
|
|
params: '0 2px 12px 0',
|
|
color: `adjust-hue(${colors.danger}, -10deg)`,
|
|
},
|
|
},
|
|
}, {
|
|
class: 'btn-hero-secondary',
|
|
container: 'secondary-container',
|
|
title: 'Ghost Button',
|
|
buttonTitle: 'Ghost',
|
|
default: {
|
|
border: '#dadfe6',
|
|
},
|
|
corporate: {
|
|
color: '#edf2f5',
|
|
},
|
|
cosmic: {
|
|
border: colors.primary,
|
|
bevel: '#665ebd',
|
|
shadow: 'rgba (33, 7, 77, 0.5)',
|
|
glow: {
|
|
params: '0 2px 12px 0',
|
|
color: 'rgba (146, 141, 255, 1)',
|
|
},
|
|
},
|
|
}];
|
|
}
|
|
|
|
ngOnDestroy() {
|
|
this.themeSubscription.unsubscribe();
|
|
}
|
|
}
|