@libs-ui/components-spinner 0.1.1-1
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 +3 -0
- package/esm2022/index.mjs +3 -0
- package/esm2022/interfaces/index.mjs +2 -0
- package/esm2022/interfaces/spinner.type.mjs +2 -0
- package/esm2022/libs-ui-components-spinner.mjs +5 -0
- package/esm2022/spinner.component.mjs +37 -0
- package/fesm2022/libs-ui-components-spinner.mjs +44 -0
- package/fesm2022/libs-ui-components-spinner.mjs.map +1 -0
- package/index.d.ts +2 -0
- package/interfaces/index.d.ts +1 -0
- package/interfaces/spinner.type.d.ts +1 -0
- package/package.json +24 -0
- package/spinner.component.d.ts +12 -0
package/README.md
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './spinner.component';
|
|
2
|
+
export * from './interfaces';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvc3Bpbm5lci9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3Bpbm5lci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzJztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './spinner.type';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvc3Bpbm5lci9zcmMvaW50ZXJmYWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcGlubmVyLnR5cGUnO1xuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL3NwaW5uZXIvc3JjL2ludGVyZmFjZXMvc3Bpbm5lci50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBUWVBFX1NQSU5ORVIgPSAnc3Bpbi1hYnNvbHV0ZS1ibHVlJyB8ICdzcGluLWFic29sdXRlLXdoaXRlJyB8ICdzcGluLWJsdWUnIHwgJ3NwaW4td2hpdGUnO1xuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicy11aS1jb21wb25lbnRzLXNwaW5uZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvc3Bpbm5lci9zcmMvbGlicy11aS1jb21wb25lbnRzLXNwaW5uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, input, signal } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class LibsUiComponentsSpinnerComponent {
|
|
4
|
+
// #region PROPERTY
|
|
5
|
+
width = signal('100px');
|
|
6
|
+
height = signal('100px');
|
|
7
|
+
// #region INPUT
|
|
8
|
+
type = input('spin-absolute-blue', { transform: (value) => value || 'spin-absolute-blue' });
|
|
9
|
+
size = input('medium', { transform: (value) => value || 'medium' });
|
|
10
|
+
ngOnInit() {
|
|
11
|
+
switch (this.size()) {
|
|
12
|
+
case 'large':
|
|
13
|
+
this.width.set('64px');
|
|
14
|
+
this.height.set('64px');
|
|
15
|
+
break;
|
|
16
|
+
case 'medium':
|
|
17
|
+
this.width.set('20px');
|
|
18
|
+
this.height.set('20px');
|
|
19
|
+
break;
|
|
20
|
+
case 'small':
|
|
21
|
+
this.width.set('16px');
|
|
22
|
+
this.height.set('16px');
|
|
23
|
+
break;
|
|
24
|
+
case 'smaller':
|
|
25
|
+
this.width.set('12px');
|
|
26
|
+
this.height.set('12px');
|
|
27
|
+
break;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LibsUiComponentsSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
31
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: LibsUiComponentsSpinnerComponent, isStandalone: true, selector: "libs_ui-components-spinner", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div\n class=\"libs-ui-spinner-image\"\n [class.libs-ui-spinner-image-absolute]=\"type() === 'spin-absolute-white' || type() === 'spin-absolute-blue'\">\n <div\n class=\"spin-loading\"\n [attr.color]=\"type() === 'spin-blue' || type() === 'spin-absolute-blue' ? 'blue' : 'white'\"\n [style.width]=\"width()\"\n [style.height]=\"height()\"></div>\n</div>\n", styles: ["@keyframes animation-frame-loading{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes animation-frame-loading{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.libs-ui-spinner-image{display:flex;align-items:center;justify-content:center;position:relative}.libs-ui-spinner-image.libs-ui-spinner-image-absolute{position:absolute;top:50%;left:50%;transform:translate(-50%) translateY(-50%);text-align:center;width:100px;height:100px;z-index:4}.libs-ui-spinner-image .spin-loading{--border-width: 15%;border-radius:50%;--color: white;--mask: radial-gradient(farthest-side, transparent calc(100% - var(--border-width) - .8px), #000 calc(100% - var(--border-width) + 0px));-webkit-mask:var(--mask);mask:var(--mask);background:conic-gradient(from 90deg at 50% 50%,#dbf1ff 0deg,rgba(43,128,255,0) .04deg,var(--color) 360deg);-webkit-animation:animation-frame-loading .7s linear infinite;animation:animation-frame-loading .7s linear infinite}.libs-ui-spinner-image .spin-loading[color=blue]{--color: var(--libs-ui-color-default, #226ff5)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
32
|
+
}
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LibsUiComponentsSpinnerComponent, decorators: [{
|
|
34
|
+
type: Component,
|
|
35
|
+
args: [{ selector: 'libs_ui-components-spinner', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div\n class=\"libs-ui-spinner-image\"\n [class.libs-ui-spinner-image-absolute]=\"type() === 'spin-absolute-white' || type() === 'spin-absolute-blue'\">\n <div\n class=\"spin-loading\"\n [attr.color]=\"type() === 'spin-blue' || type() === 'spin-absolute-blue' ? 'blue' : 'white'\"\n [style.width]=\"width()\"\n [style.height]=\"height()\"></div>\n</div>\n", styles: ["@keyframes animation-frame-loading{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes animation-frame-loading{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.libs-ui-spinner-image{display:flex;align-items:center;justify-content:center;position:relative}.libs-ui-spinner-image.libs-ui-spinner-image-absolute{position:absolute;top:50%;left:50%;transform:translate(-50%) translateY(-50%);text-align:center;width:100px;height:100px;z-index:4}.libs-ui-spinner-image .spin-loading{--border-width: 15%;border-radius:50%;--color: white;--mask: radial-gradient(farthest-side, transparent calc(100% - var(--border-width) - .8px), #000 calc(100% - var(--border-width) + 0px));-webkit-mask:var(--mask);mask:var(--mask);background:conic-gradient(from 90deg at 50% 50%,#dbf1ff 0deg,rgba(43,128,255,0) .04deg,var(--color) 360deg);-webkit-animation:animation-frame-loading .7s linear infinite;animation:animation-frame-loading .7s linear infinite}.libs-ui-spinner-image .spin-loading[color=blue]{--color: var(--libs-ui-color-default, #226ff5)}\n"] }]
|
|
36
|
+
}] });
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvc3Bpbm5lci9zcmMvc3Bpbm5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvc3Bpbm5lci9zcmMvc3Bpbm5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVzFGLE1BQU0sT0FBTyxnQ0FBZ0M7SUFDM0MsbUJBQW1CO0lBQ1QsS0FBSyxHQUFHLE1BQU0sQ0FBUyxPQUFPLENBQUMsQ0FBQztJQUNoQyxNQUFNLEdBQUcsTUFBTSxDQUFTLE9BQU8sQ0FBQyxDQUFDO0lBRTNDLGdCQUFnQjtJQUNQLElBQUksR0FBRyxLQUFLLENBQTZCLG9CQUFvQixFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLElBQUksb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO0lBQ3hILElBQUksR0FBRyxLQUFLLENBQXFGLFFBQVEsRUFBRSxFQUFFLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxJQUFJLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFFakssUUFBUTtRQUNOLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7WUFDcEIsS0FBSyxPQUFPO2dCQUNWLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDeEIsTUFBTTtZQUVSLEtBQUssUUFBUTtnQkFDWCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3hCLE1BQU07WUFFUixLQUFLLE9BQU87Z0JBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN4QixNQUFNO1lBRVIsS0FBSyxTQUFTO2dCQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDeEIsTUFBTTtRQUNWLENBQUM7SUFDSCxDQUFDO3dHQS9CVSxnQ0FBZ0M7NEZBQWhDLGdDQUFnQyw0VUNYN0Msb1hBU0E7OzRGREVhLGdDQUFnQztrQkFSNUMsU0FBUzsrQkFFRSw0QkFBNEIsbUJBR3JCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0LCBPbkluaXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVFlQRV9TUElOTkVSIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3NwaW5uZXIudHlwZSc7XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2xpYnNfdWktY29tcG9uZW50cy1zcGlubmVyJyxcbiAgdGVtcGxhdGVVcmw6ICdzcGlubmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3Bpbm5lci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgTGlic1VpQ29tcG9uZW50c1NwaW5uZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvLyAjcmVnaW9uIFBST1BFUlRZXG4gIHByb3RlY3RlZCB3aWR0aCA9IHNpZ25hbDxzdHJpbmc+KCcxMDBweCcpO1xuICBwcm90ZWN0ZWQgaGVpZ2h0ID0gc2lnbmFsPHN0cmluZz4oJzEwMHB4Jyk7XG5cbiAgLy8gI3JlZ2lvbiBJTlBVVFxuICByZWFkb25seSB0eXBlID0gaW5wdXQ8VFlQRV9TUElOTkVSLCBUWVBFX1NQSU5ORVI+KCdzcGluLWFic29sdXRlLWJsdWUnLCB7IHRyYW5zZm9ybTogKHZhbHVlKSA9PiB2YWx1ZSB8fCAnc3Bpbi1hYnNvbHV0ZS1ibHVlJyB9KTtcbiAgcmVhZG9ubHkgc2l6ZSA9IGlucHV0PCdsYXJnZScgfCAnbWVkaXVtJyB8ICdzbWFsbCcgfCAnc21hbGxlcicsICdsYXJnZScgfCAnbWVkaXVtJyB8ICdzbWFsbCcgfCAnc21hbGxlcic+KCdtZWRpdW0nLCB7IHRyYW5zZm9ybTogKHZhbHVlKSA9PiB2YWx1ZSB8fCAnbWVkaXVtJyB9KTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKHRoaXMuc2l6ZSgpKSB7XG4gICAgICBjYXNlICdsYXJnZSc6XG4gICAgICAgIHRoaXMud2lkdGguc2V0KCc2NHB4Jyk7XG4gICAgICAgIHRoaXMuaGVpZ2h0LnNldCgnNjRweCcpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnbWVkaXVtJzpcbiAgICAgICAgdGhpcy53aWR0aC5zZXQoJzIwcHgnKTtcbiAgICAgICAgdGhpcy5oZWlnaHQuc2V0KCcyMHB4Jyk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdzbWFsbCc6XG4gICAgICAgIHRoaXMud2lkdGguc2V0KCcxNnB4Jyk7XG4gICAgICAgIHRoaXMuaGVpZ2h0LnNldCgnMTZweCcpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnc21hbGxlcic6XG4gICAgICAgIHRoaXMud2lkdGguc2V0KCcxMnB4Jyk7XG4gICAgICAgIHRoaXMuaGVpZ2h0LnNldCgnMTJweCcpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJsaWJzLXVpLXNwaW5uZXItaW1hZ2VcIlxuICBbY2xhc3MubGlicy11aS1zcGlubmVyLWltYWdlLWFic29sdXRlXT1cInR5cGUoKSA9PT0gJ3NwaW4tYWJzb2x1dGUtd2hpdGUnIHx8IHR5cGUoKSA9PT0gJ3NwaW4tYWJzb2x1dGUtYmx1ZSdcIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic3Bpbi1sb2FkaW5nXCJcbiAgICBbYXR0ci5jb2xvcl09XCJ0eXBlKCkgPT09ICdzcGluLWJsdWUnIHx8IHR5cGUoKSA9PT0gJ3NwaW4tYWJzb2x1dGUtYmx1ZScgPyAnYmx1ZScgOiAnd2hpdGUnXCJcbiAgICBbc3R5bGUud2lkdGhdPVwid2lkdGgoKVwiXG4gICAgW3N0eWxlLmhlaWdodF09XCJoZWlnaHQoKVwiPjwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { signal, input, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
class LibsUiComponentsSpinnerComponent {
|
|
5
|
+
// #region PROPERTY
|
|
6
|
+
width = signal('100px');
|
|
7
|
+
height = signal('100px');
|
|
8
|
+
// #region INPUT
|
|
9
|
+
type = input('spin-absolute-blue', { transform: (value) => value || 'spin-absolute-blue' });
|
|
10
|
+
size = input('medium', { transform: (value) => value || 'medium' });
|
|
11
|
+
ngOnInit() {
|
|
12
|
+
switch (this.size()) {
|
|
13
|
+
case 'large':
|
|
14
|
+
this.width.set('64px');
|
|
15
|
+
this.height.set('64px');
|
|
16
|
+
break;
|
|
17
|
+
case 'medium':
|
|
18
|
+
this.width.set('20px');
|
|
19
|
+
this.height.set('20px');
|
|
20
|
+
break;
|
|
21
|
+
case 'small':
|
|
22
|
+
this.width.set('16px');
|
|
23
|
+
this.height.set('16px');
|
|
24
|
+
break;
|
|
25
|
+
case 'smaller':
|
|
26
|
+
this.width.set('12px');
|
|
27
|
+
this.height.set('12px');
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LibsUiComponentsSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
32
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: LibsUiComponentsSpinnerComponent, isStandalone: true, selector: "libs_ui-components-spinner", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div\n class=\"libs-ui-spinner-image\"\n [class.libs-ui-spinner-image-absolute]=\"type() === 'spin-absolute-white' || type() === 'spin-absolute-blue'\">\n <div\n class=\"spin-loading\"\n [attr.color]=\"type() === 'spin-blue' || type() === 'spin-absolute-blue' ? 'blue' : 'white'\"\n [style.width]=\"width()\"\n [style.height]=\"height()\"></div>\n</div>\n", styles: ["@keyframes animation-frame-loading{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes animation-frame-loading{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.libs-ui-spinner-image{display:flex;align-items:center;justify-content:center;position:relative}.libs-ui-spinner-image.libs-ui-spinner-image-absolute{position:absolute;top:50%;left:50%;transform:translate(-50%) translateY(-50%);text-align:center;width:100px;height:100px;z-index:4}.libs-ui-spinner-image .spin-loading{--border-width: 15%;border-radius:50%;--color: white;--mask: radial-gradient(farthest-side, transparent calc(100% - var(--border-width) - .8px), #000 calc(100% - var(--border-width) + 0px));-webkit-mask:var(--mask);mask:var(--mask);background:conic-gradient(from 90deg at 50% 50%,#dbf1ff 0deg,rgba(43,128,255,0) .04deg,var(--color) 360deg);-webkit-animation:animation-frame-loading .7s linear infinite;animation:animation-frame-loading .7s linear infinite}.libs-ui-spinner-image .spin-loading[color=blue]{--color: var(--libs-ui-color-default, #226ff5)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
33
|
+
}
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LibsUiComponentsSpinnerComponent, decorators: [{
|
|
35
|
+
type: Component,
|
|
36
|
+
args: [{ selector: 'libs_ui-components-spinner', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div\n class=\"libs-ui-spinner-image\"\n [class.libs-ui-spinner-image-absolute]=\"type() === 'spin-absolute-white' || type() === 'spin-absolute-blue'\">\n <div\n class=\"spin-loading\"\n [attr.color]=\"type() === 'spin-blue' || type() === 'spin-absolute-blue' ? 'blue' : 'white'\"\n [style.width]=\"width()\"\n [style.height]=\"height()\"></div>\n</div>\n", styles: ["@keyframes animation-frame-loading{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes animation-frame-loading{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.libs-ui-spinner-image{display:flex;align-items:center;justify-content:center;position:relative}.libs-ui-spinner-image.libs-ui-spinner-image-absolute{position:absolute;top:50%;left:50%;transform:translate(-50%) translateY(-50%);text-align:center;width:100px;height:100px;z-index:4}.libs-ui-spinner-image .spin-loading{--border-width: 15%;border-radius:50%;--color: white;--mask: radial-gradient(farthest-side, transparent calc(100% - var(--border-width) - .8px), #000 calc(100% - var(--border-width) + 0px));-webkit-mask:var(--mask);mask:var(--mask);background:conic-gradient(from 90deg at 50% 50%,#dbf1ff 0deg,rgba(43,128,255,0) .04deg,var(--color) 360deg);-webkit-animation:animation-frame-loading .7s linear infinite;animation:animation-frame-loading .7s linear infinite}.libs-ui-spinner-image .spin-loading[color=blue]{--color: var(--libs-ui-color-default, #226ff5)}\n"] }]
|
|
37
|
+
}] });
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Generated bundle index. Do not edit.
|
|
41
|
+
*/
|
|
42
|
+
|
|
43
|
+
export { LibsUiComponentsSpinnerComponent };
|
|
44
|
+
//# sourceMappingURL=libs-ui-components-spinner.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"libs-ui-components-spinner.mjs","sources":["../../../../../libs-ui/components/spinner/src/spinner.component.ts","../../../../../libs-ui/components/spinner/src/spinner.component.html","../../../../../libs-ui/components/spinner/src/libs-ui-components-spinner.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input, OnInit, signal } from '@angular/core';\nimport { TYPE_SPINNER } from './interfaces/spinner.type';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-spinner',\n templateUrl: 'spinner.component.html',\n styleUrls: ['./spinner.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class LibsUiComponentsSpinnerComponent implements OnInit {\n // #region PROPERTY\n protected width = signal<string>('100px');\n protected height = signal<string>('100px');\n\n // #region INPUT\n readonly type = input<TYPE_SPINNER, TYPE_SPINNER>('spin-absolute-blue', { transform: (value) => value || 'spin-absolute-blue' });\n readonly size = input<'large' | 'medium' | 'small' | 'smaller', 'large' | 'medium' | 'small' | 'smaller'>('medium', { transform: (value) => value || 'medium' });\n\n ngOnInit(): void {\n switch (this.size()) {\n case 'large':\n this.width.set('64px');\n this.height.set('64px');\n break;\n\n case 'medium':\n this.width.set('20px');\n this.height.set('20px');\n break;\n\n case 'small':\n this.width.set('16px');\n this.height.set('16px');\n break;\n\n case 'smaller':\n this.width.set('12px');\n this.height.set('12px');\n break;\n }\n }\n}\n","<div\n class=\"libs-ui-spinner-image\"\n [class.libs-ui-spinner-image-absolute]=\"type() === 'spin-absolute-white' || type() === 'spin-absolute-blue'\">\n <div\n class=\"spin-loading\"\n [attr.color]=\"type() === 'spin-blue' || type() === 'spin-absolute-blue' ? 'blue' : 'white'\"\n [style.width]=\"width()\"\n [style.height]=\"height()\"></div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAWa,gCAAgC,CAAA;;AAEjC,IAAA,KAAK,GAAG,MAAM,CAAS,OAAO,CAAC;AAC/B,IAAA,MAAM,GAAG,MAAM,CAAS,OAAO,CAAC;;AAGjC,IAAA,IAAI,GAAG,KAAK,CAA6B,oBAAoB,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,oBAAoB,EAAE,CAAC;AACvH,IAAA,IAAI,GAAG,KAAK,CAAqF,QAAQ,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,QAAQ,EAAE,CAAC;IAEhK,QAAQ,GAAA;AACN,QAAA,QAAQ,IAAI,CAAC,IAAI,EAAE;AACjB,YAAA,KAAK,OAAO;AACV,gBAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;AACtB,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;gBACvB;AAEF,YAAA,KAAK,QAAQ;AACX,gBAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;AACtB,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;gBACvB;AAEF,YAAA,KAAK,OAAO;AACV,gBAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;AACtB,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;gBACvB;AAEF,YAAA,KAAK,SAAS;AACZ,gBAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;AACtB,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;gBACvB;;IAEN;wGA/BW,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAhC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gCAAgC,4UCX7C,oXASA,EAAA,MAAA,EAAA,CAAA,4xCAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FDEa,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAR5C,SAAS;AAEE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,4BAA4B,EAAA,eAAA,EAGrB,uBAAuB,CAAC,MAAM,cACnC,IAAI,EAAA,QAAA,EAAA,oXAAA,EAAA,MAAA,EAAA,CAAA,4xCAAA,CAAA,EAAA;;;AETlB;;AAEG;;;;"}
|
package/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './spinner.type';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type TYPE_SPINNER = 'spin-absolute-blue' | 'spin-absolute-white' | 'spin-blue' | 'spin-white';
|
package/package.json
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@libs-ui/components-spinner",
|
|
3
|
+
"version": "0.1.1-1",
|
|
4
|
+
"peerDependencies": {
|
|
5
|
+
"@angular/core": ">=18.0.0"
|
|
6
|
+
},
|
|
7
|
+
"sideEffects": false,
|
|
8
|
+
"module": "fesm2022/libs-ui-components-spinner.mjs",
|
|
9
|
+
"typings": "index.d.ts",
|
|
10
|
+
"exports": {
|
|
11
|
+
"./package.json": {
|
|
12
|
+
"default": "./package.json"
|
|
13
|
+
},
|
|
14
|
+
".": {
|
|
15
|
+
"types": "./index.d.ts",
|
|
16
|
+
"esm2022": "./esm2022/libs-ui-components-spinner.mjs",
|
|
17
|
+
"esm": "./esm2022/libs-ui-components-spinner.mjs",
|
|
18
|
+
"default": "./fesm2022/libs-ui-components-spinner.mjs"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"dependencies": {
|
|
22
|
+
"tslib": "^2.3.0"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { OnInit } from '@angular/core';
|
|
2
|
+
import { TYPE_SPINNER } from './interfaces/spinner.type';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class LibsUiComponentsSpinnerComponent implements OnInit {
|
|
5
|
+
protected width: import("@angular/core").WritableSignal<string>;
|
|
6
|
+
protected height: import("@angular/core").WritableSignal<string>;
|
|
7
|
+
readonly type: import("@angular/core").InputSignalWithTransform<TYPE_SPINNER, TYPE_SPINNER>;
|
|
8
|
+
readonly size: import("@angular/core").InputSignalWithTransform<"large" | "medium" | "small" | "smaller", "large" | "medium" | "small" | "smaller">;
|
|
9
|
+
ngOnInit(): void;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LibsUiComponentsSpinnerComponent, never>;
|
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<LibsUiComponentsSpinnerComponent, "libs_ui-components-spinner", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
12
|
+
}
|