@xenterprises/nuxt-x-auth-better 0.2.2 → 0.2.5

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.
@@ -6,37 +6,6 @@
6
6
  outline-offset: 2px;
7
7
  }
8
8
 
9
- .password-strength {
10
- display: flex;
11
- gap: 0.25rem;
12
- margin-top: 0.5rem;
13
- }
14
-
15
- .password-strength__bar {
16
- flex: 1;
17
- height: 3px;
18
- border-radius: 9999px;
19
- background: rgb(var(--color-neutral-200));
20
- transition: background 0.2s ease;
21
- }
22
-
23
- .dark .password-strength__bar {
24
- background: rgb(var(--color-neutral-800));
25
- }
26
-
27
- .password-strength[data-strength="weak"] .password-strength__bar:nth-child(1) {
28
- background: rgb(var(--color-error-500));
29
- }
30
-
31
- .password-strength[data-strength="medium"] .password-strength__bar:nth-child(1),
32
- .password-strength[data-strength="medium"] .password-strength__bar:nth-child(2) {
33
- background: rgb(var(--color-warning-500));
34
- }
35
-
36
- .password-strength[data-strength="strong"] .password-strength__bar {
37
- background: rgb(var(--color-success-500));
38
- }
39
-
40
9
  @keyframes skeleton-pulse {
41
10
  0%, 100% {
42
11
  opacity: 1;
@@ -119,3 +119,36 @@ async function handleOAuth(providerId) {
119
119
  await loginWithProvider(providerId)
120
120
  }
121
121
  </script>
122
+
123
+ <style scoped>
124
+ .password-strength {
125
+ display: flex;
126
+ gap: 0.25rem;
127
+ margin-top: 0.5rem;
128
+ }
129
+
130
+ .password-strength__bar {
131
+ flex: 1;
132
+ height: 3px;
133
+ border-radius: 9999px;
134
+ background: rgb(var(--color-neutral-200));
135
+ transition: background 0.2s ease;
136
+ }
137
+
138
+ .dark .password-strength__bar {
139
+ background: rgb(var(--color-neutral-800));
140
+ }
141
+
142
+ .password-strength[data-strength="weak"] .password-strength__bar:nth-child(1) {
143
+ background: rgb(var(--color-error-500));
144
+ }
145
+
146
+ .password-strength[data-strength="medium"] .password-strength__bar:nth-child(1),
147
+ .password-strength[data-strength="medium"] .password-strength__bar:nth-child(2) {
148
+ background: rgb(var(--color-warning-500));
149
+ }
150
+
151
+ .password-strength[data-strength="strong"] .password-strength__bar {
152
+ background: rgb(var(--color-success-500));
153
+ }
154
+ </style>
@@ -220,4 +220,76 @@ onMounted(() => {
220
220
  .lanyard-hole {
221
221
  box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.4);
222
222
  }
223
+
224
+ @keyframes skeleton-pulse {
225
+ 0%, 100% { opacity: 1; }
226
+ 50% { opacity: 0.5; }
227
+ }
228
+
229
+ .skeleton {
230
+ animation: skeleton-pulse 1.5s ease-in-out infinite;
231
+ background: rgb(var(--color-neutral-200));
232
+ border-radius: 0.375rem;
233
+ }
234
+
235
+ .dark .skeleton {
236
+ background: rgb(var(--color-neutral-800));
237
+ }
238
+
239
+ @keyframes shake {
240
+ 0%, 100% { transform: translateX(0); }
241
+ 10%, 30%, 50%, 70%, 90% { transform: translateX(-4px); }
242
+ 20%, 40%, 60%, 80% { transform: translateX(4px); }
243
+ }
244
+
245
+ .auth-error {
246
+ animation: shake 0.5s ease-in-out;
247
+ }
248
+
249
+ @keyframes checkmark {
250
+ 0% { stroke-dashoffset: 100; }
251
+ 100% { stroke-dashoffset: 0; }
252
+ }
253
+
254
+ .auth-success-check {
255
+ stroke-dasharray: 100;
256
+ stroke-dashoffset: 100;
257
+ animation: checkmark 0.5s ease-out forwards;
258
+ }
259
+
260
+ .page-enter-active,
261
+ .page-leave-active {
262
+ transition: opacity 0.3s ease, transform 0.3s ease;
263
+ }
264
+
265
+ .page-enter-from {
266
+ opacity: 0;
267
+ transform: translateY(10px);
268
+ }
269
+
270
+ .page-leave-to {
271
+ opacity: 0;
272
+ transform: translateY(-10px);
273
+ }
274
+
275
+ @media (prefers-reduced-motion: reduce) {
276
+ *,
277
+ *::before,
278
+ *::after {
279
+ animation-duration: 0.01ms !important;
280
+ animation-iteration-count: 1 !important;
281
+ transition-duration: 0.01ms !important;
282
+ }
283
+ }
284
+
285
+ @media print {
286
+ .auth-layout {
287
+ background: white !important;
288
+ }
289
+
290
+ .auth-bg,
291
+ .auth-hero {
292
+ display: none !important;
293
+ }
294
+ }
223
295
  </style>
package/nuxt.config.ts CHANGED
@@ -1,17 +1,19 @@
1
+ import { fileURLToPath } from "url";
2
+ import { dirname, resolve } from 'path';
3
+ const __filename = fileURLToPath(import.meta.url);
4
+ const __dirname = dirname(__filename);
5
+
1
6
  export default defineNuxtConfig({
2
- ssr: false,
3
- devtools: { enabled: false },
4
7
 
5
8
  modules: ["@nuxt/ui"],
6
9
 
7
- css: ["app/assets/css/nuxt-x-auth.css"],
8
-
9
- ui: {
10
- colors: {
11
- primary: "blue",
12
- neutral: "cool",
13
- },
14
- },
10
+ css: [resolve(__dirname, 'app/assets/css/nuxt-x-auth.css')],
11
+ // ui: {
12
+ // colors: {
13
+ // primary: "blue",
14
+ // neutral: "cool",
15
+ // },
16
+ // },
15
17
 
16
18
  runtimeConfig: {
17
19
  public: {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@xenterprises/nuxt-x-auth-better",
3
3
  "type": "module",
4
- "version": "0.2.2",
4
+ "version": "0.2.5",
5
5
  "description": "BetterAuth authentication layer for Nuxt",
6
6
  "license": "UNLICENSED",
7
7
  "author": "X Enterprises",