@vindev/particle
Version:
Angular Component Library using Tailwind
67 lines • 7.62 kB
JavaScript
import { Directive, Input } from '@angular/core';
import { ThemeOpt } from '../enums/theme-options';
import * as i0 from "@angular/core";
export function ThemeMixin(Base = class {
}) {
class Theme extends Base {
constructor() {
super(...arguments);
this.unset = true;
this.activeTheme = ThemeOpt.UNSET;
}
set setPrimary(primary) {
this.primary = primary != null && `${primary}` !== 'false';
this.activeTheme = ThemeOpt.PRIMARY;
this.unset = false;
}
set setSecondary(secondary) {
this.secondary = secondary != null && `${secondary}` !== 'false';
this.activeTheme = ThemeOpt.SECONDARY;
this.unset = false;
}
set setWarn(warn) {
this.warn = warn != null && `${warn}` !== 'false';
this.activeTheme = ThemeOpt.WARN;
this.unset = false;
}
set setNaked(naked) {
this.naked = naked != null && `${naked}` !== 'false';
this.activeTheme = ThemeOpt.NAKED;
this.unset = false;
}
setTheme(theme) {
const { primary, secondary, warn, naked } = theme;
if (primary) {
this.setPrimary = primary;
}
if (secondary) {
this.setSecondary = secondary;
}
if (warn) {
this.setWarn = warn;
}
if (naked) {
this.setNaked = naked;
}
}
}
Theme.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: Theme, deps: null, target: i0.ɵɵFactoryTarget.Directive });
Theme.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: Theme, inputs: { setPrimary: ["primary", "setPrimary"], setSecondary: ["secondary", "setSecondary"], setWarn: ["warn", "setWarn"], setNaked: ["naked", "setNaked"] }, usesInheritance: true, ngImport: i0 });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: Theme, decorators: [{
type: Directive
}], propDecorators: { setPrimary: [{
type: Input,
args: ['primary']
}], setSecondary: [{
type: Input,
args: ['secondary']
}], setWarn: [{
type: Input,
args: ['warn']
}], setNaked: [{
type: Input,
args: ['naked']
}] } });
return Theme;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BhcnRpY2xlLWxpYi9zcmMvbGliL3NoYXJlZC9taXhpbnMvdGhlbWUubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUlsRCxNQUFNLFVBQVUsVUFBVSxDQUN4QixPQUFVO0NBQWU7SUFFekIsTUFDTSxLQUFNLFNBQVEsSUFBSTtRQUR4Qjs7WUFFRSxVQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2IsZ0JBQVcsR0FBVyxRQUFRLENBQUMsS0FBSyxDQUFDO1NBa0R0QztRQS9DQyxJQUFzQixVQUFVLENBQUMsT0FBcUI7WUFDcEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLElBQUksSUFBSSxJQUFJLEdBQUcsT0FBTyxFQUFFLEtBQUssT0FBTyxDQUFDO1lBQzNELElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQztZQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNyQixDQUFDO1FBR0QsSUFBd0IsWUFBWSxDQUFDLFNBQXVCO1lBQzFELElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxJQUFJLElBQUksSUFBSSxHQUFHLFNBQVMsRUFBRSxLQUFLLE9BQU8sQ0FBQztZQUNqRSxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUM7WUFDdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDckIsQ0FBQztRQUdELElBQW1CLE9BQU8sQ0FBQyxJQUFrQjtZQUMzQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLElBQUksR0FBRyxJQUFJLEVBQUUsS0FBSyxPQUFPLENBQUM7WUFDbEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLENBQUM7UUFHRCxJQUFvQixRQUFRLENBQUMsS0FBbUI7WUFDOUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLElBQUksSUFBSSxJQUFJLEdBQUcsS0FBSyxFQUFFLEtBQUssT0FBTyxDQUFDO1lBQ3JELElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNyQixDQUFDO1FBRUQsUUFBUSxDQUFDLEtBS1I7WUFDQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsS0FBSyxDQUFDO1lBQ2xELElBQUksT0FBTyxFQUFFO2dCQUNYLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDO2FBQzNCO1lBQ0QsSUFBSSxTQUFTLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7YUFDL0I7WUFDRCxJQUFJLElBQUksRUFBRTtnQkFDUixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQzthQUNyQjtZQUNELElBQUksS0FBSyxFQUFFO2dCQUNULElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2FBQ3ZCO1FBQ0gsQ0FBQzs7c0dBbkRHLEtBQUs7MEZBQUwsS0FBSzsrRkFBTCxLQUFLO3NCQURWLFNBQVM7a0NBTWMsVUFBVTswQkFBL0IsS0FBSzsyQkFBQyxTQUFTO29CQU9RLFlBQVk7MEJBQW5DLEtBQUs7MkJBQUMsV0FBVztvQkFPQyxPQUFPOzBCQUF6QixLQUFLOzJCQUFDLE1BQU07b0JBT08sUUFBUTswQkFBM0IsS0FBSzsyQkFBQyxPQUFPOztJQTRCaEIsT0FBTyxLQUFLLENBQUM7Q0FDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVGhlbWVPcHQgfSBmcm9tICcuLi9lbnVtcy90aGVtZS1vcHRpb25zJztcclxuXHJcbmltcG9ydCB7IENvbnN0cnVjdG9yIH0gZnJvbSAnLi8nO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFRoZW1lTWl4aW48VCBleHRlbmRzIENvbnN0cnVjdG9yPHt9Pj4oXHJcbiAgQmFzZTogVCA9IGNsYXNzIHt9IGFzIGFueVxyXG4pIHtcclxuICBARGlyZWN0aXZlKClcclxuICBjbGFzcyBUaGVtZSBleHRlbmRzIEJhc2Uge1xyXG4gICAgdW5zZXQgPSB0cnVlO1xyXG4gICAgYWN0aXZlVGhlbWU6IHN0cmluZyA9IFRoZW1lT3B0LlVOU0VUO1xyXG5cclxuICAgIHByaW1hcnkhOiBib29sZWFuO1xyXG4gICAgQElucHV0KCdwcmltYXJ5Jykgc2V0IHNldFByaW1hcnkocHJpbWFyeTogYm9vbGVhbiB8ICcnKSB7XHJcbiAgICAgIHRoaXMucHJpbWFyeSA9IHByaW1hcnkgIT0gbnVsbCAmJiBgJHtwcmltYXJ5fWAgIT09ICdmYWxzZSc7XHJcbiAgICAgIHRoaXMuYWN0aXZlVGhlbWUgPSBUaGVtZU9wdC5QUklNQVJZO1xyXG4gICAgICB0aGlzLnVuc2V0ID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgc2Vjb25kYXJ5ITogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgnc2Vjb25kYXJ5Jykgc2V0IHNldFNlY29uZGFyeShzZWNvbmRhcnk6IGJvb2xlYW4gfCAnJykge1xyXG4gICAgICB0aGlzLnNlY29uZGFyeSA9IHNlY29uZGFyeSAhPSBudWxsICYmIGAke3NlY29uZGFyeX1gICE9PSAnZmFsc2UnO1xyXG4gICAgICB0aGlzLmFjdGl2ZVRoZW1lID0gVGhlbWVPcHQuU0VDT05EQVJZO1xyXG4gICAgICB0aGlzLnVuc2V0ID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgd2FybiE6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoJ3dhcm4nKSBzZXQgc2V0V2Fybih3YXJuOiBib29sZWFuIHwgJycpIHtcclxuICAgICAgdGhpcy53YXJuID0gd2FybiAhPSBudWxsICYmIGAke3dhcm59YCAhPT0gJ2ZhbHNlJztcclxuICAgICAgdGhpcy5hY3RpdmVUaGVtZSA9IFRoZW1lT3B0LldBUk47XHJcbiAgICAgIHRoaXMudW5zZXQgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBuYWtlZCE6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoJ25ha2VkJykgc2V0IHNldE5ha2VkKG5ha2VkOiBib29sZWFuIHwgJycpIHtcclxuICAgICAgdGhpcy5uYWtlZCA9IG5ha2VkICE9IG51bGwgJiYgYCR7bmFrZWR9YCAhPT0gJ2ZhbHNlJztcclxuICAgICAgdGhpcy5hY3RpdmVUaGVtZSA9IFRoZW1lT3B0Lk5BS0VEO1xyXG4gICAgICB0aGlzLnVuc2V0ID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0VGhlbWUodGhlbWU6IHtcclxuICAgICAgcHJpbWFyeT86IGJvb2xlYW47XHJcbiAgICAgIHNlY29uZGFyeT86IGJvb2xlYW47XHJcbiAgICAgIHdhcm4/OiBib29sZWFuO1xyXG4gICAgICBuYWtlZD86IGJvb2xlYW47XHJcbiAgICB9KSB7XHJcbiAgICAgIGNvbnN0IHsgcHJpbWFyeSwgc2Vjb25kYXJ5LCB3YXJuLCBuYWtlZCB9ID0gdGhlbWU7XHJcbiAgICAgIGlmIChwcmltYXJ5KSB7XHJcbiAgICAgICAgdGhpcy5zZXRQcmltYXJ5ID0gcHJpbWFyeTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoc2Vjb25kYXJ5KSB7XHJcbiAgICAgICAgdGhpcy5zZXRTZWNvbmRhcnkgPSBzZWNvbmRhcnk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHdhcm4pIHtcclxuICAgICAgICB0aGlzLnNldFdhcm4gPSB3YXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChuYWtlZCkge1xyXG4gICAgICAgIHRoaXMuc2V0TmFrZWQgPSBuYWtlZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIFRoZW1lO1xyXG59XHJcbiJdfQ==