sn-button-x 0.0.1003 → 0.0.1005

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # SnButton
2
2
 
3
- Angular v17 standalone button component easy to use. It is a part of SnUI Library.
3
+ Angular v21 standalone button component easy to use. It is a part of SnUI Library.
4
4
 
5
5
  ## Importing to Project
6
6
 
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, inject, booleanAttribute, Component, Input } from '@angular/core';
2
+ import { Injectable, EventEmitter, inject, booleanAttribute, Input, Output, Component } from '@angular/core';
3
3
  import * as allIcons from '@fortawesome/free-solid-svg-icons';
4
4
  import { faCoffee, fa0 } from '@fortawesome/free-solid-svg-icons';
5
5
  import * as i1 from '@angular/common';
@@ -25,10 +25,10 @@ class SnButtonService {
25
25
  }
26
26
  return icon;
27
27
  }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: SnButtonService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
29
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: SnButtonService, providedIn: 'root' }); }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SnButtonService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
29
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SnButtonService, providedIn: 'root' }); }
30
30
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: SnButtonService, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SnButtonService, decorators: [{
32
32
  type: Injectable,
33
33
  args: [{
34
34
  providedIn: 'root',
@@ -44,6 +44,7 @@ class SnButtonComponent {
44
44
  this.filled = false;
45
45
  this.raised = false;
46
46
  this.icon = '';
47
+ this.clickBtn = new EventEmitter();
47
48
  this.scheme = 'default';
48
49
  this.titleCase = new TitleCasePipe();
49
50
  this.currentClasses = {};
@@ -64,6 +65,9 @@ class SnButtonComponent {
64
65
  console.log(this.currentIcon);
65
66
  }
66
67
  }
68
+ onClickBtn(clickEvent) {
69
+ this.clickBtn?.emit([clickEvent]);
70
+ }
67
71
  setCurrentClasses() {
68
72
  const scheme = this.scheme;
69
73
  this.currentClasses = {
@@ -74,12 +78,12 @@ class SnButtonComponent {
74
78
  };
75
79
  this.currentClasses[scheme] = true;
76
80
  }
77
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: SnButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
78
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.5", type: SnButtonComponent, isStandalone: true, selector: "sn-button-x", inputs: { type: "type", text: "text", disabled: ["disabled", "disabled", booleanAttribute], rounded: ["rounded", "rounded", booleanAttribute], filled: ["filled", "filled", booleanAttribute], raised: ["raised", "raised", booleanAttribute], icon: "icon", scheme: "scheme" }, providers: [SnButtonService], ngImport: i0, template: "<button [type]=\"type\" [disabled]=\"disabled\" [ngClass]=\"currentClasses\">\n @if(icon){\n <span class=\"icon\">\n <fa-icon [icon]=\"currentIcon\"></fa-icon>\n </span>\n }\n <ng-content></ng-content>\n</button>", styles: [":root{--background-color: #ffffff;--primary-color: #0078d7;--warn-color: #ffb900;--danger-color: #e81123;--success-color: #00cc6a;--light-grey-color: #ececec;--grey-1: #9e9e9e;--label-color: #4c4a48;--black-color: #000000;--black-1: #212121}@tailwind base;@tailwind components;@tailwind utilities;.sn-button{border-width:0;border:none;border:1px solid var(#ececec);background-color:#fff;border-radius:.225rem;font-size:small;padding:.625rem;transition:1.2s background-color}.sn-button:hover:not(:disabled){background-color:#fff;color:#fff}.sn-button.rounded{border-radius:2rem}.sn-button.raised{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.sn-button.default:not(:disabled){color:#212121}.sn-button.default.filled:not(:disabled){color:var(--background-color);background-color:#212121}.sn-button.default-outlined:not([disabled]){color:#212121;background-color:transparent;border:1px solid #212121}.sn-button.default-outlined:not([disabled]):hover:not(:disabled){background-color:#212121;color:var(--background-color)}.sn-button.default:hover:not(:disabled){background-color:#212121}.sn-button.default:hover:enabled{color:var(--background-color)}.sn-button.primary:not(:disabled){color:var(--primary-color)}.sn-button.primary.filled:not(:disabled){color:var(--background-color);background-color:var(--primary-color)}.sn-button.primary-outlined:not([disabled]){color:var(--primary-color);background-color:transparent;border:1px solid var(--primary-color)}.sn-button.primary-outlined:not([disabled]):hover:not(:disabled){background-color:var(--primary-color);color:var(--background-color)}.sn-button.primary:hover:not(:disabled){background-color:var(--primary-color)}.sn-button.primary:hover:enabled{color:var(--background-color)}.sn-button.warn:not(:disabled){color:var(--warn-color)}.sn-button.warn.filled:not(:disabled){color:var(--background-color);background-color:var(--warn-color)}.sn-button.warn-outlined:not([disabled]){color:var(--warn-color);background-color:transparent;border:1px solid var(--warn-color)}.sn-button.warn-outlined:not([disabled]):hover:not(:disabled){background-color:var(--warn-color);color:var(--background-color)}.sn-button.warn:hover:not(:disabled){background-color:var(--warn-color)}.sn-button.warn:hover:enabled{color:var(--background-color)}.sn-button.danger:not(:disabled){color:var(--danger-color)}.sn-button.danger.filled:not(:disabled){color:var(--background-color);background-color:var(--danger-color)}.sn-button.danger-outlined:not([disabled]){color:var(--danger-color);background-color:transparent;border:1px solid var(--danger-color)}.sn-button.danger-outlined:not([disabled]):hover:not(:disabled){background-color:var(--danger-color);color:var(--background-color)}.sn-button.danger:hover:not(:disabled){background-color:var(--danger-color)}.sn-button.danger:hover:enabled{color:var(--background-color)}.sn-button.success:not(:disabled){color:var(--success-color)}.sn-button.success.filled:not(:disabled){color:var(--background-color);background-color:var(--success-color)}.sn-button.success-outlined:not([disabled]){color:var(--success-color);background-color:transparent;border:1px solid var(--success-color)}.sn-button.success-outlined:not([disabled]):hover:not(:disabled){background-color:var(--success-color);color:var(--background-color)}.sn-button.success:hover:not(:disabled){background-color:var(--success-color)}.sn-button.success:hover:enabled{color:var(--background-color)}.icon{margin:0 .325rem 0 0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }] }); }
81
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SnButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
82
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: SnButtonComponent, isStandalone: true, selector: "sn-button-x", inputs: { type: "type", text: "text", disabled: ["disabled", "disabled", booleanAttribute], rounded: ["rounded", "rounded", booleanAttribute], filled: ["filled", "filled", booleanAttribute], raised: ["raised", "raised", booleanAttribute], icon: "icon", scheme: "scheme" }, outputs: { clickBtn: "clickBtn" }, providers: [SnButtonService], ngImport: i0, template: "<button [type]=\"type\" [disabled]=\"disabled\" [ngClass]=\"currentClasses\"\n(click)=\"onClickBtn($event)\"\n>\n @if(icon){\n <span class=\"icon\">\n <fa-icon [icon]=\"currentIcon\"></fa-icon>\n </span>\n }\n <ng-content></ng-content>\n</button>", styles: [":root{--background-color: #ffffff;--primary-color: #0078d7;--warn-color: #ffb900;--danger-color: #e81123;--success-color: #00cc6a;--light-grey-color: #ececec;--grey-1: #9e9e9e;--label-color: #4c4a48;--black-color: #000000;--black-1: #212121}@tailwind base;@tailwind components;@tailwind utilities;.sn-button{border-width:0;border:none;border:1px solid var(#ececec);background-color:#fff;border-radius:.225rem;font-size:small;padding:.625rem;transition:1.2s background-color}.sn-button:hover:not(:disabled){background-color:#fff;color:#fff}.sn-button.rounded{border-radius:2rem}.sn-button.raised{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.sn-button.default:not(:disabled){color:#212121}.sn-button.default.filled:not(:disabled){color:var(--background-color);background-color:#212121}.sn-button.default-outlined:not([disabled]){color:#212121;background-color:transparent;border:1px solid #212121}.sn-button.default-outlined:not([disabled]):hover:not(:disabled){background-color:#212121;color:var(--background-color)}.sn-button.default:hover:not(:disabled){background-color:#212121}.sn-button.default:hover:enabled{color:var(--background-color)}.sn-button.primary:not(:disabled){color:var(--primary-color)}.sn-button.primary.filled:not(:disabled){color:var(--background-color);background-color:var(--primary-color)}.sn-button.primary-outlined:not([disabled]){color:var(--primary-color);background-color:transparent;border:1px solid var(--primary-color)}.sn-button.primary-outlined:not([disabled]):hover:not(:disabled){background-color:var(--primary-color);color:var(--background-color)}.sn-button.primary:hover:not(:disabled){background-color:var(--primary-color)}.sn-button.primary:hover:enabled{color:var(--background-color)}.sn-button.warn:not(:disabled){color:var(--warn-color)}.sn-button.warn.filled:not(:disabled){color:var(--background-color);background-color:var(--warn-color)}.sn-button.warn-outlined:not([disabled]){color:var(--warn-color);background-color:transparent;border:1px solid var(--warn-color)}.sn-button.warn-outlined:not([disabled]):hover:not(:disabled){background-color:var(--warn-color);color:var(--background-color)}.sn-button.warn:hover:not(:disabled){background-color:var(--warn-color)}.sn-button.warn:hover:enabled{color:var(--background-color)}.sn-button.danger:not(:disabled){color:var(--danger-color)}.sn-button.danger.filled:not(:disabled){color:var(--background-color);background-color:var(--danger-color)}.sn-button.danger-outlined:not([disabled]){color:var(--danger-color);background-color:transparent;border:1px solid var(--danger-color)}.sn-button.danger-outlined:not([disabled]):hover:not(:disabled){background-color:var(--danger-color);color:var(--background-color)}.sn-button.danger:hover:not(:disabled){background-color:var(--danger-color)}.sn-button.danger:hover:enabled{color:var(--background-color)}.sn-button.success:not(:disabled){color:var(--success-color)}.sn-button.success.filled:not(:disabled){color:var(--background-color);background-color:var(--success-color)}.sn-button.success-outlined:not([disabled]){color:var(--success-color);background-color:transparent;border:1px solid var(--success-color)}.sn-button.success-outlined:not([disabled]):hover:not(:disabled){background-color:var(--success-color);color:var(--background-color)}.sn-button.success:hover:not(:disabled){background-color:var(--success-color)}.sn-button.success:hover:enabled{color:var(--background-color)}.icon{margin:0 .325rem 0 0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"], outputs: ["iconChange", "titleChange", "animationChange", "maskChange", "flipChange", "sizeChange", "pullChange", "borderChange", "inverseChange", "symbolChange", "rotateChange", "fixedWidthChange", "transformChange", "a11yRoleChange"] }] }); }
79
83
  }
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: SnButtonComponent, decorators: [{
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SnButtonComponent, decorators: [{
81
85
  type: Component,
82
- args: [{ selector: 'sn-button-x', standalone: true, imports: [CommonModule, NgClass, FaIconComponent], providers: [SnButtonService], template: "<button [type]=\"type\" [disabled]=\"disabled\" [ngClass]=\"currentClasses\">\n @if(icon){\n <span class=\"icon\">\n <fa-icon [icon]=\"currentIcon\"></fa-icon>\n </span>\n }\n <ng-content></ng-content>\n</button>", styles: [":root{--background-color: #ffffff;--primary-color: #0078d7;--warn-color: #ffb900;--danger-color: #e81123;--success-color: #00cc6a;--light-grey-color: #ececec;--grey-1: #9e9e9e;--label-color: #4c4a48;--black-color: #000000;--black-1: #212121}@tailwind base;@tailwind components;@tailwind utilities;.sn-button{border-width:0;border:none;border:1px solid var(#ececec);background-color:#fff;border-radius:.225rem;font-size:small;padding:.625rem;transition:1.2s background-color}.sn-button:hover:not(:disabled){background-color:#fff;color:#fff}.sn-button.rounded{border-radius:2rem}.sn-button.raised{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.sn-button.default:not(:disabled){color:#212121}.sn-button.default.filled:not(:disabled){color:var(--background-color);background-color:#212121}.sn-button.default-outlined:not([disabled]){color:#212121;background-color:transparent;border:1px solid #212121}.sn-button.default-outlined:not([disabled]):hover:not(:disabled){background-color:#212121;color:var(--background-color)}.sn-button.default:hover:not(:disabled){background-color:#212121}.sn-button.default:hover:enabled{color:var(--background-color)}.sn-button.primary:not(:disabled){color:var(--primary-color)}.sn-button.primary.filled:not(:disabled){color:var(--background-color);background-color:var(--primary-color)}.sn-button.primary-outlined:not([disabled]){color:var(--primary-color);background-color:transparent;border:1px solid var(--primary-color)}.sn-button.primary-outlined:not([disabled]):hover:not(:disabled){background-color:var(--primary-color);color:var(--background-color)}.sn-button.primary:hover:not(:disabled){background-color:var(--primary-color)}.sn-button.primary:hover:enabled{color:var(--background-color)}.sn-button.warn:not(:disabled){color:var(--warn-color)}.sn-button.warn.filled:not(:disabled){color:var(--background-color);background-color:var(--warn-color)}.sn-button.warn-outlined:not([disabled]){color:var(--warn-color);background-color:transparent;border:1px solid var(--warn-color)}.sn-button.warn-outlined:not([disabled]):hover:not(:disabled){background-color:var(--warn-color);color:var(--background-color)}.sn-button.warn:hover:not(:disabled){background-color:var(--warn-color)}.sn-button.warn:hover:enabled{color:var(--background-color)}.sn-button.danger:not(:disabled){color:var(--danger-color)}.sn-button.danger.filled:not(:disabled){color:var(--background-color);background-color:var(--danger-color)}.sn-button.danger-outlined:not([disabled]){color:var(--danger-color);background-color:transparent;border:1px solid var(--danger-color)}.sn-button.danger-outlined:not([disabled]):hover:not(:disabled){background-color:var(--danger-color);color:var(--background-color)}.sn-button.danger:hover:not(:disabled){background-color:var(--danger-color)}.sn-button.danger:hover:enabled{color:var(--background-color)}.sn-button.success:not(:disabled){color:var(--success-color)}.sn-button.success.filled:not(:disabled){color:var(--background-color);background-color:var(--success-color)}.sn-button.success-outlined:not([disabled]){color:var(--success-color);background-color:transparent;border:1px solid var(--success-color)}.sn-button.success-outlined:not([disabled]):hover:not(:disabled){background-color:var(--success-color);color:var(--background-color)}.sn-button.success:hover:not(:disabled){background-color:var(--success-color)}.sn-button.success:hover:enabled{color:var(--background-color)}.icon{margin:0 .325rem 0 0}\n"] }]
86
+ args: [{ selector: 'sn-button-x', standalone: true, imports: [CommonModule, NgClass, FaIconComponent], providers: [SnButtonService], template: "<button [type]=\"type\" [disabled]=\"disabled\" [ngClass]=\"currentClasses\"\n(click)=\"onClickBtn($event)\"\n>\n @if(icon){\n <span class=\"icon\">\n <fa-icon [icon]=\"currentIcon\"></fa-icon>\n </span>\n }\n <ng-content></ng-content>\n</button>", styles: [":root{--background-color: #ffffff;--primary-color: #0078d7;--warn-color: #ffb900;--danger-color: #e81123;--success-color: #00cc6a;--light-grey-color: #ececec;--grey-1: #9e9e9e;--label-color: #4c4a48;--black-color: #000000;--black-1: #212121}@tailwind base;@tailwind components;@tailwind utilities;.sn-button{border-width:0;border:none;border:1px solid var(#ececec);background-color:#fff;border-radius:.225rem;font-size:small;padding:.625rem;transition:1.2s background-color}.sn-button:hover:not(:disabled){background-color:#fff;color:#fff}.sn-button.rounded{border-radius:2rem}.sn-button.raised{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.sn-button.default:not(:disabled){color:#212121}.sn-button.default.filled:not(:disabled){color:var(--background-color);background-color:#212121}.sn-button.default-outlined:not([disabled]){color:#212121;background-color:transparent;border:1px solid #212121}.sn-button.default-outlined:not([disabled]):hover:not(:disabled){background-color:#212121;color:var(--background-color)}.sn-button.default:hover:not(:disabled){background-color:#212121}.sn-button.default:hover:enabled{color:var(--background-color)}.sn-button.primary:not(:disabled){color:var(--primary-color)}.sn-button.primary.filled:not(:disabled){color:var(--background-color);background-color:var(--primary-color)}.sn-button.primary-outlined:not([disabled]){color:var(--primary-color);background-color:transparent;border:1px solid var(--primary-color)}.sn-button.primary-outlined:not([disabled]):hover:not(:disabled){background-color:var(--primary-color);color:var(--background-color)}.sn-button.primary:hover:not(:disabled){background-color:var(--primary-color)}.sn-button.primary:hover:enabled{color:var(--background-color)}.sn-button.warn:not(:disabled){color:var(--warn-color)}.sn-button.warn.filled:not(:disabled){color:var(--background-color);background-color:var(--warn-color)}.sn-button.warn-outlined:not([disabled]){color:var(--warn-color);background-color:transparent;border:1px solid var(--warn-color)}.sn-button.warn-outlined:not([disabled]):hover:not(:disabled){background-color:var(--warn-color);color:var(--background-color)}.sn-button.warn:hover:not(:disabled){background-color:var(--warn-color)}.sn-button.warn:hover:enabled{color:var(--background-color)}.sn-button.danger:not(:disabled){color:var(--danger-color)}.sn-button.danger.filled:not(:disabled){color:var(--background-color);background-color:var(--danger-color)}.sn-button.danger-outlined:not([disabled]){color:var(--danger-color);background-color:transparent;border:1px solid var(--danger-color)}.sn-button.danger-outlined:not([disabled]):hover:not(:disabled){background-color:var(--danger-color);color:var(--background-color)}.sn-button.danger:hover:not(:disabled){background-color:var(--danger-color)}.sn-button.danger:hover:enabled{color:var(--background-color)}.sn-button.success:not(:disabled){color:var(--success-color)}.sn-button.success.filled:not(:disabled){color:var(--background-color);background-color:var(--success-color)}.sn-button.success-outlined:not([disabled]){color:var(--success-color);background-color:transparent;border:1px solid var(--success-color)}.sn-button.success-outlined:not([disabled]):hover:not(:disabled){background-color:var(--success-color);color:var(--background-color)}.sn-button.success:hover:not(:disabled){background-color:var(--success-color)}.sn-button.success:hover:enabled{color:var(--background-color)}.icon{margin:0 .325rem 0 0}\n"] }]
83
87
  }], propDecorators: { type: [{
84
88
  type: Input
85
89
  }], text: [{
@@ -98,6 +102,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImpor
98
102
  args: [{ transform: booleanAttribute }]
99
103
  }], icon: [{
100
104
  type: Input
105
+ }], clickBtn: [{
106
+ type: Output
101
107
  }], scheme: [{
102
108
  type: Input
103
109
  }] } });
