valtech-components 1.3.0 → 1.6.0

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.
Files changed (65) hide show
  1. package/.nvmrc +1 -0
  2. package/.releaserc +12 -0
  3. package/ng-package.json +11 -0
  4. package/package.json +10 -13
  5. package/src/lib/components/atoms/avatar/avatar.component.html +3 -0
  6. package/src/lib/components/atoms/avatar/avatar.component.scss +20 -0
  7. package/src/lib/components/atoms/avatar/avatar.component.ts +28 -0
  8. package/src/lib/components/atoms/button/button.component.html +17 -0
  9. package/src/lib/components/atoms/button/button.component.scss +5 -0
  10. package/src/lib/components/atoms/button/button.component.ts +26 -0
  11. package/src/lib/components/atoms/button/factory.ts +378 -0
  12. package/src/lib/components/atoms/button/types.ts +22 -0
  13. package/src/lib/components/atoms/display/display.component.html +5 -0
  14. package/src/lib/components/atoms/display/display.component.scss +17 -0
  15. package/src/lib/components/atoms/display/display.component.ts +20 -0
  16. package/src/lib/components/atoms/divider/divider.component.html +1 -0
  17. package/src/lib/components/atoms/divider/divider.component.scss +54 -0
  18. package/src/lib/components/atoms/divider/divider.component.ts +19 -0
  19. package/src/lib/components/atoms/text/text.component.html +5 -0
  20. package/src/lib/components/atoms/text/text.component.scss +33 -0
  21. package/src/lib/components/atoms/text/text.component.ts +22 -0
  22. package/src/lib/components/atoms/title/title.component.html +5 -0
  23. package/src/lib/components/atoms/title/title.component.scss +13 -0
  24. package/src/lib/components/atoms/title/title.component.ts +20 -0
  25. package/src/lib/components/molecules/content-loader/content-loader.component.html +6 -0
  26. package/src/lib/components/molecules/content-loader/content-loader.component.scss +42 -0
  27. package/src/lib/components/molecules/content-loader/content-loader.component.ts +22 -0
  28. package/src/lib/components/molecules/link/link.component.html +6 -0
  29. package/src/lib/components/molecules/link/link.component.scss +5 -0
  30. package/src/lib/components/molecules/link/link.component.ts +27 -0
  31. package/src/lib/components/types.ts +5 -0
  32. package/src/lib/valtech-components.module.ts +37 -0
  33. package/{public-api.d.ts → src/public-api.ts} +8 -0
  34. package/tsconfig.lib.json +14 -0
  35. package/tsconfig.lib.prod.json +10 -0
  36. package/tsconfig.spec.json +14 -0
  37. package/esm2022/lib/components/atoms/avatar/avatar.component.mjs +0 -31
  38. package/esm2022/lib/components/atoms/button/button.component.mjs +0 -26
  39. package/esm2022/lib/components/atoms/button/factory.mjs +0 -217
  40. package/esm2022/lib/components/atoms/button/types.mjs +0 -2
  41. package/esm2022/lib/components/atoms/display/display.component.mjs +0 -20
  42. package/esm2022/lib/components/atoms/divider/divider.component.mjs +0 -20
  43. package/esm2022/lib/components/atoms/text/text.component.mjs +0 -24
  44. package/esm2022/lib/components/atoms/title/title.component.mjs +0 -20
  45. package/esm2022/lib/components/molecules/content-loader/content-loader.component.mjs +0 -27
  46. package/esm2022/lib/components/molecules/link/link.component.mjs +0 -27
  47. package/esm2022/lib/components/types.mjs +0 -5
  48. package/esm2022/lib/valtech-components.module.mjs +0 -59
  49. package/esm2022/public-api.mjs +0 -16
  50. package/esm2022/valtech-components.mjs +0 -5
  51. package/fesm2022/valtech-components.mjs +0 -454
  52. package/fesm2022/valtech-components.mjs.map +0 -1
  53. package/index.d.ts +0 -5
  54. package/lib/components/atoms/avatar/avatar.component.d.ts +0 -14
  55. package/lib/components/atoms/button/button.component.d.ts +0 -17
  56. package/lib/components/atoms/button/factory.d.ts +0 -71
  57. package/lib/components/atoms/button/types.d.ts +0 -20
  58. package/lib/components/atoms/display/display.component.d.ts +0 -12
  59. package/lib/components/atoms/divider/divider.component.d.ts +0 -11
  60. package/lib/components/atoms/text/text.component.d.ts +0 -13
  61. package/lib/components/atoms/title/title.component.d.ts +0 -12
  62. package/lib/components/molecules/content-loader/content-loader.component.d.ts +0 -13
  63. package/lib/components/molecules/link/link.component.d.ts +0 -14
  64. package/lib/components/types.d.ts +0 -6
  65. package/lib/valtech-components.module.d.ts +0 -17
