@aristobyte-ui/spinner 2.5.1 β 2.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.
- package/README.md +95 -0
- package/package.json +5 -5
- package/es/src/main/components/Spinner/Spinner.scss +0 -232
- package/es/src/main/components/Spinner/index.d.ts +0 -10
- package/es/src/main/components/Spinner/index.d.ts.map +0 -1
- package/es/src/main/components/Spinner/index.js +0 -7
- package/es/src/main/components/index.d.ts +0 -2
- package/es/src/main/components/index.d.ts.map +0 -1
- package/es/src/main/components/index.js +0 -1
- package/es/src/main/index.d.ts +0 -2
- package/es/src/main/index.d.ts.map +0 -1
- package/es/src/main/index.js +0 -1
- package/lib/src/main/components/Spinner/Spinner.scss +0 -232
- package/lib/src/main/components/Spinner/index.d.ts +0 -10
- package/lib/src/main/components/Spinner/index.d.ts.map +0 -1
- package/lib/src/main/components/Spinner/index.js +0 -44
- package/lib/src/main/components/index.d.ts +0 -2
- package/lib/src/main/components/index.d.ts.map +0 -1
- package/lib/src/main/components/index.js +0 -17
- package/lib/src/main/index.d.ts +0 -2
- package/lib/src/main/index.d.ts.map +0 -1
- package/lib/src/main/index.js +0 -17
package/README.md
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# `@aristobyte-ui/spinner`
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<img src="https://img.shields.io/badge/TypeScript-5.8-blue?style=for-the-badge&logo=typescript&logoColor=white" alt="TypeScript" />
|
|
5
|
+
<img src="https://img.shields.io/badge/Build-Turbo-green?style=for-the-badge&logo=turbo&logoColor=white" alt="TurboRepo" />
|
|
6
|
+
<img src="https://img.shields.io/badge/Lint-Strict-red?style=for-the-badge&logo=eslint&logoColor=white" alt="ESLint" />
|
|
7
|
+
<img src="https://img.shields.io/badge/License-MIT-black?style=for-the-badge&logo=open-source-initiative&logoColor=white" alt="License" />
|
|
8
|
+
<img src="https://img.shields.io/badge/AristoByte-UI-purple?style=for-the-badge&logo=react&logoColor=white" alt="AristoByte UI" />
|
|
9
|
+
<img src="https://img.shields.io/badge/Node-20.17.0+-339933?style=for-the-badge&logo=node.js&logoColor=white" alt="Node.js >=20.17.0" />
|
|
10
|
+
<img src="https://img.shields.io/badge/Yarn-1.22+-2C8EBB?style=for-the-badge&logo=yarn&logoColor=white" alt="Yarn >=1.22" />
|
|
11
|
+
<img src="https://img.shields.io/badge/NPM-10.8+-CB3837?style=for-the-badge&logo=npm&logoColor=white" alt="NPM >=10.8" />
|
|
12
|
+
</p>
|
|
13
|
+
|
|
14
|
+
A modular, highly customizable React spinner component, optimized for AristoByteUI projects. Supports multiple animation types, semantic color variants, and flexible sizing.
|
|
15
|
+
|
|
16
|
+
## π¦ Installation
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
# Install via Yarn
|
|
20
|
+
yarn add -D @aristobyte-ui/spinner
|
|
21
|
+
|
|
22
|
+
# Or via npm
|
|
23
|
+
npm install -D @aristobyte-ui/spinner
|
|
24
|
+
|
|
25
|
+
# Or via pnpm
|
|
26
|
+
pnpm add -D @aristobyte-ui/spinner
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## π Usage
|
|
30
|
+
|
|
31
|
+
```tsx
|
|
32
|
+
import { Spinner } from "@aristobyte-ui/spinner";
|
|
33
|
+
|
|
34
|
+
export const Demo = () => (
|
|
35
|
+
<div>
|
|
36
|
+
<Spinner type="default" variant="primary" size="md" />
|
|
37
|
+
<Spinner type="duo" variant="success" size="lg" />
|
|
38
|
+
<Spinner type="pulse-duo" variant="error" size="sm" />
|
|
39
|
+
</div>
|
|
40
|
+
);
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
| Prop | Type | Default | Description |
|
|
44
|
+
| | - | -- | -- |
|
|
45
|
+
| type | `"default"`, `"duo"`, `"gradient"`, `"pulse"`, `"pulse-duo"` | `"default"` | Defines the spinner animation style |
|
|
46
|
+
| variant | `"default"`, `"primary"`, `"secondary"`, `"success"`, `"error"`, `"warning"` | `"default"` | Semantic color variant |
|
|
47
|
+
| size | `"xsm"`, `"sm"`, `"md"`, `"lg"`, `"xlg"` | `"md"` | Controls spinner dimensions |
|
|
48
|
+
| className | `string` | `""` | Optional additional class names |
|
|
49
|
+
|
|
50
|
+
## π Presets Available
|
|
51
|
+
|
|
52
|
+
- Types: `default`, `duo`, `gradient`, `pulse`, `pulse-duo`
|
|
53
|
+
- Variants: `default`, `primary`, `secondary`, `success`, `error`, `warning`
|
|
54
|
+
- Sizes: `xsm`, `sm`, `md`, `lg`, `xlg`
|
|
55
|
+
|
|
56
|
+
## π§ Example in a Package
|
|
57
|
+
|
|
58
|
+
```tsx
|
|
59
|
+
import { Spinner } from "@aristobyte-ui/spinner";
|
|
60
|
+
|
|
61
|
+
export const LoadingState = () => (
|
|
62
|
+
<div className="flex justify-center items-center">
|
|
63
|
+
<Spinner type="gradient" variant="primary" size="lg" />
|
|
64
|
+
</div>
|
|
65
|
+
);
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## π Why This Matters
|
|
69
|
+
|
|
70
|
+
- **Performance-first:** Engineered with lightweight, GPU-accelerated CSS keyframes for smooth, non-blocking animations.
|
|
71
|
+
- **Fully typed:** TypeScript-first API ensures strict type safety and predictable integration across multiple projects.
|
|
72
|
+
- **AristoByteUI ready:** Fully interoperable with AristoByteβs design tokens, semantic color palette, and styling architecture.
|
|
73
|
+
- **Flexible:** Supports multiple animation types, semantic variants, and responsive sizing to fit any UI scenario.
|
|
74
|
+
|
|
75
|
+
## π Philosophy
|
|
76
|
+
|
|
77
|
+
- **Modular architecture:** Components are built for maximum reusability and composability.
|
|
78
|
+
- **Declarative styling:** SCSS modules maintain a clean separation of concerns while leveraging design tokens.
|
|
79
|
+
- **Strict typing & runtime flexibility:** Type-safe props with optional runtime overrides.
|
|
80
|
+
- **Developer experience optimized:** Intuitive API with predictable behavior and minimal setup.
|
|
81
|
+
|
|
82
|
+
## π License
|
|
83
|
+
|
|
84
|
+
[MIT](./LICENSE) Β© AristoByte
|
|
85
|
+
|
|
86
|
+
## π‘ Shields Showcase
|
|
87
|
+
|
|
88
|
+
<p align="center">
|
|
89
|
+
<img src="https://img.shields.io/badge/Consistency-100%25-green?style=for-the-badge&logo=typescript" />
|
|
90
|
+
<img src="https://img.shields.io/badge/Maintained-Active-brightgreen?style=for-the-badge&logo=github" />
|
|
91
|
+
<img src="https://img.shields.io/badge/Strictness-High-critical?style=for-the-badge&logo=eslint" />
|
|
92
|
+
<img src="https://img.shields.io/badge/Declarations-Enabled-blue?style=for-the-badge&logo=typescript" />
|
|
93
|
+
<img src="https://img.shields.io/badge/Monorepo-Turbo-green?style=for-the-badge&logo=monorepo" />
|
|
94
|
+
<img src="https://img.shields.io/badge/Interop-ESM%2FCJS-orange?style=for-the-badge&logo=javascript" />
|
|
95
|
+
</p>
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aristobyte-ui/spinner",
|
|
3
3
|
"description": "Flexible, highly customizable React Spinner component for AristoByteUI. Supports multiple variants, sizes, and animation types, designed for seamless integration with modern React projects and monorepos.",
|
|
4
|
-
"version": "2.
|
|
4
|
+
"version": "2.6.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"private": false,
|
|
7
7
|
"author": "AristoByte <info@aristobyte.com>",
|
|
@@ -43,15 +43,15 @@
|
|
|
43
43
|
"publishConfig": {
|
|
44
44
|
"access": "public"
|
|
45
45
|
},
|
|
46
|
-
"main": "lib/
|
|
47
|
-
"module": "es/
|
|
48
|
-
"types": "es/
|
|
46
|
+
"main": "lib/index.js",
|
|
47
|
+
"module": "es/index.js",
|
|
48
|
+
"types": "es/index.d.ts",
|
|
49
49
|
"peerDependencies": {
|
|
50
50
|
"react": "^19.1.0",
|
|
51
51
|
"react-dom": "^19.1.0",
|
|
52
52
|
"sass": "^1.97.3"
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@aristobyte-ui/utils": "^2.
|
|
55
|
+
"@aristobyte-ui/utils": "^2.6.0"
|
|
56
56
|
}
|
|
57
57
|
}
|
|
@@ -1,232 +0,0 @@
|
|
|
1
|
-
@use '@aristobyte-ui/utils/styles' as *;
|
|
2
|
-
|
|
3
|
-
@keyframes rotation {
|
|
4
|
-
from {
|
|
5
|
-
transform: rotate(0deg);
|
|
6
|
-
}
|
|
7
|
-
to {
|
|
8
|
-
transform: rotate(360deg);
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
@keyframes pulse {
|
|
13
|
-
0% {
|
|
14
|
-
opacity: 1;
|
|
15
|
-
transform: scale(0);
|
|
16
|
-
}
|
|
17
|
-
100% {
|
|
18
|
-
opacity: 0;
|
|
19
|
-
transform: scale(1);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
@keyframes pulse-duo {
|
|
24
|
-
0%,
|
|
25
|
-
100% {
|
|
26
|
-
opacity: 1;
|
|
27
|
-
transform: translate(-50%, -50%) scale(0);
|
|
28
|
-
}
|
|
29
|
-
50% {
|
|
30
|
-
opacity: 0;
|
|
31
|
-
transform: translate(-50%, -50%) scale(1);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
.spinner {
|
|
36
|
-
&-size {
|
|
37
|
-
&--xsm {
|
|
38
|
-
width: 1rem; // 16px
|
|
39
|
-
height: 1rem;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
&--sm {
|
|
43
|
-
width: 1.5rem; // 24px
|
|
44
|
-
height: 1.5rem;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
&--md {
|
|
48
|
-
width: 2rem; // 32px
|
|
49
|
-
height: 2rem;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
&--lg {
|
|
53
|
-
width: 2.5rem; // 40px
|
|
54
|
-
height: 2.5rem;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
&--xlg {
|
|
58
|
-
width: 3rem; // 48px
|
|
59
|
-
height: 3rem;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
&-type {
|
|
64
|
-
&--default {
|
|
65
|
-
animation: rotation 800ms ease infinite;
|
|
66
|
-
border-radius: 50%;
|
|
67
|
-
|
|
68
|
-
&.spinner-variant {
|
|
69
|
-
&--default {
|
|
70
|
-
border: 3px solid rgba($color-default, 0.25);
|
|
71
|
-
border-top-color: rgba($color-default, 1);
|
|
72
|
-
}
|
|
73
|
-
&--primary {
|
|
74
|
-
border: 3px solid rgba($color-primary, 0.25);
|
|
75
|
-
border-top-color: rgba($color-primary, 1);
|
|
76
|
-
}
|
|
77
|
-
&--secondary {
|
|
78
|
-
border: 3px solid rgba($color-secondary, 0.25);
|
|
79
|
-
border-top-color: rgba($color-secondary, 1);
|
|
80
|
-
}
|
|
81
|
-
&--success {
|
|
82
|
-
border: 3px solid rgba($color-success, 0.25);
|
|
83
|
-
border-top-color: rgba($color-success, 1);
|
|
84
|
-
}
|
|
85
|
-
&--error {
|
|
86
|
-
border: 3px solid rgba($color-error, 0.25);
|
|
87
|
-
border-top-color: rgba($color-error, 1);
|
|
88
|
-
}
|
|
89
|
-
&--warning {
|
|
90
|
-
border: 3px solid rgba($color-warning, 0.25);
|
|
91
|
-
border-top-color: rgba($color-warning, 1);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
&--duo {
|
|
97
|
-
animation: rotation 800ms ease infinite;
|
|
98
|
-
border: 3px solid transparent;
|
|
99
|
-
border-radius: 50%;
|
|
100
|
-
|
|
101
|
-
&.spinner-variant {
|
|
102
|
-
&--default {
|
|
103
|
-
border-bottom-color: rgba($color-default, 1);
|
|
104
|
-
border-top-color: rgba($color-default, 1);
|
|
105
|
-
}
|
|
106
|
-
&--primary {
|
|
107
|
-
border-bottom-color: rgba($color-primary, 1);
|
|
108
|
-
border-top-color: rgba($color-primary, 1);
|
|
109
|
-
}
|
|
110
|
-
&--secondary {
|
|
111
|
-
border-bottom-color: rgba($color-secondary, 1);
|
|
112
|
-
border-top-color: rgba($color-secondary, 1);
|
|
113
|
-
}
|
|
114
|
-
&--success {
|
|
115
|
-
border-bottom-color: rgba($color-success, 1);
|
|
116
|
-
border-top-color: rgba($color-success, 1);
|
|
117
|
-
}
|
|
118
|
-
&--error {
|
|
119
|
-
border-bottom-color: rgba($color-error, 1);
|
|
120
|
-
border-top-color: rgba($color-error, 1);
|
|
121
|
-
}
|
|
122
|
-
&--warning {
|
|
123
|
-
border-bottom-color: rgba($color-warning, 1);
|
|
124
|
-
border-top-color: rgba($color-warning, 1);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
&--gradient {
|
|
130
|
-
animation: rotation 800ms linear infinite;
|
|
131
|
-
border-right: 3px solid transparent;
|
|
132
|
-
border-radius: 50%;
|
|
133
|
-
|
|
134
|
-
&.spinner-variant {
|
|
135
|
-
&--default {
|
|
136
|
-
border-top: 3px solid rgba($color-default, 1);
|
|
137
|
-
}
|
|
138
|
-
&--primary {
|
|
139
|
-
border-top: 3px solid rgba($color-primary, 1);
|
|
140
|
-
}
|
|
141
|
-
&--secondary {
|
|
142
|
-
border-top: 3px solid rgba($color-secondary, 1);
|
|
143
|
-
}
|
|
144
|
-
&--success {
|
|
145
|
-
border-top: 3px solid rgba($color-success, 1);
|
|
146
|
-
}
|
|
147
|
-
&--error {
|
|
148
|
-
border-top: 3px solid rgba($color-error, 1);
|
|
149
|
-
}
|
|
150
|
-
&--warning {
|
|
151
|
-
border-top: 3px solid rgba($color-warning, 1);
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
&--pulse {
|
|
157
|
-
animation: pulse 1s ease-in-out infinite;
|
|
158
|
-
border-radius: 50%;
|
|
159
|
-
position: relative;
|
|
160
|
-
|
|
161
|
-
&.spinner-variant {
|
|
162
|
-
&--default {
|
|
163
|
-
background-color: $color-default;
|
|
164
|
-
}
|
|
165
|
-
&--primary {
|
|
166
|
-
background-color: $color-primary;
|
|
167
|
-
}
|
|
168
|
-
&--secondary {
|
|
169
|
-
background-color: $color-secondary;
|
|
170
|
-
}
|
|
171
|
-
&--success {
|
|
172
|
-
background-color: $color-success;
|
|
173
|
-
}
|
|
174
|
-
&--error {
|
|
175
|
-
background-color: $color-error;
|
|
176
|
-
}
|
|
177
|
-
&--warning {
|
|
178
|
-
background-color: $color-warning;
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
&--pulse-duo {
|
|
184
|
-
position: relative;
|
|
185
|
-
|
|
186
|
-
&.spinner-variant {
|
|
187
|
-
&--default::after,
|
|
188
|
-
&--default::before {
|
|
189
|
-
background-color: $color-default;
|
|
190
|
-
}
|
|
191
|
-
&--primary::after,
|
|
192
|
-
&--primary::before {
|
|
193
|
-
background-color: $color-primary;
|
|
194
|
-
}
|
|
195
|
-
&--secondary::after,
|
|
196
|
-
&--secondary::before {
|
|
197
|
-
background-color: $color-secondary;
|
|
198
|
-
}
|
|
199
|
-
&--success::after,
|
|
200
|
-
&--success::before {
|
|
201
|
-
background-color: $color-success;
|
|
202
|
-
}
|
|
203
|
-
&--error::after,
|
|
204
|
-
&--error::before {
|
|
205
|
-
background-color: $color-error;
|
|
206
|
-
}
|
|
207
|
-
&--warning::after,
|
|
208
|
-
&--warning::before {
|
|
209
|
-
background-color: $color-warning;
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
&::before,
|
|
214
|
-
&::after {
|
|
215
|
-
content: '';
|
|
216
|
-
position: absolute;
|
|
217
|
-
top: 50%;
|
|
218
|
-
left: 50%;
|
|
219
|
-
width: 100%;
|
|
220
|
-
height: 100%;
|
|
221
|
-
border-radius: 50%;
|
|
222
|
-
transform: translate(-50%, -50%) scale(0);
|
|
223
|
-
}
|
|
224
|
-
&::before {
|
|
225
|
-
animation: pulse-duo 2s ease-in-out infinite;
|
|
226
|
-
}
|
|
227
|
-
&::after {
|
|
228
|
-
animation: pulse-duo 2s 1s ease-in-out infinite;
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import './Spinner.scss';
|
|
3
|
-
export interface ISpinner {
|
|
4
|
-
type?: 'default' | 'duo' | 'gradient' | 'pulse' | 'pulse-duo';
|
|
5
|
-
variant?: 'default' | 'primary' | 'secondary' | 'success' | 'error' | 'warning';
|
|
6
|
-
size?: 'xsm' | 'sm' | 'md' | 'lg' | 'xlg';
|
|
7
|
-
className?: string;
|
|
8
|
-
}
|
|
9
|
-
export declare const Spinner: React.FC<ISpinner>;
|
|
10
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../packages/spinner/src/main/components/Spinner/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,gBAAgB,CAAC;AAExB,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,OAAO,GAAG,WAAW,CAAC;IAC9D,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IAChF,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CAItC,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
import './Spinner.scss';
|
|
4
|
-
export var Spinner = function (_a) {
|
|
5
|
-
var _b = _a.type, type = _b === void 0 ? 'default' : _b, _c = _a.variant, variant = _c === void 0 ? 'default' : _c, _d = _a.size, size = _d === void 0 ? 'md' : _d, _e = _a.className, className = _e === void 0 ? '' : _e;
|
|
6
|
-
return (React.createElement("div", { className: "spinner spinner-type--".concat(type, " spinner-variant--").concat(variant, " spinner-size--").concat(size, " ").concat(className) }));
|
|
7
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/spinner/src/main/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Spinner';
|
package/es/src/main/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/spinner/src/main/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
|
package/es/src/main/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './components';
|
|
@@ -1,232 +0,0 @@
|
|
|
1
|
-
@use '@aristobyte-ui/utils/styles' as *;
|
|
2
|
-
|
|
3
|
-
@keyframes rotation {
|
|
4
|
-
from {
|
|
5
|
-
transform: rotate(0deg);
|
|
6
|
-
}
|
|
7
|
-
to {
|
|
8
|
-
transform: rotate(360deg);
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
@keyframes pulse {
|
|
13
|
-
0% {
|
|
14
|
-
opacity: 1;
|
|
15
|
-
transform: scale(0);
|
|
16
|
-
}
|
|
17
|
-
100% {
|
|
18
|
-
opacity: 0;
|
|
19
|
-
transform: scale(1);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
@keyframes pulse-duo {
|
|
24
|
-
0%,
|
|
25
|
-
100% {
|
|
26
|
-
opacity: 1;
|
|
27
|
-
transform: translate(-50%, -50%) scale(0);
|
|
28
|
-
}
|
|
29
|
-
50% {
|
|
30
|
-
opacity: 0;
|
|
31
|
-
transform: translate(-50%, -50%) scale(1);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
.spinner {
|
|
36
|
-
&-size {
|
|
37
|
-
&--xsm {
|
|
38
|
-
width: 1rem; // 16px
|
|
39
|
-
height: 1rem;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
&--sm {
|
|
43
|
-
width: 1.5rem; // 24px
|
|
44
|
-
height: 1.5rem;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
&--md {
|
|
48
|
-
width: 2rem; // 32px
|
|
49
|
-
height: 2rem;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
&--lg {
|
|
53
|
-
width: 2.5rem; // 40px
|
|
54
|
-
height: 2.5rem;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
&--xlg {
|
|
58
|
-
width: 3rem; // 48px
|
|
59
|
-
height: 3rem;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
&-type {
|
|
64
|
-
&--default {
|
|
65
|
-
animation: rotation 800ms ease infinite;
|
|
66
|
-
border-radius: 50%;
|
|
67
|
-
|
|
68
|
-
&.spinner-variant {
|
|
69
|
-
&--default {
|
|
70
|
-
border: 3px solid rgba($color-default, 0.25);
|
|
71
|
-
border-top-color: rgba($color-default, 1);
|
|
72
|
-
}
|
|
73
|
-
&--primary {
|
|
74
|
-
border: 3px solid rgba($color-primary, 0.25);
|
|
75
|
-
border-top-color: rgba($color-primary, 1);
|
|
76
|
-
}
|
|
77
|
-
&--secondary {
|
|
78
|
-
border: 3px solid rgba($color-secondary, 0.25);
|
|
79
|
-
border-top-color: rgba($color-secondary, 1);
|
|
80
|
-
}
|
|
81
|
-
&--success {
|
|
82
|
-
border: 3px solid rgba($color-success, 0.25);
|
|
83
|
-
border-top-color: rgba($color-success, 1);
|
|
84
|
-
}
|
|
85
|
-
&--error {
|
|
86
|
-
border: 3px solid rgba($color-error, 0.25);
|
|
87
|
-
border-top-color: rgba($color-error, 1);
|
|
88
|
-
}
|
|
89
|
-
&--warning {
|
|
90
|
-
border: 3px solid rgba($color-warning, 0.25);
|
|
91
|
-
border-top-color: rgba($color-warning, 1);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
&--duo {
|
|
97
|
-
animation: rotation 800ms ease infinite;
|
|
98
|
-
border: 3px solid transparent;
|
|
99
|
-
border-radius: 50%;
|
|
100
|
-
|
|
101
|
-
&.spinner-variant {
|
|
102
|
-
&--default {
|
|
103
|
-
border-bottom-color: rgba($color-default, 1);
|
|
104
|
-
border-top-color: rgba($color-default, 1);
|
|
105
|
-
}
|
|
106
|
-
&--primary {
|
|
107
|
-
border-bottom-color: rgba($color-primary, 1);
|
|
108
|
-
border-top-color: rgba($color-primary, 1);
|
|
109
|
-
}
|
|
110
|
-
&--secondary {
|
|
111
|
-
border-bottom-color: rgba($color-secondary, 1);
|
|
112
|
-
border-top-color: rgba($color-secondary, 1);
|
|
113
|
-
}
|
|
114
|
-
&--success {
|
|
115
|
-
border-bottom-color: rgba($color-success, 1);
|
|
116
|
-
border-top-color: rgba($color-success, 1);
|
|
117
|
-
}
|
|
118
|
-
&--error {
|
|
119
|
-
border-bottom-color: rgba($color-error, 1);
|
|
120
|
-
border-top-color: rgba($color-error, 1);
|
|
121
|
-
}
|
|
122
|
-
&--warning {
|
|
123
|
-
border-bottom-color: rgba($color-warning, 1);
|
|
124
|
-
border-top-color: rgba($color-warning, 1);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
&--gradient {
|
|
130
|
-
animation: rotation 800ms linear infinite;
|
|
131
|
-
border-right: 3px solid transparent;
|
|
132
|
-
border-radius: 50%;
|
|
133
|
-
|
|
134
|
-
&.spinner-variant {
|
|
135
|
-
&--default {
|
|
136
|
-
border-top: 3px solid rgba($color-default, 1);
|
|
137
|
-
}
|
|
138
|
-
&--primary {
|
|
139
|
-
border-top: 3px solid rgba($color-primary, 1);
|
|
140
|
-
}
|
|
141
|
-
&--secondary {
|
|
142
|
-
border-top: 3px solid rgba($color-secondary, 1);
|
|
143
|
-
}
|
|
144
|
-
&--success {
|
|
145
|
-
border-top: 3px solid rgba($color-success, 1);
|
|
146
|
-
}
|
|
147
|
-
&--error {
|
|
148
|
-
border-top: 3px solid rgba($color-error, 1);
|
|
149
|
-
}
|
|
150
|
-
&--warning {
|
|
151
|
-
border-top: 3px solid rgba($color-warning, 1);
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
&--pulse {
|
|
157
|
-
animation: pulse 1s ease-in-out infinite;
|
|
158
|
-
border-radius: 50%;
|
|
159
|
-
position: relative;
|
|
160
|
-
|
|
161
|
-
&.spinner-variant {
|
|
162
|
-
&--default {
|
|
163
|
-
background-color: $color-default;
|
|
164
|
-
}
|
|
165
|
-
&--primary {
|
|
166
|
-
background-color: $color-primary;
|
|
167
|
-
}
|
|
168
|
-
&--secondary {
|
|
169
|
-
background-color: $color-secondary;
|
|
170
|
-
}
|
|
171
|
-
&--success {
|
|
172
|
-
background-color: $color-success;
|
|
173
|
-
}
|
|
174
|
-
&--error {
|
|
175
|
-
background-color: $color-error;
|
|
176
|
-
}
|
|
177
|
-
&--warning {
|
|
178
|
-
background-color: $color-warning;
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
&--pulse-duo {
|
|
184
|
-
position: relative;
|
|
185
|
-
|
|
186
|
-
&.spinner-variant {
|
|
187
|
-
&--default::after,
|
|
188
|
-
&--default::before {
|
|
189
|
-
background-color: $color-default;
|
|
190
|
-
}
|
|
191
|
-
&--primary::after,
|
|
192
|
-
&--primary::before {
|
|
193
|
-
background-color: $color-primary;
|
|
194
|
-
}
|
|
195
|
-
&--secondary::after,
|
|
196
|
-
&--secondary::before {
|
|
197
|
-
background-color: $color-secondary;
|
|
198
|
-
}
|
|
199
|
-
&--success::after,
|
|
200
|
-
&--success::before {
|
|
201
|
-
background-color: $color-success;
|
|
202
|
-
}
|
|
203
|
-
&--error::after,
|
|
204
|
-
&--error::before {
|
|
205
|
-
background-color: $color-error;
|
|
206
|
-
}
|
|
207
|
-
&--warning::after,
|
|
208
|
-
&--warning::before {
|
|
209
|
-
background-color: $color-warning;
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
&::before,
|
|
214
|
-
&::after {
|
|
215
|
-
content: '';
|
|
216
|
-
position: absolute;
|
|
217
|
-
top: 50%;
|
|
218
|
-
left: 50%;
|
|
219
|
-
width: 100%;
|
|
220
|
-
height: 100%;
|
|
221
|
-
border-radius: 50%;
|
|
222
|
-
transform: translate(-50%, -50%) scale(0);
|
|
223
|
-
}
|
|
224
|
-
&::before {
|
|
225
|
-
animation: pulse-duo 2s ease-in-out infinite;
|
|
226
|
-
}
|
|
227
|
-
&::after {
|
|
228
|
-
animation: pulse-duo 2s 1s ease-in-out infinite;
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import './Spinner.scss';
|
|
3
|
-
export interface ISpinner {
|
|
4
|
-
type?: 'default' | 'duo' | 'gradient' | 'pulse' | 'pulse-duo';
|
|
5
|
-
variant?: 'default' | 'primary' | 'secondary' | 'success' | 'error' | 'warning';
|
|
6
|
-
size?: 'xsm' | 'sm' | 'md' | 'lg' | 'xlg';
|
|
7
|
-
className?: string;
|
|
8
|
-
}
|
|
9
|
-
export declare const Spinner: React.FC<ISpinner>;
|
|
10
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../packages/spinner/src/main/components/Spinner/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,gBAAgB,CAAC;AAExB,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,OAAO,GAAG,WAAW,CAAC;IAC9D,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IAChF,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CAItC,CAAC"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
'use client';
|
|
3
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
-
if (k2 === undefined) k2 = k;
|
|
5
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
-
}
|
|
9
|
-
Object.defineProperty(o, k2, desc);
|
|
10
|
-
}) : (function(o, m, k, k2) {
|
|
11
|
-
if (k2 === undefined) k2 = k;
|
|
12
|
-
o[k2] = m[k];
|
|
13
|
-
}));
|
|
14
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
-
}) : function(o, v) {
|
|
17
|
-
o["default"] = v;
|
|
18
|
-
});
|
|
19
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
-
var ownKeys = function(o) {
|
|
21
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
-
var ar = [];
|
|
23
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
-
return ar;
|
|
25
|
-
};
|
|
26
|
-
return ownKeys(o);
|
|
27
|
-
};
|
|
28
|
-
return function (mod) {
|
|
29
|
-
if (mod && mod.__esModule) return mod;
|
|
30
|
-
var result = {};
|
|
31
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
-
__setModuleDefault(result, mod);
|
|
33
|
-
return result;
|
|
34
|
-
};
|
|
35
|
-
})();
|
|
36
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
-
exports.Spinner = void 0;
|
|
38
|
-
var React = __importStar(require("react"));
|
|
39
|
-
require("./Spinner.scss");
|
|
40
|
-
var Spinner = function (_a) {
|
|
41
|
-
var _b = _a.type, type = _b === void 0 ? 'default' : _b, _c = _a.variant, variant = _c === void 0 ? 'default' : _c, _d = _a.size, size = _d === void 0 ? 'md' : _d, _e = _a.className, className = _e === void 0 ? '' : _e;
|
|
42
|
-
return (React.createElement("div", { className: "spinner spinner-type--".concat(type, " spinner-variant--").concat(variant, " spinner-size--").concat(size, " ").concat(className) }));
|
|
43
|
-
};
|
|
44
|
-
exports.Spinner = Spinner;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../packages/spinner/src/main/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./Spinner"), exports);
|
package/lib/src/main/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/spinner/src/main/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
|
package/lib/src/main/index.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./components"), exports);
|