@@ -1 +1 @@
1
- {"version":3,"file":"sn-button-x.mjs","sources":["../../../projects/sn-button-x/src/lib/sn-button-x.service.ts","../../../projects/sn-button-x/src/lib/sn-button-x.component.ts","../../../projects/sn-button-x/src/lib/sn-button-x.html","../../../projects/sn-button-x/src/public-api.ts","../../../projects/sn-button-x/src/sn-button-x.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport {\n IconDefinition,\n IconPack,\n IconPrefix,\n} from '@fortawesome/fontawesome-svg-core';\nimport * as allIcons from '@fortawesome/free-solid-svg-icons';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SnButtonService {\n iconDefinitions: Map<string, IconDefinition | IconPack | IconPrefix> =\n new Map();\n constructor() {\n let all = { ...allIcons };\n let key: keyof typeof allIcons;\n for (key in all) {\n this.iconDefinitions.set(key.substring(2).toLowerCase(), all[key]);\n }\n\n //console.log(all);\n // this.iconDefinitions.set('coffee', faCoffee);\n // this.iconDefinitions.set('info', faInfo);\n }\n\n getCurrentIcon(iconName: string): any {\n let icon: IconDefinition | IconPack | IconPrefix = allIcons.faInfo;\n if (this.iconDefinitions.has(iconName.toLowerCase())) {\n icon = this.iconDefinitions.get(iconName.toLowerCase()) || icon;\n }\n return icon;\n }\n}\n","import {\n Component,\n Input,\n OnInit,\n booleanAttribute,\n inject,\n} from '@angular/core';\nimport { CommonModule, NgClass, TitleCasePipe } from '@angular/common';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\nimport {\n IconDefinition,\n fa0,\n faCoffee,\n} from '@fortawesome/free-solid-svg-icons';\nimport { SnButtonService } from './sn-button-x.service';\n\n@Component({\n selector: 'sn-button-x',\n standalone: true,\n imports: [CommonModule, NgClass, FaIconComponent],\n providers: [SnButtonService],\n templateUrl: './sn-button-x.html',\n styleUrl: 'sn-button-x.scss',\n})\nexport class SnButtonComponent implements OnInit {\n @Input() type: string = 'submit';\n @Input() text: string = 'Default';\n @Input({ transform: booleanAttribute }) disabled: boolean = false;\n @Input({ transform: booleanAttribute }) rounded: boolean = false;\n @Input({ transform: booleanAttribute }) filled: boolean = false;\n @Input({ transform: booleanAttribute }) raised: boolean = false;\n @Input() icon: string = '';\n\n @Input() scheme: string = 'default';\n\n titleCase: TitleCasePipe = new TitleCasePipe();\n\n currentClasses: Record<string, boolean> = {};\n faCoffee = faCoffee;\n currentIcon: IconDefinition = fa0;\n service = inject(SnButtonService);\n\n _styles: any = {\n primary: 'primary',\n warn: 'warn',\n danger: 'danger',\n success: 'success',\n };\n\n ngOnInit(): void {\n this.setCurrentClasses();\n this.currentIcon = this.service.getCurrentIcon(\n this.titleCase.transform(this.icon)\n );\n if (this.icon === 'coffee') {\n console.log(this.currentIcon);\n }\n }\n setCurrentClasses() {\n const scheme = this.scheme;\n this.currentClasses = {\n 'sn-button': true,\n rounded: this.rounded,\n filled: this.filled,\n raised: this.raised,\n };\n this.currentClasses[scheme] = true;\n }\n}\n","<button [type]=\"type\" [disabled]=\"disabled\" [ngClass]=\"currentClasses\">\n @if(icon){\n <span class=\"icon\">\n <fa-icon [icon]=\"currentIcon\"></fa-icon>\n </span>\n }\n <ng-content></ng-content>\n</button>","/*\n * Public API Surface of sn-button\n */\n\nexport * from './lib/sn-button-x.service';\nexport * from './lib/sn-button-x.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sn-button-x.mjs","sources":["../../../projects/sn-button-x/src/lib/sn-button-x.service.ts","../../../projects/sn-button-x/src/lib/sn-button-x.component.ts","../../../projects/sn-button-x/src/lib/sn-button-x.html","../../../projects/sn-button-x/src/public-api.ts","../../../projects/sn-button-x/src/sn-button-x.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport {\n IconDefinition,\n IconPack,\n IconPrefix,\n} from '@fortawesome/fontawesome-svg-core';\nimport * as allIcons from '@fortawesome/free-solid-svg-icons';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SnButtonService {\n iconDefinitions: Map<string, IconDefinition | IconPack | IconPrefix> =\n new Map();\n constructor() {\n let all = { ...allIcons };\n let key: keyof typeof allIcons;\n for (key in all) {\n this.iconDefinitions.set(key.substring(2).toLowerCase(), all[key]);\n }\n\n //console.log(all);\n // this.iconDefinitions.set('coffee', faCoffee);\n // this.iconDefinitions.set('info', faInfo);\n }\n\n getCurrentIcon(iconName: string): any {\n let icon: IconDefinition | IconPack | IconPrefix = allIcons.faInfo;\n if (this.iconDefinitions.has(iconName.toLowerCase())) {\n icon = this.iconDefinitions.get(iconName.toLowerCase()) || icon;\n }\n return icon;\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n booleanAttribute,\n inject,\n} from '@angular/core';\nimport { CommonModule, NgClass, TitleCasePipe } from '@angular/common';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\nimport {\n IconDefinition,\n fa0,\n faCoffee,\n} from '@fortawesome/free-solid-svg-icons';\nimport { SnButtonService } from './sn-button-x.service';\n\n@Component({\n selector: 'sn-button-x',\n standalone: true,\n imports: [CommonModule, NgClass, FaIconComponent],\n providers: [SnButtonService],\n templateUrl: './sn-button-x.html',\n styleUrl: 'sn-button-x.scss',\n})\nexport class SnButtonComponent implements OnInit {\n @Input() type: string = 'submit';\n @Input() text: string = 'Default';\n @Input({ transform: booleanAttribute }) disabled: boolean = false;\n @Input({ transform: booleanAttribute }) rounded: boolean = false;\n @Input({ transform: booleanAttribute }) filled: boolean = false;\n @Input({ transform: booleanAttribute }) raised: boolean = false;\n @Input() icon: string = '';\n @Output() clickBtn:EventEmitter<any>= new EventEmitter(); \n\n @Input() scheme: string = 'default';\n\n titleCase: TitleCasePipe = new TitleCasePipe();\n\n currentClasses: Record<string, boolean> = {};\n faCoffee = faCoffee;\n currentIcon: IconDefinition = fa0;\n service = inject(SnButtonService);\n\n _styles: any = {\n primary: 'primary',\n warn: 'warn',\n danger: 'danger',\n success: 'success',\n };\n\n ngOnInit(): void {\n this.setCurrentClasses();\n this.currentIcon = this.service.getCurrentIcon(\n this.titleCase.transform(this.icon)\n );\n if (this.icon === 'coffee') {\n console.log(this.currentIcon);\n }\n }\n\n onClickBtn(clickEvent:any){\n this.clickBtn?.emit([clickEvent]);\n }\n\n setCurrentClasses() {\n const scheme = this.scheme;\n this.currentClasses = {\n 'sn-button': true,\n rounded: this.rounded,\n filled: this.filled,\n raised: this.raised,\n };\n this.currentClasses[scheme] = true;\n }\n}\n","<button [type]=\"type\" [disabled]=\"disabled\" [ngClass]=\"currentClasses\"\n(click)=\"onClickBtn($event)\"\n>\n @if(icon){\n <span class=\"icon\">\n <fa-icon [icon]=\"currentIcon\"></fa-icon>\n </span>\n }\n <ng-content></ng-content>\n</button>","/*\n * Public API Surface of sn-button\n */\n\nexport * from './lib/sn-button-x.service';\nexport * from './lib/sn-button-x.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "sn-button-x",
3
- "version": "0.0.1003",
4
- "description": "SnButton is an Angular 17 standalone component ",
3
+ "version": "0.0.1005",
4
+ "description": "SnButton is an Angular 21 standalone component ",
5
5
  "author": {
6
6
  "name": "Swapnil Nakate",
7
7
  "email": "nakate.swapnil7@gmail.com",
@@ -11,16 +11,16 @@
11
11
  "sn-button",
12
12
  "sn-button-x",
13
13
  "angular button",
14
- "ng17",
15
- "angular17",
14
+ "ng21",
15
+ "angular21",
16
16
  "tailwindcss"
17
17
  ],
18
18
  "peerDependencies": {
19
- "@angular/common": "^17.0.5",
20
- "@angular/core": "^17.0.5",
21
- "@fortawesome/angular-fontawesome": "^0.14.0",
19
+ "@angular/common": "^21.0.0",
20
+ "@angular/core": "^21.0.0",
21
+ "@fortawesome/angular-fontawesome": "^4.0.0",
22
+ "@fortawesome/free-solid-svg-icons": "^6.7.1",
22
23
  "@fortawesome/fontawesome-svg-core": "^6.4.2",
23
- "@fortawesome/free-solid-svg-icons": "^6.4.2",
24
24
  "autoprefixer": "^10.4.19",
25
25
  "postcss": "^8.4.40",
26
26
  "tailwindcss": "^3.4.7"
@@ -39,15 +39,13 @@
39
39
  },
40
40
  "license": "MIT",
41
41
  "module": "fesm2022/sn-button-x.mjs",
42
- "typings": "index.d.ts",
42
+ "typings": "types/sn-button-x.d.ts",
43
43
  "exports": {
44
44
  "./package.json": {
45
45
  "default": "./package.json"
46
46
  },
47
47
  ".": {
48
- "types": "./index.d.ts",
49
- "esm2022": "./esm2022/sn-button-x.mjs",
50
- "esm": "./esm2022/sn-button-x.mjs",
48
+ "types": "./types/sn-button-x.d.ts",
51
49
  "default": "./fesm2022/sn-button-x.mjs"
52
50
  }
53
51
  }
@@ -1,9 +1,18 @@
1
- import { OnInit } from '@angular/core';
1
+ import { IconDefinition, IconPack, IconPrefix } from '@fortawesome/fontawesome-svg-core';
2
+ import * as i0 from '@angular/core';
3
+ import { OnInit, EventEmitter } from '@angular/core';
2
4
  import { TitleCasePipe } from '@angular/common';
3
- import { IconDefinition } from '@fortawesome/free-solid-svg-icons';
4
- import { SnButtonService } from './sn-button-x.service';
5
- import * as i0 from "@angular/core";
6
- export declare class SnButtonComponent implements OnInit {
5
+ import { IconDefinition as IconDefinition$1 } from '@fortawesome/free-solid-svg-icons';
6
+
7
+ declare class SnButtonService {
8
+ iconDefinitions: Map<string, IconDefinition | IconPack | IconPrefix>;
9
+ constructor();
10
+ getCurrentIcon(iconName: string): any;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<SnButtonService, never>;
12
+ static ɵprov: i0.ɵɵInjectableDeclaration<SnButtonService>;
13
+ }
14
+
15
+ declare class SnButtonComponent implements OnInit {
7
16
  type: string;
8
17
  text: string;
9
18
  disabled: boolean;
@@ -11,19 +20,23 @@ export declare class SnButtonComponent implements OnInit {
11
20
  filled: boolean;
12
21
  raised: boolean;
13
22
  icon: string;
23
+ clickBtn: EventEmitter<any>;
14
24
  scheme: string;
15
25
  titleCase: TitleCasePipe;
16
26
  currentClasses: Record<string, boolean>;
17
- faCoffee: IconDefinition;
18
- currentIcon: IconDefinition;
27
+ faCoffee: IconDefinition$1;
28
+ currentIcon: IconDefinition$1;
19
29
  service: SnButtonService;
20
30
  _styles: any;
21
31
  ngOnInit(): void;
32
+ onClickBtn(clickEvent: any): void;
22
33
  setCurrentClasses(): void;
23
34
  static ɵfac: i0.ɵɵFactoryDeclaration<SnButtonComponent, never>;
24
- static ɵcmp: i0.ɵɵComponentDeclaration<SnButtonComponent, "sn-button-x", never, { "type": { "alias": "type"; "required": false; }; "text": { "alias": "text"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "rounded": { "alias": "rounded"; "required": false; }; "filled": { "alias": "filled"; "required": false; }; "raised": { "alias": "raised"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "scheme": { "alias": "scheme"; "required": false; }; }, {}, never, ["*"], true, never>;
35
+ static ɵcmp: i0.ɵɵComponentDeclaration<SnButtonComponent, "sn-button-x", never, { "type": { "alias": "type"; "required": false; }; "text": { "alias": "text"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "rounded": { "alias": "rounded"; "required": false; }; "filled": { "alias": "filled"; "required": false; }; "raised": { "alias": "raised"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "scheme": { "alias": "scheme"; "required": false; }; }, { "clickBtn": "clickBtn"; }, never, ["*"], true, never>;
25
36
  static ngAcceptInputType_disabled: unknown;
26
37
  static ngAcceptInputType_rounded: unknown;
27
38
  static ngAcceptInputType_filled: unknown;
28
39
  static ngAcceptInputType_raised: unknown;
29
40
  }
41
+
42
+ export { SnButtonComponent, SnButtonService };
@@ -1,74 +0,0 @@
1
- import { Component, Input, booleanAttribute, inject, } from '@angular/core';
2
- import { CommonModule, NgClass, TitleCasePipe } from '@angular/common';
3
- import { FaIconComponent } from '@fortawesome/angular-fontawesome';
4
- import { fa0, faCoffee, } from '@fortawesome/free-solid-svg-icons';
5
- import { SnButtonService } from './sn-button-x.service';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/common";
8
- export class SnButtonComponent {
9
- constructor() {
10
- this.type = 'submit';
11
- this.text = 'Default';
12
- this.disabled = false;
13
- this.rounded = false;
14
- this.filled = false;
15
- this.raised = false;
16
- this.icon = '';
17
- this.scheme = 'default';
18
- this.titleCase = new TitleCasePipe();
19
- this.currentClasses = {};
20
- this.faCoffee = faCoffee;
21
- this.currentIcon = fa0;
22
- this.service = inject(SnButtonService);
23
- this._styles = {
24
- primary: 'primary',
25
- warn: 'warn',
26
- danger: 'danger',
27
- success: 'success',
28
- };
29
- }
30
- ngOnInit() {
31
- this.setCurrentClasses();
32
- this.currentIcon = this.service.getCurrentIcon(this.titleCase.transform(this.icon));
33
- if (this.icon === 'coffee') {
34
- console.log(this.currentIcon);
35
- }
36
- }
37
- setCurrentClasses() {
38
- const scheme = this.scheme;
39
- this.currentClasses = {
40
- 'sn-button': true,
41
- rounded: this.rounded,
42
- filled: this.filled,
43
- raised: this.raised,
44
- };
45
- this.currentClasses[scheme] = true;
46
- }
47
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: SnButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
48
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.5", type: SnButtonComponent, isStandalone: true, selector: "sn-button-x", inputs: { type: "type", text: "text", disabled: ["disabled", "disabled", booleanAttribute], rounded: ["rounded", "rounded", booleanAttribute], filled: ["filled", "filled", booleanAttribute], raised: ["raised", "raised", booleanAttribute], icon: "icon", scheme: "scheme" }, providers: [SnButtonService], ngImport: i0, template: "<button [type]=\"type\" [disabled]=\"disabled\" [ngClass]=\"currentClasses\">\n @if(icon){\n <span class=\"icon\">\n <fa-icon [icon]=\"currentIcon\"></fa-icon>\n </span>\n }\n <ng-content></ng-content>\n</button>", styles: [":root{--background-color: #ffffff;--primary-color: #0078d7;--warn-color: #ffb900;--danger-color: #e81123;--success-color: #00cc6a;--light-grey-color: #ececec;--grey-1: #9e9e9e;--label-color: #4c4a48;--black-color: #000000;--black-1: #212121}@tailwind base;@tailwind components;@tailwind utilities;.sn-button{border-width:0;border:none;border:1px solid var(#ececec);background-color:#fff;border-radius:.225rem;font-size:small;padding:.625rem;transition:1.2s background-color}.sn-button:hover:not(:disabled){background-color:#fff;color:#fff}.sn-button.rounded{border-radius:2rem}.sn-button.raised{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.sn-button.default:not(:disabled){color:#212121}.sn-button.default.filled:not(:disabled){color:var(--background-color);background-color:#212121}.sn-button.default-outlined:not([disabled]){color:#212121;background-color:transparent;border:1px solid #212121}.sn-button.default-outlined:not([disabled]):hover:not(:disabled){background-color:#212121;color:var(--background-color)}.sn-button.default:hover:not(:disabled){background-color:#212121}.sn-button.default:hover:enabled{color:var(--background-color)}.sn-button.primary:not(:disabled){color:var(--primary-color)}.sn-button.primary.filled:not(:disabled){color:var(--background-color);background-color:var(--primary-color)}.sn-button.primary-outlined:not([disabled]){color:var(--primary-color);background-color:transparent;border:1px solid var(--primary-color)}.sn-button.primary-outlined:not([disabled]):hover:not(:disabled){background-color:var(--primary-color);color:var(--background-color)}.sn-button.primary:hover:not(:disabled){background-color:var(--primary-color)}.sn-button.primary:hover:enabled{color:var(--background-color)}.sn-button.warn:not(:disabled){color:var(--warn-color)}.sn-button.warn.filled:not(:disabled){color:var(--background-color);background-color:var(--warn-color)}.sn-button.warn-outlined:not([disabled]){color:var(--warn-color);background-color:transparent;border:1px solid var(--warn-color)}.sn-button.warn-outlined:not([disabled]):hover:not(:disabled){background-color:var(--warn-color);color:var(--background-color)}.sn-button.warn:hover:not(:disabled){background-color:var(--warn-color)}.sn-button.warn:hover:enabled{color:var(--background-color)}.sn-button.danger:not(:disabled){color:var(--danger-color)}.sn-button.danger.filled:not(:disabled){color:var(--background-color);background-color:var(--danger-color)}.sn-button.danger-outlined:not([disabled]){color:var(--danger-color);background-color:transparent;border:1px solid var(--danger-color)}.sn-button.danger-outlined:not([disabled]):hover:not(:disabled){background-color:var(--danger-color);color:var(--background-color)}.sn-button.danger:hover:not(:disabled){background-color:var(--danger-color)}.sn-button.danger:hover:enabled{color:var(--background-color)}.sn-button.success:not(:disabled){color:var(--success-color)}.sn-button.success.filled:not(:disabled){color:var(--background-color);background-color:var(--success-color)}.sn-button.success-outlined:not([disabled]){color:var(--success-color);background-color:transparent;border:1px solid var(--success-color)}.sn-button.success-outlined:not([disabled]):hover:not(:disabled){background-color:var(--success-color);color:var(--background-color)}.sn-button.success:hover:not(:disabled){background-color:var(--success-color)}.sn-button.success:hover:enabled{color:var(--background-color)}.icon{margin:0 .325rem 0 0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }] }); }
49
- }
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: SnButtonComponent, decorators: [{
51
- type: Component,
52
- args: [{ selector: 'sn-button-x', standalone: true, imports: [CommonModule, NgClass, FaIconComponent], providers: [SnButtonService], template: "<button [type]=\"type\" [disabled]=\"disabled\" [ngClass]=\"currentClasses\">\n @if(icon){\n <span class=\"icon\">\n <fa-icon [icon]=\"currentIcon\"></fa-icon>\n </span>\n }\n <ng-content></ng-content>\n</button>", styles: [":root{--background-color: #ffffff;--primary-color: #0078d7;--warn-color: #ffb900;--danger-color: #e81123;--success-color: #00cc6a;--light-grey-color: #ececec;--grey-1: #9e9e9e;--label-color: #4c4a48;--black-color: #000000;--black-1: #212121}@tailwind base;@tailwind components;@tailwind utilities;.sn-button{border-width:0;border:none;border:1px solid var(#ececec);background-color:#fff;border-radius:.225rem;font-size:small;padding:.625rem;transition:1.2s background-color}.sn-button:hover:not(:disabled){background-color:#fff;color:#fff}.sn-button.rounded{border-radius:2rem}.sn-button.raised{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.sn-button.default:not(:disabled){color:#212121}.sn-button.default.filled:not(:disabled){color:var(--background-color);background-color:#212121}.sn-button.default-outlined:not([disabled]){color:#212121;background-color:transparent;border:1px solid #212121}.sn-button.default-outlined:not([disabled]):hover:not(:disabled){background-color:#212121;color:var(--background-color)}.sn-button.default:hover:not(:disabled){background-color:#212121}.sn-button.default:hover:enabled{color:var(--background-color)}.sn-button.primary:not(:disabled){color:var(--primary-color)}.sn-button.primary.filled:not(:disabled){color:var(--background-color);background-color:var(--primary-color)}.sn-button.primary-outlined:not([disabled]){color:var(--primary-color);background-color:transparent;border:1px solid var(--primary-color)}.sn-button.primary-outlined:not([disabled]):hover:not(:disabled){background-color:var(--primary-color);color:var(--background-color)}.sn-button.primary:hover:not(:disabled){background-color:var(--primary-color)}.sn-button.primary:hover:enabled{color:var(--background-color)}.sn-button.warn:not(:disabled){color:var(--warn-color)}.sn-button.warn.filled:not(:disabled){color:var(--background-color);background-color:var(--warn-color)}.sn-button.warn-outlined:not([disabled]){color:var(--warn-color);background-color:transparent;border:1px solid var(--warn-color)}.sn-button.warn-outlined:not([disabled]):hover:not(:disabled){background-color:var(--warn-color);color:var(--background-color)}.sn-button.warn:hover:not(:disabled){background-color:var(--warn-color)}.sn-button.warn:hover:enabled{color:var(--background-color)}.sn-button.danger:not(:disabled){color:var(--danger-color)}.sn-button.danger.filled:not(:disabled){color:var(--background-color);background-color:var(--danger-color)}.sn-button.danger-outlined:not([disabled]){color:var(--danger-color);background-color:transparent;border:1px solid var(--danger-color)}.sn-button.danger-outlined:not([disabled]):hover:not(:disabled){background-color:var(--danger-color);color:var(--background-color)}.sn-button.danger:hover:not(:disabled){background-color:var(--danger-color)}.sn-button.danger:hover:enabled{color:var(--background-color)}.sn-button.success:not(:disabled){color:var(--success-color)}.sn-button.success.filled:not(:disabled){color:var(--background-color);background-color:var(--success-color)}.sn-button.success-outlined:not([disabled]){color:var(--success-color);background-color:transparent;border:1px solid var(--success-color)}.sn-button.success-outlined:not([disabled]):hover:not(:disabled){background-color:var(--success-color);color:var(--background-color)}.sn-button.success:hover:not(:disabled){background-color:var(--success-color)}.sn-button.success:hover:enabled{color:var(--background-color)}.icon{margin:0 .325rem 0 0}\n"] }]
53
- }], propDecorators: { type: [{
54
- type: Input
55
- }], text: [{
56
- type: Input
57
- }], disabled: [{
58
- type: Input,
59
- args: [{ transform: booleanAttribute }]
60
- }], rounded: [{
61
- type: Input,
62
- args: [{ transform: booleanAttribute }]
63
- }], filled: [{
64
- type: Input,
65
- args: [{ transform: booleanAttribute }]
66
- }], raised: [{
67
- type: Input,
68
- args: [{ transform: booleanAttribute }]
69
- }], icon: [{
70
- type: Input
71
- }], scheme: [{
72
- type: Input
73
- }] } });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic24tYnV0dG9uLXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc24tYnV0dG9uLXgvc3JjL2xpYi9zbi1idXR0b24teC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zbi1idXR0b24teC9zcmMvbGliL3NuLWJ1dHRvbi14Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBRUwsZ0JBQWdCLEVBQ2hCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUVMLEdBQUcsRUFDSCxRQUFRLEdBQ1QsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQVV4RCxNQUFNLE9BQU8saUJBQWlCO0lBUjlCO1FBU1csU0FBSSxHQUFXLFFBQVEsQ0FBQztRQUN4QixTQUFJLEdBQVcsU0FBUyxDQUFDO1FBQ00sYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFDeEIsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUN2RCxTQUFJLEdBQVcsRUFBRSxDQUFDO1FBRWxCLFdBQU0sR0FBVyxTQUFTLENBQUM7UUFFcEMsY0FBUyxHQUFrQixJQUFJLGFBQWEsRUFBRSxDQUFDO1FBRS9DLG1CQUFjLEdBQTRCLEVBQUUsQ0FBQztRQUM3QyxhQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3BCLGdCQUFXLEdBQW1CLEdBQUcsQ0FBQztRQUNsQyxZQUFPLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRWxDLFlBQU8sR0FBUTtZQUNiLE9BQU8sRUFBRSxTQUFTO1lBQ2xCLElBQUksRUFBRSxNQUFNO1lBQ1osTUFBTSxFQUFFLFFBQVE7WUFDaEIsT0FBTyxFQUFFLFNBQVM7U0FDbkIsQ0FBQztLQXFCSDtJQW5CQyxRQUFRO1FBQ04sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FDNUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUNwQyxDQUFDO1FBQ0YsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUMxQixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUMvQjtJQUNILENBQUM7SUFDRCxpQkFBaUI7UUFDZixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFjLEdBQUc7WUFDcEIsV0FBVyxFQUFFLElBQUk7WUFDakIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQztRQUNGLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBQ3JDLENBQUM7OEdBM0NVLGlCQUFpQjtrR0FBakIsaUJBQWlCLHdIQUdSLGdCQUFnQixtQ0FDaEIsZ0JBQWdCLGdDQUNoQixnQkFBZ0IsZ0NBQ2hCLGdCQUFnQixnREFWekIsQ0FBQyxlQUFlLENBQUMsMEJDcEI5Qiw4TkFPUyxpOUdEWUcsWUFBWSw2SEFBVyxlQUFlOzsyRkFLckMsaUJBQWlCO2tCQVI3QixTQUFTOytCQUNFLGFBQWEsY0FDWCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLGVBQWUsQ0FBQyxhQUN0QyxDQUFDLGVBQWUsQ0FBQzs4QkFLbkIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDa0MsUUFBUTtzQkFBL0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxPQUFPO3NCQUE5QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLE1BQU07c0JBQTdDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsTUFBTTtzQkFBN0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDN0IsSUFBSTtzQkFBWixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgTmdDbGFzcywgVGl0bGVDYXNlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGYUljb25Db21wb25lbnQgfSBmcm9tICdAZm9ydGF3ZXNvbWUvYW5ndWxhci1mb250YXdlc29tZSc7XG5pbXBvcnQge1xuICBJY29uRGVmaW5pdGlvbixcbiAgZmEwLFxuICBmYUNvZmZlZSxcbn0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCB7IFNuQnV0dG9uU2VydmljZSB9IGZyb20gJy4vc24tYnV0dG9uLXguc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NuLWJ1dHRvbi14JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTmdDbGFzcywgRmFJY29uQ29tcG9uZW50XSxcbiAgcHJvdmlkZXJzOiBbU25CdXR0b25TZXJ2aWNlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3NuLWJ1dHRvbi14Lmh0bWwnLFxuICBzdHlsZVVybDogJ3NuLWJ1dHRvbi14LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBTbkJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHR5cGU6IHN0cmluZyA9ICdzdWJtaXQnO1xuICBASW5wdXQoKSB0ZXh0OiBzdHJpbmcgPSAnRGVmYXVsdCc7XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcm91bmRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZmlsbGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSByYWlzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgaWNvbjogc3RyaW5nID0gJyc7XG5cbiAgQElucHV0KCkgc2NoZW1lOiBzdHJpbmcgPSAnZGVmYXVsdCc7XG5cbiAgdGl0bGVDYXNlOiBUaXRsZUNhc2VQaXBlID0gbmV3IFRpdGxlQ2FzZVBpcGUoKTtcblxuICBjdXJyZW50Q2xhc3NlczogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4gPSB7fTtcbiAgZmFDb2ZmZWUgPSBmYUNvZmZlZTtcbiAgY3VycmVudEljb246IEljb25EZWZpbml0aW9uID0gZmEwO1xuICBzZXJ2aWNlID0gaW5qZWN0KFNuQnV0dG9uU2VydmljZSk7XG5cbiAgX3N0eWxlczogYW55ID0ge1xuICAgIHByaW1hcnk6ICdwcmltYXJ5JyxcbiAgICB3YXJuOiAnd2FybicsXG4gICAgZGFuZ2VyOiAnZGFuZ2VyJyxcbiAgICBzdWNjZXNzOiAnc3VjY2VzcycsXG4gIH07XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRDdXJyZW50Q2xhc3NlcygpO1xuICAgIHRoaXMuY3VycmVudEljb24gPSB0aGlzLnNlcnZpY2UuZ2V0Q3VycmVudEljb24oXG4gICAgICB0aGlzLnRpdGxlQ2FzZS50cmFuc2Zvcm0odGhpcy5pY29uKVxuICAgICk7XG4gICAgaWYgKHRoaXMuaWNvbiA9PT0gJ2NvZmZlZScpIHtcbiAgICAgIGNvbnNvbGUubG9nKHRoaXMuY3VycmVudEljb24pO1xuICAgIH1cbiAgfVxuICBzZXRDdXJyZW50Q2xhc3NlcygpIHtcbiAgICBjb25zdCBzY2hlbWUgPSB0aGlzLnNjaGVtZTtcbiAgICB0aGlzLmN1cnJlbnRDbGFzc2VzID0ge1xuICAgICAgJ3NuLWJ1dHRvbic6IHRydWUsXG4gICAgICByb3VuZGVkOiB0aGlzLnJvdW5kZWQsXG4gICAgICBmaWxsZWQ6IHRoaXMuZmlsbGVkLFxuICAgICAgcmFpc2VkOiB0aGlzLnJhaXNlZCxcbiAgICB9O1xuICAgIHRoaXMuY3VycmVudENsYXNzZXNbc2NoZW1lXSA9IHRydWU7XG4gIH1cbn1cbiIsIjxidXR0b24gW3R5cGVdPVwidHlwZVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtuZ0NsYXNzXT1cImN1cnJlbnRDbGFzc2VzXCI+XG4gIEBpZihpY29uKXtcbiAgPHNwYW4gY2xhc3M9XCJpY29uXCI+XG4gICAgPGZhLWljb24gW2ljb25dPVwiY3VycmVudEljb25cIj48L2ZhLWljb24+XG4gIDwvc3Bhbj5cbiAgfVxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2J1dHRvbj4iXX0=
@@ -1,32 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as allIcons from '@fortawesome/free-solid-svg-icons';
3
- import * as i0 from "@angular/core";
4
- export class SnButtonService {
5
- constructor() {
6
- this.iconDefinitions = new Map();
7
- let all = { ...allIcons };
8
- let key;
9
- for (key in all) {
10
- this.iconDefinitions.set(key.substring(2).toLowerCase(), all[key]);
11
- }
12
- //console.log(all);
13
- // this.iconDefinitions.set('coffee', faCoffee);
14
- // this.iconDefinitions.set('info', faInfo);
15
- }
16
- getCurrentIcon(iconName) {
17
- let icon = allIcons.faInfo;
18
- if (this.iconDefinitions.has(iconName.toLowerCase())) {
19
- icon = this.iconDefinitions.get(iconName.toLowerCase()) || icon;
20
- }
21
- return icon;
22
- }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: SnButtonService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
24
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: SnButtonService, providedIn: 'root' }); }
25
- }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.5", ngImport: i0, type: SnButtonService, decorators: [{
27
- type: Injectable,
28
- args: [{
29
- providedIn: 'root',
30
- }]
31
- }], ctorParameters: () => [] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic24tYnV0dG9uLXguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3NuLWJ1dHRvbi14L3NyYy9saWIvc24tYnV0dG9uLXguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTTNDLE9BQU8sS0FBSyxRQUFRLE1BQU0sbUNBQW1DLENBQUM7O0FBSzlELE1BQU0sT0FBTyxlQUFlO0lBRzFCO1FBRkEsb0JBQWUsR0FDYixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRVYsSUFBSSxHQUFHLEdBQUcsRUFBRSxHQUFHLFFBQVEsRUFBRSxDQUFDO1FBQzFCLElBQUksR0FBMEIsQ0FBQztRQUMvQixLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQUU7WUFDZixJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3BFO1FBRUQsbUJBQW1CO1FBQ25CLGdEQUFnRDtRQUNoRCw0Q0FBNEM7SUFDOUMsQ0FBQztJQUVELGNBQWMsQ0FBQyxRQUFnQjtRQUM3QixJQUFJLElBQUksR0FBMkMsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUNuRSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFO1lBQ3BELElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUM7U0FDakU7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7OEdBckJVLGVBQWU7a0hBQWYsZUFBZSxjQUZkLE1BQU07OzJGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSWNvbkRlZmluaXRpb24sXG4gIEljb25QYWNrLFxuICBJY29uUHJlZml4LFxufSBmcm9tICdAZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtc3ZnLWNvcmUnO1xuaW1wb3J0ICogYXMgYWxsSWNvbnMgZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNuQnV0dG9uU2VydmljZSB7XG4gIGljb25EZWZpbml0aW9uczogTWFwPHN0cmluZywgSWNvbkRlZmluaXRpb24gfCBJY29uUGFjayB8IEljb25QcmVmaXg+ID1cbiAgICBuZXcgTWFwKCk7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGxldCBhbGwgPSB7IC4uLmFsbEljb25zIH07XG4gICAgbGV0IGtleToga2V5b2YgdHlwZW9mIGFsbEljb25zO1xuICAgIGZvciAoa2V5IGluIGFsbCkge1xuICAgICAgdGhpcy5pY29uRGVmaW5pdGlvbnMuc2V0KGtleS5zdWJzdHJpbmcoMikudG9Mb3dlckNhc2UoKSwgYWxsW2tleV0pO1xuICAgIH1cblxuICAgIC8vY29uc29sZS5sb2coYWxsKTtcbiAgICAvLyB0aGlzLmljb25EZWZpbml0aW9ucy5zZXQoJ2NvZmZlZScsIGZhQ29mZmVlKTtcbiAgICAvLyB0aGlzLmljb25EZWZpbml0aW9ucy5zZXQoJ2luZm8nLCBmYUluZm8pO1xuICB9XG5cbiAgZ2V0Q3VycmVudEljb24oaWNvbk5hbWU6IHN0cmluZyk6IGFueSB7XG4gICAgbGV0IGljb246IEljb25EZWZpbml0aW9uIHwgSWNvblBhY2sgfCBJY29uUHJlZml4ID0gYWxsSWNvbnMuZmFJbmZvO1xuICAgIGlmICh0aGlzLmljb25EZWZpbml0aW9ucy5oYXMoaWNvbk5hbWUudG9Mb3dlckNhc2UoKSkpIHtcbiAgICAgIGljb24gPSB0aGlzLmljb25EZWZpbml0aW9ucy5nZXQoaWNvbk5hbWUudG9Mb3dlckNhc2UoKSkgfHwgaWNvbjtcbiAgICB9XG4gICAgcmV0dXJuIGljb247XG4gIH1cbn1cbiJdfQ==
@@ -1,6 +0,0 @@
1
- /*
2
- * Public API Surface of sn-button
3
- */
4
- export * from './lib/sn-button-x.service';
5
- export * from './lib/sn-button-x.component';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3NuLWJ1dHRvbi14L3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBzbi1idXR0b25cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zbi1idXR0b24teC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NuLWJ1dHRvbi14LmNvbXBvbmVudCc7XG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic24tYnV0dG9uLXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9zbi1idXR0b24teC9zcmMvc24tYnV0dG9uLXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
package/index.d.ts DELETED
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- /// <amd-module name="sn-button-x" />
5
- export * from './public-api';
@@ -1,9 +0,0 @@
1
- import { IconDefinition, IconPack, IconPrefix } from '@fortawesome/fontawesome-svg-core';
2
- import * as i0 from "@angular/core";
3
- export declare class SnButtonService {
4
- iconDefinitions: Map<string, IconDefinition | IconPack | IconPrefix>;
5
- constructor();
6
- getCurrentIcon(iconName: string): any;
7
- static ɵfac: i0.ɵɵFactoryDeclaration<SnButtonService, never>;
8
- static ɵprov: i0.ɵɵInjectableDeclaration<SnButtonService>;
9
- }
package/public-api.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export * from './lib/sn-button-x.service';
2
- export * from './lib/sn-button-x.component';