@@ -0,0 +1,19 @@
1
+ import { Component, Input, OnInit } from '@angular/core';
2
+
3
+ @Component({
4
+ selector: 'val-divider',
5
+ templateUrl: './divider.component.html',
6
+ styleUrls: ['./divider.component.scss'],
7
+ })
8
+ export class DividerComponent implements OnInit {
9
+ @Input()
10
+ size: 'small' | 'medium' | 'large';
11
+ @Input()
12
+ color: 'primary' | 'secondary' | 'dark' | 'light';
13
+ @Input()
14
+ fill: 'solid' | 'gradient';
15
+
16
+ constructor() {}
17
+
18
+ ngOnInit() {}
19
+ }
@@ -0,0 +1,5 @@
1
+ <ion-text [color]="color">
2
+ <p [class]="size" [class.bold]="bold">
3
+ {{ content }}
4
+ </p>
5
+ </ion-text>
@@ -0,0 +1,33 @@
1
+ @import '../../styles/typography.scss';
2
+
3
+ .small {
4
+ @include body-small;
5
+
6
+ &.bold {
7
+ @include body-small-bold;
8
+ }
9
+ }
10
+
11
+ .medium {
12
+ @include body-medium;
13
+
14
+ &.bold {
15
+ @include body-medium-bold;
16
+ }
17
+ }
18
+
19
+ .large {
20
+ @include body-large;
21
+
22
+ &.bold {
23
+ @include body-large-bold;
24
+ }
25
+ }
26
+
27
+ .xlarge {
28
+ @include body-xlarge;
29
+
30
+ &.bold {
31
+ @include body-xlarge-bold;
32
+ }
33
+ }
@@ -0,0 +1,22 @@
1
+ import { Component, Input, OnInit } from '@angular/core';
2
+ import { Color } from '@ionic/core';
3
+
4
+ @Component({
5
+ selector: 'val-text',
6
+ templateUrl: './text.component.html',
7
+ styleUrls: ['./text.component.scss'],
8
+ })
9
+ export class TextComponent implements OnInit {
10
+ @Input()
11
+ size: 'small' | 'medium' | 'large' | 'xlarge';
12
+ @Input()
13
+ color: Color;
14
+ @Input()
15
+ content: string;
16
+ @Input()
17
+ bold: boolean = false;
18
+
19
+ constructor() {}
20
+
21
+ ngOnInit() {}
22
+ }
@@ -0,0 +1,5 @@
1
+ <ion-text [color]="color">
2
+ <p [class]="size">
3
+ {{ content }}
4
+ </p>
5
+ </ion-text>
@@ -0,0 +1,13 @@
1
+ @import '../../styles/typography.scss';
2
+
3
+ .small {
4
+ @include title-small;
5
+ }
6
+
7
+ .medium {
8
+ @include title-medium;
9
+ }
10
+
11
+ .large {
12
+ @include title-large;
13
+ }
@@ -0,0 +1,20 @@
1
+ import { Component, Input, OnInit } from '@angular/core';
2
+ import { Color } from '@ionic/core';
3
+
4
+ @Component({
5
+ selector: 'val-title',
6
+ templateUrl: './title.component.html',
7
+ styleUrls: ['./title.component.scss'],
8
+ })
9
+ export class TitleComponent implements OnInit {
10
+ @Input()
11
+ size: 'small' | 'medium' | 'large' | 'xlarge';
12
+ @Input()
13
+ color: Color;
14
+ @Input()
15
+ content: string;
16
+
17
+ constructor() {}
18
+
19
+ ngOnInit() {}
20
+ }
@@ -0,0 +1,6 @@
1
+ <div [ngClass]="['spinner-wrapper', size]">
2
+ <ion-spinner [ngClass]="[size]" [name]="name" [color]="color"></ion-spinner>
3
+ <ion-text [color]="color">
4
+ <p>{{ text }}</p>
5
+ </ion-text>
6
+ </div>
@@ -0,0 +1,42 @@
1
+ @import '../../styles/mixins.scss';
2
+
3
+ .small {
4
+ width: pxToRem(24);
5
+ height: pxToRem(24);
6
+ }
7
+
8
+ .medium {
9
+ width: pxToRem(38);
10
+ height: pxToRem(38);
11
+ }
12
+
13
+ .large {
14
+ width: pxToRem(48);
15
+ height: pxToRem(48);
16
+ }
17
+
18
+ .spinner-wrapper {
19
+ width: 100%;
20
+ text-align: center;
21
+
22
+ &.small {
23
+ height: pxToRem(72);
24
+ padding-top: pxToRem(24);
25
+
26
+ @include body-small;
27
+ }
28
+
29
+ &.medium {
30
+ height: pxToRem(98);
31
+ padding-top: pxToRem(32);
32
+
33
+ @include body-medium;
34
+ }
35
+
36
+ &.large {
37
+ height: pxToRem(108);
38
+ padding-top: pxToRem(42);
39
+
40
+ @include body-large;
41
+ }
42
+ }
@@ -0,0 +1,22 @@
1
+ import { Component, Input, OnInit } from '@angular/core';
2
+ import { Color } from '@ionic/core';
3
+
4
+ @Component({
5
+ selector: 'val-content-loader',
6
+ templateUrl: './content-loader.component.html',
7
+ styleUrls: ['./content-loader.component.scss'],
8
+ })
9
+ export class ContentLoaderComponent implements OnInit {
10
+ @Input()
11
+ color: Color = 'primary';
12
+ @Input()
13
+ size: 'small' | 'medium' | 'large' = 'small';
14
+ @Input()
15
+ name: 'circular' | 'crescent' | 'dots' | 'lines-sharp' = 'circular';
16
+ @Input()
17
+ text: string;
18
+
19
+ constructor() {}
20
+
21
+ ngOnInit() {}
22
+ }
@@ -0,0 +1,6 @@
1
+ <div>
2
+ <ion-button type="button" [color]="color" fill="clear" [size]="size" (click)="onClickHandler()">
3
+ <ion-icon slot="end" name="chevron-forward-outline"></ion-icon>
4
+ <ion-text>{{ text }}</ion-text>
5
+ </ion-button>
6
+ </div>
@@ -0,0 +1,5 @@
1
+ @import '../../styles/mixins.scss';
2
+
3
+ ion-button {
4
+ font-family: var(--ion-default-font), Arial, sans-serif;
5
+ }
@@ -0,0 +1,27 @@
1
+ import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
2
+ import { Color } from '@ionic/core';
3
+
4
+ @Component({
5
+ selector: 'val-link',
6
+ templateUrl: './link.component.html',
7
+ styleUrls: ['./link.component.scss'],
8
+ })
9
+ export class LinkComponent implements OnInit {
10
+ @Input()
11
+ text: string;
12
+ @Input()
13
+ size: 'small' | 'default' | 'large';
14
+ @Input()
15
+ color: Color;
16
+
17
+ @Output()
18
+ onClick = new EventEmitter();
19
+
20
+ constructor() {}
21
+
22
+ ngOnInit() {}
23
+
24
+ onClickHandler() {
25
+ this.onClick.emit();
26
+ }
27
+ }
@@ -0,0 +1,5 @@
1
+ export type ComponentState = 'ENABLED' | 'DISABLED' | 'WORKING';
2
+ const ENABLED: ComponentState = 'ENABLED';
3
+ const DISABLED: ComponentState = 'DISABLED';
4
+ const WORKING: ComponentState = 'WORKING';
5
+ export const ComponentStates = { ENABLED, DISABLED, WORKING };
@@ -0,0 +1,37 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { HttpClientModule } from '@angular/common/http';
3
+ import { NgModule } from '@angular/core';
4
+ import { IonicModule } from '@ionic/angular';
5
+ import { ButtonComponent } from './components/atoms/button/button.component';
6
+ import { DisplayComponent } from './components/atoms/display/display.component';
7
+ import { TextComponent } from './components/atoms/text/text.component';
8
+ import { TitleComponent } from './components/atoms/title/title.component';
9
+ import { AvatarComponent } from './components/atoms/avatar/avatar.component';
10
+ import { DividerComponent } from './components/atoms/divider/divider.component';
11
+ import { ContentLoaderComponent } from './components/molecules/content-loader/content-loader.component';
12
+ import { LinkComponent } from './components/molecules/link/link.component';
13
+
14
+ @NgModule({
15
+ declarations: [
16
+ ButtonComponent,
17
+ DisplayComponent,
18
+ TextComponent,
19
+ TitleComponent,
20
+ AvatarComponent,
21
+ DividerComponent,
22
+ ContentLoaderComponent,
23
+ LinkComponent,
24
+ ],
25
+ imports: [CommonModule, HttpClientModule, IonicModule],
26
+ exports: [
27
+ ButtonComponent,
28
+ DisplayComponent,
29
+ TextComponent,
30
+ TitleComponent,
31
+ AvatarComponent,
32
+ DividerComponent,
33
+ ContentLoaderComponent,
34
+ LinkComponent,
35
+ ],
36
+ })
37
+ export class ValtechComponentsModule {}
@@ -1,3 +1,7 @@
1
+ /*
2
+ * Public API Surface of valtech-components
3
+ */
4
+
1
5
  export * from './lib/components/atoms/button/button.component';
