xaura 1.0.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.
@@ -0,0 +1,175 @@
1
+ /* ============================================================
2
+ INPUTS & FORMS
3
+ ============================================================ */
4
+ .xaura-form-group {
5
+ display: flex;
6
+ flex-direction: column;
7
+ gap: var(--xaura-space-2);
8
+ }
9
+
10
+ .xaura-input {
11
+ width: 100%;
12
+ padding: 10px 14px;
13
+ background: var(--xaura-surface-2);
14
+ border: var(--xaura-border);
15
+ border-radius: var(--xaura-radius-md);
16
+ color: var(--xaura-text);
17
+ font-family: var(--font-ui);
18
+ font-size: 0.9rem;
19
+ outline: none;
20
+ transition: var(--xaura-transition);
21
+ }
22
+ .xaura-input::placeholder { color: var(--xaura-text-dim); }
23
+ .xaura-input:hover { border-color: rgba(108,92,231,0.5); }
24
+ .xaura-input:focus {
25
+ border-color: var(--xaura-energy);
26
+ box-shadow: 0 0 0 3px rgba(0,229,255,0.15), var(--xaura-glow-sm);
27
+ }
28
+
29
+ .xaura-input-group {
30
+ display: flex;
31
+ align-items: center;
32
+ }
33
+ .xaura-input-group .xaura-input {
34
+ border-radius: var(--xaura-radius-md) 0 0 var(--xaura-radius-md);
35
+ }
36
+ .xaura-input-group .xaura-btn {
37
+ border-radius: 0 var(--xaura-radius-md) var(--xaura-radius-md) 0;
38
+ white-space: nowrap;
39
+ }
40
+
41
+ .xaura-textarea {
42
+ width: 100%;
43
+ padding: 10px 14px;
44
+ background: var(--xaura-surface-2);
45
+ border: var(--xaura-border);
46
+ border-radius: var(--xaura-radius-md);
47
+ color: var(--xaura-text);
48
+ font-family: var(--font-ui);
49
+ font-size: 0.9rem;
50
+ outline: none;
51
+ transition: var(--xaura-transition);
52
+ resize: vertical;
53
+ min-height: 100px;
54
+ }
55
+ .xaura-textarea:focus {
56
+ border-color: var(--xaura-energy);
57
+ box-shadow: 0 0 0 3px rgba(0,229,255,0.15);
58
+ }
59
+
60
+ .xaura-select {
61
+ appearance: none;
62
+ width: 100%;
63
+ padding: 10px 36px 10px 14px;
64
+ background: var(--xaura-surface-2);
65
+ border: var(--xaura-border);
66
+ border-radius: var(--xaura-radius-md);
67
+ color: var(--xaura-text);
68
+ font-family: var(--font-ui);
69
+ font-size: 0.9rem;
70
+ outline: none;
71
+ transition: var(--xaura-transition);
72
+ cursor: pointer;
73
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
74
+ background-repeat: no-repeat;
75
+ background-position: right 12px center;
76
+ }
77
+ .xaura-select:focus {
78
+ border-color: var(--xaura-energy);
79
+ box-shadow: 0 0 0 3px rgba(0,229,255,0.15);
80
+ }
81
+
82
+ /* Switch */
83
+ .xaura-switch {
84
+ position: relative;
85
+ display: inline-flex;
86
+ align-items: center;
87
+ gap: var(--xaura-space-3);
88
+ cursor: pointer;
89
+ }
90
+ .xaura-switch input { display: none; }
91
+ .xaura-switch-track {
92
+ width: 44px;
93
+ height: 24px;
94
+ background: var(--xaura-surface-3);
95
+ border-radius: var(--xaura-radius-full);
96
+ border: var(--xaura-border);
97
+ transition: var(--xaura-transition);
98
+ position: relative;
99
+ }
100
+ .xaura-switch-track::after {
101
+ content: '';
102
+ position: absolute;
103
+ top: 3px; left: 3px;
104
+ width: 16px; height: 16px;
105
+ background: var(--xaura-text-dim);
106
+ border-radius: 50%;
107
+ transition: var(--xaura-transition);
108
+ }
109
+ .xaura-switch input:checked ~ .xaura-switch-track {
110
+ background: rgba(0,229,255,0.15);
111
+ border-color: var(--xaura-energy);
112
+ box-shadow: var(--xaura-glow-sm);
113
+ }
114
+ .xaura-switch input:checked ~ .xaura-switch-track::after {
115
+ left: calc(100% - 19px);
116
+ background: var(--xaura-energy);
117
+ box-shadow: 0 0 8px var(--xaura-energy);
118
+ }
119
+
120
+ /* Checkbox */
121
+ .xaura-checkbox-label {
122
+ display: inline-flex;
123
+ align-items: center;
124
+ gap: var(--xaura-space-3);
125
+ cursor: pointer;
126
+ }
127
+ .xaura-checkbox {
128
+ appearance: none;
129
+ width: 18px; height: 18px;
130
+ border: var(--xaura-border);
131
+ border-radius: var(--xaura-radius-sm);
132
+ background: var(--xaura-surface-2);
133
+ cursor: pointer;
134
+ transition: var(--xaura-transition);
135
+ position: relative;
136
+ }
137
+ .xaura-checkbox:checked {
138
+ background: var(--xaura-energy);
139
+ border-color: var(--xaura-energy);
140
+ box-shadow: var(--xaura-glow-sm);
141
+ }
142
+ .xaura-checkbox:checked::after {
143
+ content: '';
144
+ position: absolute;
145
+ top: 2px; left: 5px;
146
+ width: 5px; height: 9px;
147
+ border: 2px solid var(--xaura-dark);
148
+ border-top: none;
149
+ border-left: none;
150
+ transform: rotate(45deg);
151
+ }
152
+
153
+ /* Range / Slider */
154
+ .xaura-range {
155
+ appearance: none;
156
+ width: 100%;
157
+ height: 4px;
158
+ background: var(--xaura-surface-3);
159
+ border-radius: 2px;
160
+ outline: none;
161
+ cursor: pointer;
162
+ }
163
+ .xaura-range::-webkit-slider-thumb {
164
+ appearance: none;
165
+ width: 18px; height: 18px;
166
+ border-radius: 50%;
167
+ background: var(--xaura-energy);
168
+ box-shadow: 0 0 8px var(--xaura-energy);
169
+ cursor: pointer;
170
+ transition: var(--xaura-transition);
171
+ }
172
+ .xaura-range::-webkit-slider-thumb:hover {
173
+ box-shadow: 0 0 16px var(--xaura-energy);
174
+ transform: scale(1.2);
175
+ }
@@ -0,0 +1,61 @@
1
+ /* ============================================================
2
+ LOADERS
3
+ ============================================================ */
4
+ .xaura-loader {
5
+ width: 40px; height: 40px;
6
+ border: 3px solid rgba(108,92,231,0.2);
7
+ border-top-color: var(--xaura-primary);
8
+ border-radius: 50%;
9
+ animation: xaura-spin-energy 0.8s linear infinite;
10
+ }
11
+
12
+ .xaura-loader-energy {
13
+ width: 48px; height: 48px;
14
+ position: relative;
15
+ display: inline-block;
16
+ }
17
+ .xaura-loader-energy::before,
18
+ .xaura-loader-energy::after {
19
+ content: '';
20
+ position: absolute;
21
+ inset: 0;
22
+ border-radius: 50%;
23
+ border: 3px solid transparent;
24
+ }
25
+ .xaura-loader-energy::before {
26
+ border-top-color: var(--xaura-energy);
27
+ animation: xaura-spin-energy 1s linear infinite;
28
+ }
29
+ .xaura-loader-energy::after {
30
+ inset: 6px;
31
+ border-top-color: var(--xaura-power);
32
+ animation: xaura-spin-reverse 0.8s linear infinite;
33
+ }
34
+
35
+ .xaura-loader-plasma {
36
+ width: 48px; height: 48px;
37
+ position: relative;
38
+ display: inline-block;
39
+ }
40
+ .xaura-loader-plasma::before {
41
+ content: '';
42
+ position: absolute;
43
+ inset: 0;
44
+ border-radius: 50%;
45
+ background: conic-gradient(var(--xaura-power), var(--xaura-primary), var(--xaura-energy), transparent);
46
+ animation: xaura-spin-energy 1s linear infinite;
47
+ mask: radial-gradient(circle at center, transparent 40%, black 41%);
48
+ -webkit-mask: radial-gradient(circle at center, transparent 40%, black 41%);
49
+ box-shadow: var(--xaura-glow-power);
50
+ }
51
+
52
+ /* Skeleton */
53
+ .xaura-skeleton {
54
+ background: linear-gradient(90deg, var(--xaura-surface-2) 25%, var(--xaura-surface-3) 50%, var(--xaura-surface-2) 75%);
55
+ background-size: 200% 100%;
56
+ animation: xaura-shimmer 1.5s infinite;
57
+ border-radius: var(--xaura-radius-md);
58
+ }
59
+ .xaura-skeleton-text { height: 16px; margin-bottom: 8px; }
60
+ .xaura-skeleton-text:last-child { width: 60%; }
61
+ .xaura-skeleton-title { height: 24px; margin-bottom: 12px; }
@@ -0,0 +1,68 @@
1
+ /* ============================================================
2
+ MODAL
3
+ ============================================================ */
4
+ .xaura-modal-overlay {
5
+ position: fixed;
6
+ inset: 0;
7
+ background: rgba(15,23,42,0.85);
8
+ backdrop-filter: blur(8px);
9
+ display: flex;
10
+ align-items: center;
11
+ justify-content: center;
12
+ z-index: 1000;
13
+ opacity: 0;
14
+ pointer-events: none;
15
+ transition: opacity 0.3s ease;
16
+ }
17
+ .xaura-modal-overlay.open {
18
+ opacity: 1;
19
+ pointer-events: all;
20
+ }
21
+
22
+ .xaura-modal {
23
+ background: var(--xaura-surface-1);
24
+ border: var(--xaura-border-energy);
25
+ border-radius: var(--xaura-radius-xl);
26
+ padding: var(--xaura-space-8);
27
+ width: min(520px, 90vw);
28
+ position: relative;
29
+ box-shadow: var(--xaura-glow-sm), 0 24px 80px rgba(0,0,0,0.5);
30
+ transform: scale(0.9);
31
+ transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
32
+ }
33
+ .xaura-modal-overlay.open .xaura-modal {
34
+ transform: scale(1);
35
+ }
36
+
37
+ .xaura-modal::before {
38
+ content: '';
39
+ position: absolute;
40
+ top: 0; left: 20%; right: 20%;
41
+ height: 1px;
42
+ background: linear-gradient(90deg, transparent, var(--xaura-energy), transparent);
43
+ }
44
+
45
+ .xaura-modal-header {
46
+ display: flex;
47
+ align-items: center;
48
+ justify-content: space-between;
49
+ margin-bottom: var(--xaura-space-6);
50
+ }
51
+ .xaura-modal-close {
52
+ background: rgba(255,255,255,0.05);
53
+ border: var(--xaura-border);
54
+ color: var(--xaura-text-muted);
55
+ width: 32px; height: 32px;
56
+ border-radius: var(--xaura-radius-md);
57
+ cursor: pointer;
58
+ display: flex;
59
+ align-items: center;
60
+ justify-content: center;
61
+ transition: var(--xaura-transition);
62
+ font-size: 1rem;
63
+ }
64
+ .xaura-modal-close:hover {
65
+ color: var(--xaura-danger);
66
+ border-color: var(--xaura-danger);
67
+ box-shadow: var(--xaura-glow-danger);
68
+ }
@@ -0,0 +1,76 @@
1
+ /* ============================================================
2
+ NAVBAR
3
+ ============================================================ */
4
+ .xaura-navbar {
5
+ display: flex;
6
+ align-items: center;
7
+ padding: 0 var(--xaura-space-6);
8
+ height: 64px;
9
+ background: rgba(15,23,42,0.85);
10
+ backdrop-filter: blur(20px);
11
+ border-bottom: 1px solid rgba(108,92,231,0.2);
12
+ position: sticky;
13
+ top: 0;
14
+ z-index: 100;
15
+ }
16
+
17
+ .xaura-navbar-brand {
18
+ font-family: var(--font-power);
19
+ font-weight: 800;
20
+ font-size: 1.3rem;
21
+ letter-spacing: 0.1em;
22
+ background: var(--xaura-gradient-energy);
23
+ -webkit-background-clip: text;
24
+ -webkit-text-fill-color: transparent;
25
+ background-clip: text;
26
+ text-decoration: none;
27
+ margin-right: var(--xaura-space-8);
28
+ }
29
+
30
+ .xaura-navbar-nav {
31
+ display: flex;
32
+ align-items: center;
33
+ gap: var(--xaura-space-1);
34
+ list-style: none;
35
+ flex: 1;
36
+ }
37
+
38
+ .xaura-nav-link {
39
+ display: inline-flex;
40
+ align-items: center;
41
+ gap: var(--xaura-space-2);
42
+ padding: 8px 14px;
43
+ border-radius: var(--xaura-radius-md);
44
+ color: var(--xaura-text-muted);
45
+ text-decoration: none;
46
+ font-size: 0.875rem;
47
+ font-weight: 500;
48
+ transition: var(--xaura-transition);
49
+ position: relative;
50
+ }
51
+ .xaura-nav-link:hover {
52
+ color: var(--xaura-energy);
53
+ background: rgba(0,229,255,0.07);
54
+ }
55
+ .xaura-nav-link.active {
56
+ color: var(--xaura-energy);
57
+ background: rgba(0,229,255,0.1);
58
+ }
59
+ .xaura-nav-link.active::after {
60
+ content: '';
61
+ position: absolute;
62
+ bottom: 0; left: 50%; right: 50%;
63
+ transform: translateX(-50%);
64
+ width: 60%;
65
+ height: 2px;
66
+ background: var(--xaura-energy);
67
+ box-shadow: 0 0 8px var(--xaura-energy);
68
+ border-radius: 2px;
69
+ }
70
+
71
+ .xaura-navbar-actions {
72
+ display: flex;
73
+ align-items: center;
74
+ gap: var(--xaura-space-3);
75
+ margin-left: auto;
76
+ }
@@ -0,0 +1,34 @@
1
+ /* ============================================================
2
+ PAGINATION
3
+ ============================================================ */
4
+ .xaura-pagination {
5
+ display: flex;
6
+ align-items: center;
7
+ gap: var(--xaura-space-1);
8
+ }
9
+ .xaura-page-btn {
10
+ width: 36px; height: 36px;
11
+ border-radius: var(--xaura-radius-md);
12
+ background: var(--xaura-surface-2);
13
+ border: var(--xaura-border);
14
+ color: var(--xaura-text-muted);
15
+ cursor: pointer;
16
+ display: flex;
17
+ align-items: center;
18
+ justify-content: center;
19
+ font-size: 0.875rem;
20
+ transition: var(--xaura-transition);
21
+ font-family: var(--font-ui);
22
+ }
23
+ .xaura-page-btn:hover {
24
+ color: var(--xaura-energy);
25
+ border-color: var(--xaura-energy);
26
+ background: rgba(0,229,255,0.07);
27
+ }
28
+ .xaura-page-btn.active {
29
+ background: var(--xaura-energy);
30
+ color: var(--xaura-dark);
31
+ border-color: var(--xaura-energy);
32
+ font-weight: 700;
33
+ box-shadow: var(--xaura-glow-sm);
34
+ }
@@ -0,0 +1,28 @@
1
+ /* ============================================================
2
+ PROGRESS
3
+ ============================================================ */
4
+ .xaura-progress {
5
+ height: 8px;
6
+ background: var(--xaura-surface-3);
7
+ border-radius: var(--xaura-radius-full);
8
+ overflow: hidden;
9
+ position: relative;
10
+ }
11
+ .xaura-progress-bar {
12
+ height: 100%;
13
+ border-radius: var(--xaura-radius-full);
14
+ background: var(--xaura-gradient-energy);
15
+ box-shadow: 0 0 8px var(--xaura-energy);
16
+ transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1);
17
+ position: relative;
18
+ }
19
+ .xaura-progress-bar::after {
20
+ content: '';
21
+ position: absolute;
22
+ top: 0; right: 0;
23
+ width: 40px; height: 100%;
24
+ background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4));
25
+ animation: xaura-shimmer 1.5s infinite;
26
+ }
27
+ .xaura-progress-sm { height: 4px; }
28
+ .xaura-progress-lg { height: 12px; }
@@ -0,0 +1,51 @@
1
+ /* ============================================================
2
+ SIDEBAR
3
+ ============================================================ */
4
+ .xaura-sidebar {
5
+ width: 260px;
6
+ height: 100vh;
7
+ background: var(--xaura-surface-1);
8
+ border-right: var(--xaura-border);
9
+ padding: var(--xaura-space-6) var(--xaura-space-4);
10
+ display: flex;
11
+ flex-direction: column;
12
+ gap: var(--xaura-space-2);
13
+ position: sticky;
14
+ top: 0;
15
+ overflow-y: auto;
16
+ }
17
+
18
+ .xaura-sidebar-item {
19
+ display: flex;
20
+ align-items: center;
21
+ gap: var(--xaura-space-3);
22
+ padding: 10px var(--xaura-space-3);
23
+ border-radius: var(--xaura-radius-md);
24
+ color: var(--xaura-text-muted);
25
+ text-decoration: none;
26
+ font-size: 0.875rem;
27
+ font-weight: 500;
28
+ transition: var(--xaura-transition);
29
+ cursor: pointer;
30
+ border: 1px solid transparent;
31
+ }
32
+ .xaura-sidebar-item:hover {
33
+ color: var(--xaura-energy);
34
+ background: rgba(0,229,255,0.07);
35
+ }
36
+ .xaura-sidebar-item.active {
37
+ color: var(--xaura-energy);
38
+ background: rgba(0,229,255,0.1);
39
+ border-color: rgba(0,229,255,0.2);
40
+ box-shadow: inset 3px 0 0 var(--xaura-energy);
41
+ }
42
+
43
+ .xaura-sidebar-section {
44
+ font-family: var(--font-power);
45
+ font-size: 0.65rem;
46
+ letter-spacing: 0.12em;
47
+ text-transform: uppercase;
48
+ color: var(--xaura-text-dim);
49
+ padding: var(--xaura-space-4) var(--xaura-space-3) var(--xaura-space-2);
50
+ margin-top: var(--xaura-space-2);
51
+ }