2
6
  export * from './lib/components/atoms/button/types';
3
7
  export * from './lib/components/atoms/button/factory';
@@ -6,7 +10,11 @@ export * from './lib/components/atoms/title/title.component';
6
10
  export * from './lib/components/atoms/display/display.component';
7
11
  export * from './lib/components/atoms/avatar/avatar.component';
8
12
  export * from './lib/components/atoms/divider/divider.component';
13
+
9
14
  export * from './lib/components/molecules/content-loader/content-loader.component';
10
15
  export * from './lib/components/molecules/link/link.component';
16
+
11
17
  export * from './lib/components/types';
12
18
  export * from './lib/valtech-components.module';
19
+
20
+
@@ -0,0 +1,14 @@
1
+ /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+ {
3
+ "extends": "../../tsconfig.json",
4
+ "compilerOptions": {
5
+ "outDir": "../../out-tsc/lib",
6
+ "declaration": true,
7
+ "declarationMap": true,
8
+ "inlineSources": true,
9
+ "types": []
10
+ },
11
+ "exclude": [
12
+ "**/*.spec.ts"
13
+ ]
14
+ }
@@ -0,0 +1,10 @@
1
+ /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+ {
3
+ "extends": "./tsconfig.lib.json",
4
+ "compilerOptions": {
5
+ "declarationMap": false
6
+ },
7
+ "angularCompilerOptions": {
8
+ "compilationMode": "partial"
9
+ }
10
+ }
@@ -0,0 +1,14 @@
1
+ /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+ {
3
+ "extends": "../../tsconfig.json",
4
+ "compilerOptions": {
5
+ "outDir": "../../out-tsc/spec",
6
+ "types": [
7
+ "jasmine"
8
+ ]
9
+ },
10
+ "include": [
11
+ "**/*.spec.ts",
12
+ "**/*.d.ts"
13
+ ]
14
+ }
@@ -1,31 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@ionic/angular";
4
- export class AvatarComponent {
5
- constructor() {
6
- this.size = 'medium';
7
- this.box = false;
8
- this.onClick = new EventEmitter();
9
- }
10
- ngOnInit() { }
11
- onClickHandler() {
12
- this.onClick.emit();
13
- }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: AvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: AvatarComponent, selector: "val-avatar", inputs: { image: "image", default: "default", size: "size", box: "box" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<ion-avatar [class]=\"size\" [class.box]=\"box\" (click)=\"onClickHandler()\">\n <img alt=\"profile image\" [src]=\"image || default\" />\n</ion-avatar>\n", styles: [".box{--border-radius: pxToRem(4)}.small{width:1.5rem;height:1.5rem}.medium{width:2.375rem;height:2.375rem}.large{width:3rem;height:3rem}\n"], dependencies: [{ kind: "component", type: i1.IonAvatar, selector: "ion-avatar" }] }); }
16
- }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: AvatarComponent, decorators: [{
18
- type: Component,
19
- args: [{ selector: 'val-avatar', template: "<ion-avatar [class]=\"size\" [class.box]=\"box\" (click)=\"onClickHandler()\">\n <img alt=\"profile image\" [src]=\"image || default\" />\n</ion-avatar>\n", styles: [".box{--border-radius: pxToRem(4)}.small{width:1.5rem;height:1.5rem}.medium{width:2.375rem;height:2.375rem}.large{width:3rem;height:3rem}\n"] }]
20
- }], ctorParameters: () => [], propDecorators: { image: [{
21
- type: Input
22
- }], default: [{
23
- type: Input
24
- }], size: [{
25
- type: Input
26
- }], box: [{
27
- type: Input
28
- }], onClick: [{
29
- type: Output
30
- }] } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvYXZhdGFyL2F2YXRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2F0b21zL2F2YXRhci9hdmF0YXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTy9FLE1BQU0sT0FBTyxlQUFlO0lBYTFCO1FBUEEsU0FBSSxHQUFpQyxRQUFRLENBQUM7UUFFOUMsUUFBRyxHQUFZLEtBQUssQ0FBQztRQUdyQixZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVkLENBQUM7SUFFaEIsUUFBUSxLQUFJLENBQUM7SUFFYixjQUFjO1FBQ1osSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDOzhHQW5CVSxlQUFlO2tHQUFmLGVBQWUsNkpDUDVCLDZKQUdBOzsyRkRJYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFlBQVk7d0RBTXRCLEtBQUs7c0JBREosS0FBSztnQkFHTixPQUFPO3NCQUROLEtBQUs7Z0JBR04sSUFBSTtzQkFESCxLQUFLO2dCQUdOLEdBQUc7c0JBREYsS0FBSztnQkFJTixPQUFPO3NCQUROLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1hdmF0YXInLFxuICB0ZW1wbGF0ZVVybDogJy4vYXZhdGFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXZhdGFyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEF2YXRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIGltYWdlOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGRlZmF1bHQ6IHN0cmluZztcbiAgQElucHV0KClcbiAgc2l6ZTogJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyA9ICdtZWRpdW0nO1xuICBASW5wdXQoKVxuICBib3g6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KClcbiAgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIG9uQ2xpY2tIYW5kbGVyKCkge1xuICAgIHRoaXMub25DbGljay5lbWl0KCk7XG4gIH1cbn1cbiIsIjxpb24tYXZhdGFyIFtjbGFzc109XCJzaXplXCIgW2NsYXNzLmJveF09XCJib3hcIiAoY2xpY2spPVwib25DbGlja0hhbmRsZXIoKVwiPlxuICA8aW1nIGFsdD1cInByb2ZpbGUgaW1hZ2VcIiBbc3JjXT1cImltYWdlIHx8IGRlZmF1bHRcIiAvPlxuPC9pb24tYXZhdGFyPlxuIl19
@@ -1,26 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { ComponentStates } from '../../types';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "@ionic/angular";
6
- export class ButtonComponent {
7
- constructor() {
8
- this.states = ComponentStates;
9
- this.onClick = new EventEmitter();
10
- }
11
- ngOnInit() { }
12
- clickHandler() {
13
- this.onClick.emit();
14
- }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: ButtonComponent, selector: "val-button", inputs: { props: "props" }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<ion-button\n [type]=\"props.type\"\n [color]=\"props.color\"\n [expand]=\"props.expand\"\n [fill]=\"props.fill\"\n [size]=\"props.size\"\n [href]=\"props.href\"\n [target]=\"props.target\"\n [download]=\"props.download\"\n [shape]=\"props.shape\"\n [href]=\"props.href\"\n (click)=\"clickHandler()\"\n>\n <ion-icon *ngIf=\"props.icon\" [slot]=\"props.icon.slot\" [name]=\"props.icon.name\"></ion-icon>\n <ion-spinner *ngIf=\"props.state === states.WORKING\" name=\"circular\"></ion-spinner>\n <ion-text *ngIf=\"props.state !== states.WORKING\">{{ props.text }}</ion-text>\n</ion-button>\n", styles: ["ion-button{font-family:var(--ion-default-font),Arial,sans-serif}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i2.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: i2.IonText, selector: "ion-text", inputs: ["color", "mode"] }] }); }
17
- }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: ButtonComponent, decorators: [{
19
- type: Component,
20
- args: [{ selector: 'val-button', template: "<ion-button\n [type]=\"props.type\"\n [color]=\"props.color\"\n [expand]=\"props.expand\"\n [fill]=\"props.fill\"\n [size]=\"props.size\"\n [href]=\"props.href\"\n [target]=\"props.target\"\n [download]=\"props.download\"\n [shape]=\"props.shape\"\n [href]=\"props.href\"\n (click)=\"clickHandler()\"\n>\n <ion-icon *ngIf=\"props.icon\" [slot]=\"props.icon.slot\" [name]=\"props.icon.name\"></ion-icon>\n <ion-spinner *ngIf=\"props.state === states.WORKING\" name=\"circular\"></ion-spinner>\n <ion-text *ngIf=\"props.state !== states.WORKING\">{{ props.text }}</ion-text>\n</ion-button>\n", styles: ["ion-button{font-family:var(--ion-default-font),Arial,sans-serif}\n"] }]
21
- }], ctorParameters: () => [], propDecorators: { props: [{
22
- type: Input
23
- }], onClick: [{
24
- type: Output
25
- }] } });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2F0b21zL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7O0FBTzlDLE1BQU0sT0FBTyxlQUFlO0lBUzFCO1FBUkEsV0FBTSxHQUFHLGVBQWUsQ0FBQztRQU16QixZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVkLENBQUM7SUFFaEIsUUFBUSxLQUFJLENBQUM7SUFFYixZQUFZO1FBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDOzhHQWZVLGVBQWU7a0dBQWYsZUFBZSwrR0NUNUIsNmxCQWlCQTs7MkZEUmEsZUFBZTtrQkFMM0IsU0FBUzsrQkFDRSxZQUFZO3dEQVF0QixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sT0FBTztzQkFETixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnV0dG9uTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IENvbXBvbmVudFN0YXRlcyB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgc3RhdGVzID0gQ29tcG9uZW50U3RhdGVzO1xuXG4gIEBJbnB1dCgpXG4gIHByb3BzITogQnV0dG9uTWV0YWRhdGE7XG5cbiAgQE91dHB1dCgpXG4gIG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCkge31cblxuICBjbGlja0hhbmRsZXIoKSB7XG4gICAgdGhpcy5vbkNsaWNrLmVtaXQoKTtcbiAgfVxufVxuIiwiPGlvbi1idXR0b25cbiAgW3R5cGVdPVwicHJvcHMudHlwZVwiXG4gIFtjb2xvcl09XCJwcm9wcy5jb2xvclwiXG4gIFtleHBhbmRdPVwicHJvcHMuZXhwYW5kXCJcbiAgW2ZpbGxdPVwicHJvcHMuZmlsbFwiXG4gIFtzaXplXT1cInByb3BzLnNpemVcIlxuICBbaHJlZl09XCJwcm9wcy5ocmVmXCJcbiAgW3RhcmdldF09XCJwcm9wcy50YXJnZXRcIlxuICBbZG93bmxvYWRdPVwicHJvcHMuZG93bmxvYWRcIlxuICBbc2hhcGVdPVwicHJvcHMuc2hhcGVcIlxuICBbaHJlZl09XCJwcm9wcy5ocmVmXCJcbiAgKGNsaWNrKT1cImNsaWNrSGFuZGxlcigpXCJcbj5cbiAgPGlvbi1pY29uICpuZ0lmPVwicHJvcHMuaWNvblwiIFtzbG90XT1cInByb3BzLmljb24uc2xvdFwiIFtuYW1lXT1cInByb3BzLmljb24ubmFtZVwiPjwvaW9uLWljb24+XG4gIDxpb24tc3Bpbm5lciAqbmdJZj1cInByb3BzLnN0YXRlID09PSBzdGF0ZXMuV09SS0lOR1wiIG5hbWU9XCJjaXJjdWxhclwiPjwvaW9uLXNwaW5uZXI+XG4gIDxpb24tdGV4dCAqbmdJZj1cInByb3BzLnN0YXRlICE9PSBzdGF0ZXMuV09SS0lOR1wiPnt7IHByb3BzLnRleHQgfX08L2lvbi10ZXh0PlxuPC9pb24tYnV0dG9uPlxuIl19