tax4all-components 0.1.13 → 0.1.14
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/deploy/dist/index.js +178 -130
- package/deploy/dist/index.umd.cjs +1 -1
- package/deploy/dist/src/index.d.ts +2 -1
- package/deploy/dist/style.css +1 -1
- package/package.json +1 -1
package/deploy/dist/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
const
|
|
1
|
+
import { defineComponent as g, computed as b, openBlock as r, createElementBlock as u, normalizeClass as f, createElementVNode as s, createCommentVNode as _, toDisplayString as $, ref as k, onMounted as T, createTextVNode as x, watch as I, createVNode as h, createStaticVNode as A, Fragment as E, renderList as P } from "vue";
|
|
2
|
+
const M = ["disabled"], N = {
|
|
3
3
|
key: 0,
|
|
4
4
|
class: "spinner"
|
|
5
|
-
},
|
|
5
|
+
}, F = {
|
|
6
6
|
key: 2,
|
|
7
7
|
class: "btn-label"
|
|
8
|
-
},
|
|
8
|
+
}, z = {
|
|
9
9
|
key: 4,
|
|
10
10
|
class: "btn-badge"
|
|
11
|
-
},
|
|
11
|
+
}, W = ["disabled"], L = /* @__PURE__ */ g({
|
|
12
12
|
__name: "BaseButton",
|
|
13
13
|
props: {
|
|
14
14
|
label: {},
|
|
@@ -30,7 +30,7 @@ const z = ["disabled"], N = {
|
|
|
30
30
|
function t() {
|
|
31
31
|
!e.disabled && !e.loading && l("click");
|
|
32
32
|
}
|
|
33
|
-
const
|
|
33
|
+
const o = b(() => e.label ? e.iconPosition : "left"), d = b(() => [
|
|
34
34
|
`variant-${e.variant}`,
|
|
35
35
|
`size-${e.size}`,
|
|
36
36
|
`state-${e.state}`,
|
|
@@ -39,7 +39,7 @@ const z = ["disabled"], N = {
|
|
|
39
39
|
disabled: e.disabled
|
|
40
40
|
}
|
|
41
41
|
]);
|
|
42
|
-
return (
|
|
42
|
+
return (c, n) => (r(), u("div", {
|
|
43
43
|
class: f(["base-button-wrapper", { "full-width": e.fullWidth, split: e.split }])
|
|
44
44
|
}, [
|
|
45
45
|
s("button", {
|
|
@@ -47,37 +47,37 @@ const z = ["disabled"], N = {
|
|
|
47
47
|
disabled: a.disabled || a.loading,
|
|
48
48
|
onClick: t
|
|
49
49
|
}, [
|
|
50
|
-
a.loading ? (
|
|
51
|
-
a.icon &&
|
|
50
|
+
a.loading ? (r(), u("span", N)) : _("", !0),
|
|
51
|
+
a.icon && o.value === "left" && !a.loading ? (r(), u("i", {
|
|
52
52
|
key: 1,
|
|
53
53
|
class: f([a.icon, "btn-icon"])
|
|
54
54
|
}, null, 2)) : _("", !0),
|
|
55
|
-
a.label ? (
|
|
56
|
-
a.icon &&
|
|
55
|
+
a.label ? (r(), u("span", F, $(a.label), 1)) : _("", !0),
|
|
56
|
+
a.icon && o.value === "right" && !a.loading ? (r(), u("i", {
|
|
57
57
|
key: 3,
|
|
58
58
|
class: f([a.icon, "btn-icon"])
|
|
59
59
|
}, null, 2)) : _("", !0),
|
|
60
|
-
a.badge !== void 0 ? (
|
|
61
|
-
], 10,
|
|
62
|
-
a.split ? (
|
|
60
|
+
a.badge !== void 0 ? (r(), u("span", z, $(a.badge), 1)) : _("", !0)
|
|
61
|
+
], 10, M),
|
|
62
|
+
a.split ? (r(), u("button", {
|
|
63
63
|
key: 0,
|
|
64
64
|
class: f(["base-button split-button", d.value]),
|
|
65
65
|
disabled: a.disabled,
|
|
66
|
-
onClick:
|
|
67
|
-
}, [...
|
|
66
|
+
onClick: n[0] || (n[0] = (v) => c.$emit("split-click"))
|
|
67
|
+
}, [...n[1] || (n[1] = [
|
|
68
68
|
s("i", { class: "bi bi-chevron-down" }, null, -1)
|
|
69
|
-
])], 10,
|
|
69
|
+
])], 10, W)) : _("", !0)
|
|
70
70
|
], 2));
|
|
71
71
|
}
|
|
72
|
-
}),
|
|
72
|
+
}), y = (a, i) => {
|
|
73
73
|
const e = a.__vccOpts || a;
|
|
74
74
|
for (const [l, t] of i)
|
|
75
75
|
e[l] = t;
|
|
76
76
|
return e;
|
|
77
|
-
},
|
|
77
|
+
}, S = /* @__PURE__ */ y(L, [["__scopeId", "data-v-0ce8be12"]]), U = {
|
|
78
78
|
key: 0,
|
|
79
79
|
class: "base-input__label"
|
|
80
|
-
}, D = ["value", "placeholder", "readonly", "disabled", "type"], O = /* @__PURE__ */
|
|
80
|
+
}, D = ["value", "placeholder", "readonly", "disabled", "type"], O = /* @__PURE__ */ g({
|
|
81
81
|
__name: "BaseInput",
|
|
82
82
|
props: {
|
|
83
83
|
modelValue: {},
|
|
@@ -93,24 +93,24 @@ const z = ["disabled"], N = {
|
|
|
93
93
|
},
|
|
94
94
|
emits: ["update:modelValue"],
|
|
95
95
|
setup(a, { emit: i }) {
|
|
96
|
-
const e = a, l = i, t =
|
|
97
|
-
function
|
|
98
|
-
const
|
|
99
|
-
l("update:modelValue",
|
|
96
|
+
const e = a, l = i, t = k(e.state);
|
|
97
|
+
function o(C) {
|
|
98
|
+
const V = C.target;
|
|
99
|
+
l("update:modelValue", V.value);
|
|
100
100
|
}
|
|
101
101
|
function d() {
|
|
102
102
|
e.disabled || (t.value = "focus");
|
|
103
103
|
}
|
|
104
|
-
function
|
|
104
|
+
function c() {
|
|
105
105
|
e.disabled || (t.value = "default");
|
|
106
106
|
}
|
|
107
|
-
function
|
|
107
|
+
function n() {
|
|
108
108
|
e.disabled || t.value !== "focus" && (t.value = "hover");
|
|
109
109
|
}
|
|
110
|
-
function
|
|
110
|
+
function v() {
|
|
111
111
|
e.disabled || t.value !== "focus" && (t.value = "default");
|
|
112
112
|
}
|
|
113
|
-
const
|
|
113
|
+
const m = b(() => [
|
|
114
114
|
"base-input",
|
|
115
115
|
`base-input--${e.variant}`,
|
|
116
116
|
`base-input--${e.size}`,
|
|
@@ -119,27 +119,27 @@ const z = ["disabled"], N = {
|
|
|
119
119
|
"base-input--full": e.fullWidth,
|
|
120
120
|
"base-input--disabled": e.disabled
|
|
121
121
|
}
|
|
122
|
-
]),
|
|
123
|
-
return (
|
|
124
|
-
class: f(
|
|
122
|
+
]), p = b(() => ["base-input__field"]);
|
|
123
|
+
return (C, V) => (r(), u("div", {
|
|
124
|
+
class: f(m.value)
|
|
125
125
|
}, [
|
|
126
|
-
a.label ? (
|
|
126
|
+
a.label ? (r(), u("label", U, $(a.label), 1)) : _("", !0),
|
|
127
127
|
s("input", {
|
|
128
128
|
value: a.modelValue,
|
|
129
129
|
placeholder: a.placeholder,
|
|
130
130
|
readonly: a.readonly,
|
|
131
131
|
disabled: a.disabled,
|
|
132
|
-
class: f(
|
|
132
|
+
class: f(p.value),
|
|
133
133
|
type: a.type,
|
|
134
|
-
onInput:
|
|
134
|
+
onInput: o,
|
|
135
135
|
onFocus: d,
|
|
136
|
-
onBlur:
|
|
137
|
-
onMouseenter:
|
|
138
|
-
onMouseleave:
|
|
136
|
+
onBlur: c,
|
|
137
|
+
onMouseenter: n,
|
|
138
|
+
onMouseleave: v
|
|
139
139
|
}, null, 42, D)
|
|
140
140
|
], 2));
|
|
141
141
|
}
|
|
142
|
-
}),
|
|
142
|
+
}), w = /* @__PURE__ */ y(O, [["__scopeId", "data-v-d79f0773"]]), R = { class: "base-snackbar__icon" }, H = { class: "base-snackbar__content" }, K = { class: "base-snackbar__title" }, Y = { class: "base-snackbar__message" }, be = /* @__PURE__ */ g({
|
|
143
143
|
__name: "BaseSnackbar",
|
|
144
144
|
props: {
|
|
145
145
|
title: {},
|
|
@@ -149,49 +149,49 @@ const z = ["disabled"], N = {
|
|
|
149
149
|
},
|
|
150
150
|
emits: ["close"],
|
|
151
151
|
setup(a, { emit: i }) {
|
|
152
|
-
const e = a, l = i, t =
|
|
153
|
-
let
|
|
152
|
+
const e = a, l = i, t = k(!1);
|
|
153
|
+
let o = null;
|
|
154
154
|
const d = b(() => ({
|
|
155
155
|
success: "bi bi-check-circle-fill",
|
|
156
156
|
warning: "bi bi-exclamation-triangle-fill",
|
|
157
157
|
critical: "bi bi-x-circle-fill"
|
|
158
158
|
})[e.variant]);
|
|
159
|
-
function
|
|
160
|
-
|
|
159
|
+
function c() {
|
|
160
|
+
o = setTimeout(() => {
|
|
161
161
|
t.value = !0;
|
|
162
162
|
}, e.duration);
|
|
163
163
|
}
|
|
164
|
-
function
|
|
165
|
-
|
|
164
|
+
function n(m) {
|
|
165
|
+
m.propertyName === "opacity" && t.value && l("close");
|
|
166
166
|
}
|
|
167
|
-
function
|
|
168
|
-
|
|
167
|
+
function v() {
|
|
168
|
+
o && clearTimeout(o), t.value = !0;
|
|
169
169
|
}
|
|
170
|
-
return
|
|
171
|
-
|
|
172
|
-
}), (
|
|
170
|
+
return T(() => {
|
|
171
|
+
c();
|
|
172
|
+
}), (m, p) => (r(), u("div", {
|
|
173
173
|
class: f(["base-snackbar", [`base-snackbar--${a.variant}`, { "base-snackbar--hide": t.value }]]),
|
|
174
|
-
onTransitionend:
|
|
174
|
+
onTransitionend: n
|
|
175
175
|
}, [
|
|
176
|
-
s("div",
|
|
176
|
+
s("div", R, [
|
|
177
177
|
s("i", {
|
|
178
178
|
class: f(d.value)
|
|
179
179
|
}, null, 2)
|
|
180
180
|
]),
|
|
181
|
-
s("div",
|
|
182
|
-
s("strong",
|
|
183
|
-
s("span",
|
|
181
|
+
s("div", H, [
|
|
182
|
+
s("strong", K, $(a.title), 1),
|
|
183
|
+
s("span", Y, $(a.message), 1)
|
|
184
184
|
]),
|
|
185
185
|
s("button", {
|
|
186
186
|
class: "base-snackbar__close",
|
|
187
|
-
onClick:
|
|
188
|
-
}, [...
|
|
187
|
+
onClick: v
|
|
188
|
+
}, [...p[0] || (p[0] = [
|
|
189
189
|
s("i", { class: "bi bi-x-lg" }, null, -1),
|
|
190
|
-
|
|
190
|
+
x(" Fechar ", -1)
|
|
191
191
|
])])
|
|
192
192
|
], 34));
|
|
193
193
|
}
|
|
194
|
-
}),
|
|
194
|
+
}), j = /* @__PURE__ */ g({
|
|
195
195
|
__name: "BaseAuthProviderChip",
|
|
196
196
|
props: {
|
|
197
197
|
provider: {},
|
|
@@ -203,7 +203,7 @@ const z = ["disabled"], N = {
|
|
|
203
203
|
google: "Google",
|
|
204
204
|
microsoft: "Microsoft",
|
|
205
205
|
apple: "Apple"
|
|
206
|
-
})[e.provider]),
|
|
206
|
+
})[e.provider]), o = b(() => ({
|
|
207
207
|
google: "bi bi-google",
|
|
208
208
|
microsoft: "bi bi-microsoft",
|
|
209
209
|
apple: "bi bi-apple"
|
|
@@ -211,43 +211,43 @@ const z = ["disabled"], N = {
|
|
|
211
211
|
function d() {
|
|
212
212
|
l("click", e.provider);
|
|
213
213
|
}
|
|
214
|
-
return (
|
|
214
|
+
return (c, n) => (r(), u("button", {
|
|
215
215
|
class: f(["auth-chip", [`auth-chip--${a.provider}`, { "auth-chip--dark": a.dark }]]),
|
|
216
216
|
onClick: d
|
|
217
217
|
}, [
|
|
218
218
|
s("i", {
|
|
219
|
-
class: f(
|
|
219
|
+
class: f(o.value)
|
|
220
220
|
}, null, 2),
|
|
221
|
-
s("span", null,
|
|
221
|
+
s("span", null, $(t.value), 1)
|
|
222
222
|
], 2));
|
|
223
223
|
}
|
|
224
|
-
}),
|
|
224
|
+
}), B = /* @__PURE__ */ y(j, [["__scopeId", "data-v-b6215df6"]]), q = {
|
|
225
225
|
SITE_KEY: "0x4AAAAAACpnTZO7eMd0cjEL"
|
|
226
|
-
},
|
|
226
|
+
}, G = { class: "captcha-wrapper" }, Z = /* @__PURE__ */ g({
|
|
227
227
|
__name: "TurnsTile",
|
|
228
228
|
setup(a) {
|
|
229
|
-
const i =
|
|
229
|
+
const i = k(null);
|
|
230
230
|
function e(l) {
|
|
231
231
|
console.log("token captcha:", l);
|
|
232
232
|
}
|
|
233
|
-
return
|
|
233
|
+
return T(() => {
|
|
234
234
|
const l = setInterval(() => {
|
|
235
235
|
window.turnstile && i.value && (window.turnstile.render(i.value, {
|
|
236
|
-
sitekey:
|
|
236
|
+
sitekey: q.SITE_KEY,
|
|
237
237
|
callback: e
|
|
238
238
|
}), clearInterval(l));
|
|
239
239
|
}, 100);
|
|
240
|
-
}), (l, t) => (
|
|
240
|
+
}), (l, t) => (r(), u("div", G, [
|
|
241
241
|
s("div", {
|
|
242
242
|
ref_key: "captcha",
|
|
243
243
|
ref: i
|
|
244
244
|
}, null, 512)
|
|
245
245
|
]));
|
|
246
246
|
}
|
|
247
|
-
}), J = /* @__PURE__ */
|
|
247
|
+
}), J = /* @__PURE__ */ y(Z, [["__scopeId", "data-v-b4abb288"]]), Q = { class: "login-form__field-wrapper" }, X = {
|
|
248
248
|
key: 0,
|
|
249
249
|
class: "login-form__error-msg"
|
|
250
|
-
}, ee = { class: "login-form__providers" }, ae = /* @__PURE__ */
|
|
250
|
+
}, ee = { class: "login-form__providers" }, ae = /* @__PURE__ */ g({
|
|
251
251
|
__name: "LoginForm",
|
|
252
252
|
props: {
|
|
253
253
|
dark: { type: Boolean, default: !1 },
|
|
@@ -255,47 +255,47 @@ const z = ["disabled"], N = {
|
|
|
255
255
|
},
|
|
256
256
|
emits: ["submit", "provider", "forgot-password"],
|
|
257
257
|
setup(a, { emit: i }) {
|
|
258
|
-
const e = i, l =
|
|
259
|
-
|
|
260
|
-
|
|
258
|
+
const e = i, l = k(""), t = k(""), o = k(!1);
|
|
259
|
+
I(l, (v) => {
|
|
260
|
+
v.trim().length >= 3 && (o.value = !1);
|
|
261
261
|
});
|
|
262
262
|
function d() {
|
|
263
|
-
|
|
263
|
+
o.value = !1, e("submit", {
|
|
264
264
|
username: l.value,
|
|
265
265
|
password: t.value
|
|
266
266
|
});
|
|
267
267
|
}
|
|
268
|
-
function
|
|
269
|
-
|
|
268
|
+
function c(v) {
|
|
269
|
+
v.preventDefault(), l.value.trim().length >= 3 ? (o.value = !1, e("forgot-password", l.value)) : o.value = !0;
|
|
270
270
|
}
|
|
271
|
-
function
|
|
272
|
-
e("provider",
|
|
271
|
+
function n(v) {
|
|
272
|
+
e("provider", v);
|
|
273
273
|
}
|
|
274
|
-
return (
|
|
274
|
+
return (v, m) => (r(), u("div", {
|
|
275
275
|
class: f(["login-form", { "login-form--dark": a.dark }])
|
|
276
276
|
}, [
|
|
277
|
-
|
|
278
|
-
|
|
277
|
+
m[2] || (m[2] = s("h2", { class: "login-form__title" }, "Acessar Sistema", -1)),
|
|
278
|
+
m[3] || (m[3] = s("p", { class: "login-form__subtitle" }, "Digite seu login e senha para continuar", -1)),
|
|
279
279
|
s("div", Q, [
|
|
280
|
-
|
|
280
|
+
h(w, {
|
|
281
281
|
modelValue: l.value,
|
|
282
|
-
"onUpdate:modelValue":
|
|
282
|
+
"onUpdate:modelValue": m[0] || (m[0] = (p) => l.value = p),
|
|
283
283
|
label: "Login",
|
|
284
284
|
placeholder: "Seu login",
|
|
285
285
|
fullWidth: ""
|
|
286
286
|
}, null, 8, ["modelValue"]),
|
|
287
|
-
|
|
287
|
+
o.value ? (r(), u("span", X, " Por favor, informe um login válido para recuperar a senha. ")) : _("", !0)
|
|
288
288
|
]),
|
|
289
|
-
|
|
289
|
+
h(w, {
|
|
290
290
|
modelValue: t.value,
|
|
291
|
-
"onUpdate:modelValue":
|
|
291
|
+
"onUpdate:modelValue": m[1] || (m[1] = (p) => t.value = p),
|
|
292
292
|
label: "Senha",
|
|
293
293
|
placeholder: "Sua senha",
|
|
294
294
|
type: "password",
|
|
295
295
|
fullWidth: ""
|
|
296
296
|
}, null, 8, ["modelValue"]),
|
|
297
|
-
|
|
298
|
-
|
|
297
|
+
h(J),
|
|
298
|
+
h(S, {
|
|
299
299
|
label: "Entrar",
|
|
300
300
|
variant: "solid",
|
|
301
301
|
loading: a.loading,
|
|
@@ -305,31 +305,31 @@ const z = ["disabled"], N = {
|
|
|
305
305
|
s("a", {
|
|
306
306
|
href: "#",
|
|
307
307
|
class: "login-form__forgot-link",
|
|
308
|
-
onClick:
|
|
308
|
+
onClick: c
|
|
309
309
|
}, " Esqueci minha senha "),
|
|
310
|
-
|
|
310
|
+
m[4] || (m[4] = s("div", { class: "login-form__divider" }, [
|
|
311
311
|
s("span", null, "OU CONTINUE COM")
|
|
312
312
|
], -1)),
|
|
313
313
|
s("div", ee, [
|
|
314
|
-
|
|
314
|
+
h(B, {
|
|
315
315
|
provider: "google",
|
|
316
316
|
dark: a.dark,
|
|
317
|
-
onClick:
|
|
317
|
+
onClick: n
|
|
318
318
|
}, null, 8, ["dark"]),
|
|
319
|
-
|
|
319
|
+
h(B, {
|
|
320
320
|
provider: "microsoft",
|
|
321
321
|
dark: a.dark,
|
|
322
|
-
onClick:
|
|
322
|
+
onClick: n
|
|
323
323
|
}, null, 8, ["dark"]),
|
|
324
|
-
|
|
324
|
+
h(B, {
|
|
325
325
|
provider: "apple",
|
|
326
326
|
dark: a.dark,
|
|
327
|
-
onClick:
|
|
327
|
+
onClick: n
|
|
328
328
|
}, null, 8, ["dark"])
|
|
329
329
|
])
|
|
330
330
|
], 2));
|
|
331
331
|
}
|
|
332
|
-
}),
|
|
332
|
+
}), he = /* @__PURE__ */ y(ae, [["__scopeId", "data-v-24aad6eb"]]), le = /* @__PURE__ */ g({
|
|
333
333
|
__name: "BaseThemeToggle",
|
|
334
334
|
props: {
|
|
335
335
|
modelValue: { type: Boolean, default: !1 },
|
|
@@ -344,7 +344,7 @@ const z = ["disabled"], N = {
|
|
|
344
344
|
const d = !e.modelValue;
|
|
345
345
|
l("update:modelValue", d), l("change", d);
|
|
346
346
|
}
|
|
347
|
-
const
|
|
347
|
+
const o = b(() => [
|
|
348
348
|
"theme-toggle",
|
|
349
349
|
`theme-toggle--${e.size}`,
|
|
350
350
|
{
|
|
@@ -352,14 +352,14 @@ const z = ["disabled"], N = {
|
|
|
352
352
|
"theme-toggle--disabled": e.disabled
|
|
353
353
|
}
|
|
354
354
|
]);
|
|
355
|
-
return (d,
|
|
356
|
-
class: f(
|
|
355
|
+
return (d, c) => (r(), u("div", {
|
|
356
|
+
class: f(o.value),
|
|
357
357
|
onClick: t
|
|
358
|
-
}, [...
|
|
359
|
-
|
|
358
|
+
}, [...c[0] || (c[0] = [
|
|
359
|
+
A('<div class="theme-toggle__icon theme-toggle__icon--left" data-v-af2312ab><i class="bi bi-sun-fill" data-v-af2312ab></i></div><div class="theme-toggle__track" data-v-af2312ab><div class="theme-toggle__thumb" data-v-af2312ab></div></div><div class="theme-toggle__icon theme-toggle__icon--right" data-v-af2312ab><i class="bi bi-moon-fill" data-v-af2312ab></i></div>', 3)
|
|
360
360
|
])], 2));
|
|
361
361
|
}
|
|
362
|
-
}), te = /* @__PURE__ */
|
|
362
|
+
}), te = /* @__PURE__ */ y(le, [["__scopeId", "data-v-af2312ab"]]), se = { class: "app-header__left" }, oe = ["src"], ne = { class: "app-header__right" }, ie = { class: "app-header__theme" }, de = ["src"], re = /* @__PURE__ */ g({
|
|
363
363
|
__name: "BaseHeader",
|
|
364
364
|
props: {
|
|
365
365
|
userName: {},
|
|
@@ -371,14 +371,14 @@ const z = ["disabled"], N = {
|
|
|
371
371
|
emits: ["update:theme", "profile-click"],
|
|
372
372
|
setup(a, { emit: i }) {
|
|
373
373
|
const e = a, l = i;
|
|
374
|
-
function t(
|
|
375
|
-
l("update:theme",
|
|
374
|
+
function t(c) {
|
|
375
|
+
l("update:theme", c);
|
|
376
376
|
}
|
|
377
|
-
function
|
|
377
|
+
function o() {
|
|
378
378
|
l("profile-click");
|
|
379
379
|
}
|
|
380
380
|
const d = b(() => ["app-header", `app-header--${e.mode}`]);
|
|
381
|
-
return (
|
|
381
|
+
return (c, n) => (r(), u("header", {
|
|
382
382
|
class: f(d.value)
|
|
383
383
|
}, [
|
|
384
384
|
s("div", se, [
|
|
@@ -386,12 +386,12 @@ const z = ["disabled"], N = {
|
|
|
386
386
|
src: e.logo,
|
|
387
387
|
class: "app-header__logo",
|
|
388
388
|
alt: "Tax For All"
|
|
389
|
-
}, null, 8,
|
|
389
|
+
}, null, 8, oe)
|
|
390
390
|
]),
|
|
391
|
-
s("div",
|
|
391
|
+
s("div", ne, [
|
|
392
392
|
s("div", ie, [
|
|
393
|
-
|
|
394
|
-
|
|
393
|
+
n[0] || (n[0] = s("span", { class: "app-header__theme-label" }, " Tema ", -1)),
|
|
394
|
+
h(te, {
|
|
395
395
|
"model-value": e.theme,
|
|
396
396
|
size: "sm",
|
|
397
397
|
"onUpdate:modelValue": t
|
|
@@ -399,7 +399,7 @@ const z = ["disabled"], N = {
|
|
|
399
399
|
]),
|
|
400
400
|
s("button", {
|
|
401
401
|
class: "app-header__profile",
|
|
402
|
-
onClick:
|
|
402
|
+
onClick: o
|
|
403
403
|
}, [
|
|
404
404
|
s("img", {
|
|
405
405
|
src: e.userAvatar,
|
|
@@ -409,7 +409,7 @@ const z = ["disabled"], N = {
|
|
|
409
409
|
])
|
|
410
410
|
], 2));
|
|
411
411
|
}
|
|
412
|
-
}),
|
|
412
|
+
}), ge = /* @__PURE__ */ y(re, [["__scopeId", "data-v-d01c874c"]]), ue = ["onClick"], ce = /* @__PURE__ */ g({
|
|
413
413
|
__name: "BaseDropdown",
|
|
414
414
|
props: {
|
|
415
415
|
items: {},
|
|
@@ -421,29 +421,77 @@ const z = ["disabled"], N = {
|
|
|
421
421
|
function t(d) {
|
|
422
422
|
l("action", d.key);
|
|
423
423
|
}
|
|
424
|
-
const
|
|
425
|
-
return (d,
|
|
426
|
-
class: f(
|
|
424
|
+
const o = b(() => ["dropdown", `dropdown--${e.mode}`]);
|
|
425
|
+
return (d, c) => (r(), u("div", {
|
|
426
|
+
class: f(o.value)
|
|
427
427
|
}, [
|
|
428
|
-
(
|
|
429
|
-
key:
|
|
430
|
-
class: f(["dropdown__item", { danger:
|
|
431
|
-
onClick: (
|
|
428
|
+
(r(!0), u(E, null, P(e.items, (n) => (r(), u("button", {
|
|
429
|
+
key: n.key,
|
|
430
|
+
class: f(["dropdown__item", { danger: n.danger }]),
|
|
431
|
+
onClick: (v) => t(n)
|
|
432
432
|
}, [
|
|
433
433
|
s("i", {
|
|
434
|
-
class: f(
|
|
434
|
+
class: f(n.icon)
|
|
435
435
|
}, null, 2),
|
|
436
|
-
s("span", null,
|
|
437
|
-
], 10,
|
|
436
|
+
s("span", null, $(n.label), 1)
|
|
437
|
+
], 10, ue))), 128))
|
|
438
438
|
], 2));
|
|
439
439
|
}
|
|
440
|
-
}),
|
|
440
|
+
}), _e = /* @__PURE__ */ y(ce, [["__scopeId", "data-v-8ab8c529"]]), me = { class: "reset-password-form" }, pe = {
|
|
441
|
+
key: 0,
|
|
442
|
+
class: "reset-password-form__error"
|
|
443
|
+
}, fe = /* @__PURE__ */ g({
|
|
444
|
+
__name: "ResetPassForm",
|
|
445
|
+
props: {
|
|
446
|
+
loading: { type: Boolean, default: !1 }
|
|
447
|
+
},
|
|
448
|
+
emits: ["submit"],
|
|
449
|
+
setup(a, { emit: i }) {
|
|
450
|
+
const e = i, l = k(""), t = k(""), o = k(""), d = b(() => l.value.length >= 8), c = b(() => l.value === t.value), n = b(() => !d.value || !c.value || !t.value);
|
|
451
|
+
I([l, t], () => {
|
|
452
|
+
l.value.length > 0 && !d.value ? o.value = "A senha deve ter no mínimo 8 caracteres." : t.value.length > 0 && !c.value ? o.value = "As senhas não coincidem." : o.value = "";
|
|
453
|
+
});
|
|
454
|
+
function v() {
|
|
455
|
+
n.value || e("submit", l.value);
|
|
456
|
+
}
|
|
457
|
+
return (m, p) => (r(), u("div", me, [
|
|
458
|
+
p[2] || (p[2] = s("h2", { class: "reset-password-form__title" }, "Redefinir Senha", -1)),
|
|
459
|
+
p[3] || (p[3] = s("p", { class: "reset-password-form__subtitle" }, "Crie uma nova senha de pelo menos 8 caracteres.", -1)),
|
|
460
|
+
h(w, {
|
|
461
|
+
modelValue: l.value,
|
|
462
|
+
"onUpdate:modelValue": p[0] || (p[0] = (C) => l.value = C),
|
|
463
|
+
label: "Nova Senha",
|
|
464
|
+
placeholder: "Mínimo 8 caracteres",
|
|
465
|
+
type: "password",
|
|
466
|
+
fullWidth: ""
|
|
467
|
+
}, null, 8, ["modelValue"]),
|
|
468
|
+
h(w, {
|
|
469
|
+
modelValue: t.value,
|
|
470
|
+
"onUpdate:modelValue": p[1] || (p[1] = (C) => t.value = C),
|
|
471
|
+
label: "Confirmar Senha",
|
|
472
|
+
placeholder: "Repita a nova senha",
|
|
473
|
+
type: "password",
|
|
474
|
+
fullWidth: ""
|
|
475
|
+
}, null, 8, ["modelValue"]),
|
|
476
|
+
o.value ? (r(), u("p", pe, $(o.value), 1)) : _("", !0),
|
|
477
|
+
h(S, {
|
|
478
|
+
label: "Salvar Nova Senha",
|
|
479
|
+
variant: "solid",
|
|
480
|
+
loading: a.loading,
|
|
481
|
+
disabled: n.value,
|
|
482
|
+
fullWidth: "",
|
|
483
|
+
onClick: v
|
|
484
|
+
}, null, 8, ["loading", "disabled"])
|
|
485
|
+
]));
|
|
486
|
+
}
|
|
487
|
+
}), ke = /* @__PURE__ */ y(fe, [["__scopeId", "data-v-e298a8ec"]]);
|
|
441
488
|
export {
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
489
|
+
S as BaseButton,
|
|
490
|
+
_e as BaseDropdown,
|
|
491
|
+
ge as BaseHeader,
|
|
492
|
+
w as BaseInput,
|
|
493
|
+
be as BaseSnackbar,
|
|
447
494
|
te as BaseThemeToggle,
|
|
448
|
-
|
|
495
|
+
he as LoginForm,
|
|
496
|
+
ke as ResetPassForm
|
|
449
497
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(m,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(m=typeof globalThis<"u"?globalThis:m||self,e(m["tax4all-components"]={},m.Vue))})(this,function(m,e){"use strict";const C=["disabled"],V={key:0,class:"spinner"},E={key:2,class:"btn-label"},y={key:4,class:"btn-badge"},N=["disabled"],$=e.defineComponent({__name:"BaseButton",props:{label:{},icon:{},iconPosition:{default:"left"},badge:{},variant:{default:"solid"},size:{default:"cozy"},state:{default:"neutral"},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},fullWidth:{type:Boolean,default:!1},split:{type:Boolean,default:!1},dropdown:{type:Boolean,default:!1}},emits:["click","split-click"],setup(t,{emit:i}){const a=t,l=i;function o(){!a.disabled&&!a.loading&&l("click")}const n=e.computed(()=>a.label?a.iconPosition:"left"),c=e.computed(()=>[`variant-${a.variant}`,`size-${a.size}`,`state-${a.state}`,{"icon-only":a.icon&&!a.label,disabled:a.disabled}]);return(d,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["base-button-wrapper",{"full-width":a.fullWidth,split:a.split}])},[e.createElementVNode("button",{class:e.normalizeClass(["base-button",c.value]),disabled:t.disabled||t.loading,onClick:o},[t.loading?(e.openBlock(),e.createElementBlock("span",V)):e.createCommentVNode("",!0),t.icon&&n.value==="left"&&!t.loading?(e.openBlock(),e.createElementBlock("i",{key:1,class:e.normalizeClass([t.icon,"btn-icon"])},null,2)):e.createCommentVNode("",!0),t.label?(e.openBlock(),e.createElementBlock("span",E,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0),t.icon&&n.value==="right"&&!t.loading?(e.openBlock(),e.createElementBlock("i",{key:3,class:e.normalizeClass([t.icon,"btn-icon"])},null,2)):e.createCommentVNode("",!0),t.badge!==void 0?(e.openBlock(),e.createElementBlock("span",y,e.toDisplayString(t.badge),1)):e.createCommentVNode("",!0)],10,C),t.split?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(["base-button split-button",c.value]),disabled:t.disabled,onClick:s[0]||(s[0]=p=>d.$emit("split-click"))},[...s[1]||(s[1]=[e.createElementVNode("i",{class:"bi bi-chevron-down"},null,-1)])],10,N)):e.createCommentVNode("",!0)],2))}}),f=(t,i)=>{const a=t.__vccOpts||t;for(const[l,o]of i)a[l]=o;return a},h=f($,[["__scopeId","data-v-0ce8be12"]]),w={key:0,class:"base-input__label"},T=["value","placeholder","readonly","disabled","type"],b=f(e.defineComponent({__name:"BaseInput",props:{modelValue:{},label:{},placeholder:{},variant:{default:"outlined"},state:{default:"default"},size:{default:"md"},fullWidth:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},type:{default:"text"}},emits:["update:modelValue"],setup(t,{emit:i}){const a=t,l=i,o=e.ref(a.state);function n(k){const B=k.target;l("update:modelValue",B.value)}function c(){a.disabled||(o.value="focus")}function d(){a.disabled||(o.value="default")}function s(){a.disabled||o.value!=="focus"&&(o.value="hover")}function p(){a.disabled||o.value!=="focus"&&(o.value="default")}const r=e.computed(()=>["base-input",`base-input--${a.variant}`,`base-input--${a.size}`,`base-input--${o.value}`,{"base-input--full":a.fullWidth,"base-input--disabled":a.disabled}]),u=e.computed(()=>["base-input__field"]);return(k,B)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[t.label?(e.openBlock(),e.createElementBlock("label",w,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0),e.createElementVNode("input",{value:t.modelValue,placeholder:t.placeholder,readonly:t.readonly,disabled:t.disabled,class:e.normalizeClass(u.value),type:t.type,onInput:n,onFocus:c,onBlur:d,onMouseenter:s,onMouseleave:p},null,42,T)],2))}}),[["__scopeId","data-v-d79f0773"]]),z={class:"base-snackbar__icon"},S={class:"base-snackbar__content"},I={class:"base-snackbar__title"},x={class:"base-snackbar__message"},A=e.defineComponent({__name:"BaseSnackbar",props:{title:{},message:{},variant:{default:"success"},duration:{default:15e3}},emits:["close"],setup(t,{emit:i}){const a=t,l=i,o=e.ref(!1);let n=null;const c=e.computed(()=>({success:"bi bi-check-circle-fill",warning:"bi bi-exclamation-triangle-fill",critical:"bi bi-x-circle-fill"})[a.variant]);function d(){n=setTimeout(()=>{o.value=!0},a.duration)}function s(r){r.propertyName==="opacity"&&o.value&&l("close")}function p(){n&&clearTimeout(n),o.value=!0}return e.onMounted(()=>{d()}),(r,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["base-snackbar",[`base-snackbar--${t.variant}`,{"base-snackbar--hide":o.value}]]),onTransitionend:s},[e.createElementVNode("div",z,[e.createElementVNode("i",{class:e.normalizeClass(c.value)},null,2)]),e.createElementVNode("div",S,[e.createElementVNode("strong",I,e.toDisplayString(t.title),1),e.createElementVNode("span",x,e.toDisplayString(t.message),1)]),e.createElementVNode("button",{class:"base-snackbar__close",onClick:p},[...u[0]||(u[0]=[e.createElementVNode("i",{class:"bi bi-x-lg"},null,-1),e.createTextVNode(" Fechar ",-1)])])],34))}}),g=f(e.defineComponent({__name:"BaseAuthProviderChip",props:{provider:{},dark:{type:Boolean,default:!1}},emits:["click"],setup(t,{emit:i}){const a=t,l=i,o=e.computed(()=>({google:"Google",microsoft:"Microsoft",apple:"Apple"})[a.provider]),n=e.computed(()=>({google:"bi bi-google",microsoft:"bi bi-microsoft",apple:"bi bi-apple"})[a.provider]);function c(){l("click",a.provider)}return(d,s)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(["auth-chip",[`auth-chip--${t.provider}`,{"auth-chip--dark":t.dark}]]),onClick:c},[e.createElementVNode("i",{class:e.normalizeClass(n.value)},null,2),e.createElementVNode("span",null,e.toDisplayString(o.value),1)],2))}}),[["__scopeId","data-v-b6215df6"]]),D={SITE_KEY:"0x4AAAAAACpnTZO7eMd0cjEL"},M={class:"captcha-wrapper"},P=f(e.defineComponent({__name:"TurnsTile",setup(t){const i=e.ref(null);function a(l){console.log("token captcha:",l)}return e.onMounted(()=>{const l=setInterval(()=>{window.turnstile&&i.value&&(window.turnstile.render(i.value,{sitekey:D.SITE_KEY,callback:a}),clearInterval(l))},100)}),(l,o)=>(e.openBlock(),e.createElementBlock("div",M,[e.createElementVNode("div",{ref_key:"captcha",ref:i},null,512)]))}}),[["__scopeId","data-v-b4abb288"]]),F={class:"login-form__field-wrapper"},L={key:0,class:"login-form__error-msg"},W={class:"login-form__providers"},O=f(e.defineComponent({__name:"LoginForm",props:{dark:{type:Boolean,default:!1},loading:{type:Boolean,default:!1}},emits:["submit","provider","forgot-password"],setup(t,{emit:i}){const a=i,l=e.ref(""),o=e.ref(""),n=e.ref(!1);e.watch(l,p=>{p.trim().length>=3&&(n.value=!1)});function c(){n.value=!1,a("submit",{username:l.value,password:o.value})}function d(p){p.preventDefault(),l.value.trim().length>=3?(n.value=!1,a("forgot-password",l.value)):n.value=!0}function s(p){a("provider",p)}return(p,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["login-form",{"login-form--dark":t.dark}])},[r[2]||(r[2]=e.createElementVNode("h2",{class:"login-form__title"},"Acessar Sistema",-1)),r[3]||(r[3]=e.createElementVNode("p",{class:"login-form__subtitle"},"Digite seu login e senha para continuar",-1)),e.createElementVNode("div",F,[e.createVNode(b,{modelValue:l.value,"onUpdate:modelValue":r[0]||(r[0]=u=>l.value=u),label:"Login",placeholder:"Seu login",fullWidth:""},null,8,["modelValue"]),n.value?(e.openBlock(),e.createElementBlock("span",L," Por favor, informe um login válido para recuperar a senha. ")):e.createCommentVNode("",!0)]),e.createVNode(b,{modelValue:o.value,"onUpdate:modelValue":r[1]||(r[1]=u=>o.value=u),label:"Senha",placeholder:"Sua senha",type:"password",fullWidth:""},null,8,["modelValue"]),e.createVNode(P),e.createVNode(h,{label:"Entrar",variant:"solid",loading:t.loading,fullWidth:"",onClick:c},null,8,["loading"]),e.createElementVNode("a",{href:"#",class:"login-form__forgot-link",onClick:d}," Esqueci minha senha "),r[4]||(r[4]=e.createElementVNode("div",{class:"login-form__divider"},[e.createElementVNode("span",null,"OU CONTINUE COM")],-1)),e.createElementVNode("div",W,[e.createVNode(g,{provider:"google",dark:t.dark,onClick:s},null,8,["dark"]),e.createVNode(g,{provider:"microsoft",dark:t.dark,onClick:s},null,8,["dark"]),e.createVNode(g,{provider:"apple",dark:t.dark,onClick:s},null,8,["dark"])])],2))}}),[["__scopeId","data-v-24aad6eb"]]),_=f(e.defineComponent({__name:"BaseThemeToggle",props:{modelValue:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},size:{default:"md"}},emits:["update:modelValue","change"],setup(t,{emit:i}){const a=t,l=i;function o(){if(a.disabled)return;const c=!a.modelValue;l("update:modelValue",c),l("change",c)}const n=e.computed(()=>["theme-toggle",`theme-toggle--${a.size}`,{"theme-toggle--dark":a.modelValue,"theme-toggle--disabled":a.disabled}]);return(c,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(n.value),onClick:o},[...d[0]||(d[0]=[e.createStaticVNode('<div class="theme-toggle__icon theme-toggle__icon--left" data-v-af2312ab><i class="bi bi-sun-fill" data-v-af2312ab></i></div><div class="theme-toggle__track" data-v-af2312ab><div class="theme-toggle__thumb" data-v-af2312ab></div></div><div class="theme-toggle__icon theme-toggle__icon--right" data-v-af2312ab><i class="bi bi-moon-fill" data-v-af2312ab></i></div>',3)])],2))}}),[["__scopeId","data-v-af2312ab"]]),U={class:"app-header__left"},H=["src"],j={class:"app-header__right"},q={class:"app-header__theme"},K=["src"],Y=f(e.defineComponent({__name:"BaseHeader",props:{userName:{},userAvatar:{},logo:{},theme:{type:Boolean,default:!1},mode:{default:"light"}},emits:["update:theme","profile-click"],setup(t,{emit:i}){const a=t,l=i;function o(d){l("update:theme",d)}function n(){l("profile-click")}const c=e.computed(()=>["app-header",`app-header--${a.mode}`]);return(d,s)=>(e.openBlock(),e.createElementBlock("header",{class:e.normalizeClass(c.value)},[e.createElementVNode("div",U,[e.createElementVNode("img",{src:a.logo,class:"app-header__logo",alt:"Tax For All"},null,8,H)]),e.createElementVNode("div",j,[e.createElementVNode("div",q,[s[0]||(s[0]=e.createElementVNode("span",{class:"app-header__theme-label"}," Tema ",-1)),e.createVNode(_,{"model-value":a.theme,size:"sm","onUpdate:modelValue":o},null,8,["model-value"])]),e.createElementVNode("button",{class:"app-header__profile",onClick:n},[e.createElementVNode("img",{src:a.userAvatar,class:"app-header__avatar"},null,8,K)])])],2))}}),[["__scopeId","data-v-d01c874c"]]),G=["onClick"],R=f(e.defineComponent({__name:"BaseDropdown",props:{items:{},mode:{default:"light"}},emits:["action"],setup(t,{emit:i}){const a=t,l=i;function o(c){l("action",c.key)}const n=e.computed(()=>["dropdown",`dropdown--${a.mode}`]);return(c,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(n.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.items,s=>(e.openBlock(),e.createElementBlock("button",{key:s.key,class:e.normalizeClass(["dropdown__item",{danger:s.danger}]),onClick:p=>o(s)},[e.createElementVNode("i",{class:e.normalizeClass(s.icon)},null,2),e.createElementVNode("span",null,e.toDisplayString(s.label),1)],10,G))),128))],2))}}),[["__scopeId","data-v-8ab8c529"]]);m.BaseButton=h,m.BaseDropdown=R,m.BaseHeader=Y,m.BaseInput=b,m.BaseSnackbar=A,m.BaseThemeToggle=_,m.LoginForm=O,Object.defineProperty(m,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(p,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(p=typeof globalThis<"u"?globalThis:p||self,e(p["tax4all-components"]={},p.Vue))})(this,function(p,e){"use strict";const V=["disabled"],C={key:0,class:"spinner"},E={key:2,class:"btn-label"},N={key:4,class:"btn-badge"},y=["disabled"],$=e.defineComponent({__name:"BaseButton",props:{label:{},icon:{},iconPosition:{default:"left"},badge:{},variant:{default:"solid"},size:{default:"cozy"},state:{default:"neutral"},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},fullWidth:{type:Boolean,default:!1},split:{type:Boolean,default:!1},dropdown:{type:Boolean,default:!1}},emits:["click","split-click"],setup(t,{emit:i}){const a=t,l=i;function o(){!a.disabled&&!a.loading&&l("click")}const n=e.computed(()=>a.label?a.iconPosition:"left"),c=e.computed(()=>[`variant-${a.variant}`,`size-${a.size}`,`state-${a.state}`,{"icon-only":a.icon&&!a.label,disabled:a.disabled}]);return(d,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["base-button-wrapper",{"full-width":a.fullWidth,split:a.split}])},[e.createElementVNode("button",{class:e.normalizeClass(["base-button",c.value]),disabled:t.disabled||t.loading,onClick:o},[t.loading?(e.openBlock(),e.createElementBlock("span",C)):e.createCommentVNode("",!0),t.icon&&n.value==="left"&&!t.loading?(e.openBlock(),e.createElementBlock("i",{key:1,class:e.normalizeClass([t.icon,"btn-icon"])},null,2)):e.createCommentVNode("",!0),t.label?(e.openBlock(),e.createElementBlock("span",E,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0),t.icon&&n.value==="right"&&!t.loading?(e.openBlock(),e.createElementBlock("i",{key:3,class:e.normalizeClass([t.icon,"btn-icon"])},null,2)):e.createCommentVNode("",!0),t.badge!==void 0?(e.openBlock(),e.createElementBlock("span",N,e.toDisplayString(t.badge),1)):e.createCommentVNode("",!0)],10,V),t.split?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(["base-button split-button",c.value]),disabled:t.disabled,onClick:s[0]||(s[0]=f=>d.$emit("split-click"))},[...s[1]||(s[1]=[e.createElementVNode("i",{class:"bi bi-chevron-down"},null,-1)])],10,y)):e.createCommentVNode("",!0)],2))}}),u=(t,i)=>{const a=t.__vccOpts||t;for(const[l,o]of i)a[l]=o;return a},g=u($,[["__scopeId","data-v-0ce8be12"]]),w={key:0,class:"base-input__label"},S=["value","placeholder","readonly","disabled","type"],h=u(e.defineComponent({__name:"BaseInput",props:{modelValue:{},label:{},placeholder:{},variant:{default:"outlined"},state:{default:"default"},size:{default:"md"},fullWidth:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},type:{default:"text"}},emits:["update:modelValue"],setup(t,{emit:i}){const a=t,l=i,o=e.ref(a.state);function n(b){const B=b.target;l("update:modelValue",B.value)}function c(){a.disabled||(o.value="focus")}function d(){a.disabled||(o.value="default")}function s(){a.disabled||o.value!=="focus"&&(o.value="hover")}function f(){a.disabled||o.value!=="focus"&&(o.value="default")}const r=e.computed(()=>["base-input",`base-input--${a.variant}`,`base-input--${a.size}`,`base-input--${o.value}`,{"base-input--full":a.fullWidth,"base-input--disabled":a.disabled}]),m=e.computed(()=>["base-input__field"]);return(b,B)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(r.value)},[t.label?(e.openBlock(),e.createElementBlock("label",w,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0),e.createElementVNode("input",{value:t.modelValue,placeholder:t.placeholder,readonly:t.readonly,disabled:t.disabled,class:e.normalizeClass(m.value),type:t.type,onInput:n,onFocus:c,onBlur:d,onMouseenter:s,onMouseleave:f},null,42,S)],2))}}),[["__scopeId","data-v-d79f0773"]]),T={class:"base-snackbar__icon"},z={class:"base-snackbar__content"},I={class:"base-snackbar__title"},P={class:"base-snackbar__message"},A=e.defineComponent({__name:"BaseSnackbar",props:{title:{},message:{},variant:{default:"success"},duration:{default:15e3}},emits:["close"],setup(t,{emit:i}){const a=t,l=i,o=e.ref(!1);let n=null;const c=e.computed(()=>({success:"bi bi-check-circle-fill",warning:"bi bi-exclamation-triangle-fill",critical:"bi bi-x-circle-fill"})[a.variant]);function d(){n=setTimeout(()=>{o.value=!0},a.duration)}function s(r){r.propertyName==="opacity"&&o.value&&l("close")}function f(){n&&clearTimeout(n),o.value=!0}return e.onMounted(()=>{d()}),(r,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["base-snackbar",[`base-snackbar--${t.variant}`,{"base-snackbar--hide":o.value}]]),onTransitionend:s},[e.createElementVNode("div",T,[e.createElementVNode("i",{class:e.normalizeClass(c.value)},null,2)]),e.createElementVNode("div",z,[e.createElementVNode("strong",I,e.toDisplayString(t.title),1),e.createElementVNode("span",P,e.toDisplayString(t.message),1)]),e.createElementVNode("button",{class:"base-snackbar__close",onClick:f},[...m[0]||(m[0]=[e.createElementVNode("i",{class:"bi bi-x-lg"},null,-1),e.createTextVNode(" Fechar ",-1)])])],34))}}),_=u(e.defineComponent({__name:"BaseAuthProviderChip",props:{provider:{},dark:{type:Boolean,default:!1}},emits:["click"],setup(t,{emit:i}){const a=t,l=i,o=e.computed(()=>({google:"Google",microsoft:"Microsoft",apple:"Apple"})[a.provider]),n=e.computed(()=>({google:"bi bi-google",microsoft:"bi bi-microsoft",apple:"bi bi-apple"})[a.provider]);function c(){l("click",a.provider)}return(d,s)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(["auth-chip",[`auth-chip--${t.provider}`,{"auth-chip--dark":t.dark}]]),onClick:c},[e.createElementVNode("i",{class:e.normalizeClass(n.value)},null,2),e.createElementVNode("span",null,e.toDisplayString(o.value),1)],2))}}),[["__scopeId","data-v-b6215df6"]]),M={SITE_KEY:"0x4AAAAAACpnTZO7eMd0cjEL"},x={class:"captcha-wrapper"},D=u(e.defineComponent({__name:"TurnsTile",setup(t){const i=e.ref(null);function a(l){console.log("token captcha:",l)}return e.onMounted(()=>{const l=setInterval(()=>{window.turnstile&&i.value&&(window.turnstile.render(i.value,{sitekey:M.SITE_KEY,callback:a}),clearInterval(l))},100)}),(l,o)=>(e.openBlock(),e.createElementBlock("div",x,[e.createElementVNode("div",{ref_key:"captcha",ref:i},null,512)]))}}),[["__scopeId","data-v-b4abb288"]]),F={class:"login-form__field-wrapper"},W={key:0,class:"login-form__error-msg"},L={class:"login-form__providers"},U=u(e.defineComponent({__name:"LoginForm",props:{dark:{type:Boolean,default:!1},loading:{type:Boolean,default:!1}},emits:["submit","provider","forgot-password"],setup(t,{emit:i}){const a=i,l=e.ref(""),o=e.ref(""),n=e.ref(!1);e.watch(l,f=>{f.trim().length>=3&&(n.value=!1)});function c(){n.value=!1,a("submit",{username:l.value,password:o.value})}function d(f){f.preventDefault(),l.value.trim().length>=3?(n.value=!1,a("forgot-password",l.value)):n.value=!0}function s(f){a("provider",f)}return(f,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["login-form",{"login-form--dark":t.dark}])},[r[2]||(r[2]=e.createElementVNode("h2",{class:"login-form__title"},"Acessar Sistema",-1)),r[3]||(r[3]=e.createElementVNode("p",{class:"login-form__subtitle"},"Digite seu login e senha para continuar",-1)),e.createElementVNode("div",F,[e.createVNode(h,{modelValue:l.value,"onUpdate:modelValue":r[0]||(r[0]=m=>l.value=m),label:"Login",placeholder:"Seu login",fullWidth:""},null,8,["modelValue"]),n.value?(e.openBlock(),e.createElementBlock("span",W," Por favor, informe um login válido para recuperar a senha. ")):e.createCommentVNode("",!0)]),e.createVNode(h,{modelValue:o.value,"onUpdate:modelValue":r[1]||(r[1]=m=>o.value=m),label:"Senha",placeholder:"Sua senha",type:"password",fullWidth:""},null,8,["modelValue"]),e.createVNode(D),e.createVNode(g,{label:"Entrar",variant:"solid",loading:t.loading,fullWidth:"",onClick:c},null,8,["loading"]),e.createElementVNode("a",{href:"#",class:"login-form__forgot-link",onClick:d}," Esqueci minha senha "),r[4]||(r[4]=e.createElementVNode("div",{class:"login-form__divider"},[e.createElementVNode("span",null,"OU CONTINUE COM")],-1)),e.createElementVNode("div",L,[e.createVNode(_,{provider:"google",dark:t.dark,onClick:s},null,8,["dark"]),e.createVNode(_,{provider:"microsoft",dark:t.dark,onClick:s},null,8,["dark"]),e.createVNode(_,{provider:"apple",dark:t.dark,onClick:s},null,8,["dark"])])],2))}}),[["__scopeId","data-v-24aad6eb"]]),k=u(e.defineComponent({__name:"BaseThemeToggle",props:{modelValue:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},size:{default:"md"}},emits:["update:modelValue","change"],setup(t,{emit:i}){const a=t,l=i;function o(){if(a.disabled)return;const c=!a.modelValue;l("update:modelValue",c),l("change",c)}const n=e.computed(()=>["theme-toggle",`theme-toggle--${a.size}`,{"theme-toggle--dark":a.modelValue,"theme-toggle--disabled":a.disabled}]);return(c,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(n.value),onClick:o},[...d[0]||(d[0]=[e.createStaticVNode('<div class="theme-toggle__icon theme-toggle__icon--left" data-v-af2312ab><i class="bi bi-sun-fill" data-v-af2312ab></i></div><div class="theme-toggle__track" data-v-af2312ab><div class="theme-toggle__thumb" data-v-af2312ab></div></div><div class="theme-toggle__icon theme-toggle__icon--right" data-v-af2312ab><i class="bi bi-moon-fill" data-v-af2312ab></i></div>',3)])],2))}}),[["__scopeId","data-v-af2312ab"]]),O={class:"app-header__left"},R=["src"],H={class:"app-header__right"},j={class:"app-header__theme"},q=["src"],v=u(e.defineComponent({__name:"BaseHeader",props:{userName:{},userAvatar:{},logo:{},theme:{type:Boolean,default:!1},mode:{default:"light"}},emits:["update:theme","profile-click"],setup(t,{emit:i}){const a=t,l=i;function o(d){l("update:theme",d)}function n(){l("profile-click")}const c=e.computed(()=>["app-header",`app-header--${a.mode}`]);return(d,s)=>(e.openBlock(),e.createElementBlock("header",{class:e.normalizeClass(c.value)},[e.createElementVNode("div",O,[e.createElementVNode("img",{src:a.logo,class:"app-header__logo",alt:"Tax For All"},null,8,R)]),e.createElementVNode("div",H,[e.createElementVNode("div",j,[s[0]||(s[0]=e.createElementVNode("span",{class:"app-header__theme-label"}," Tema ",-1)),e.createVNode(k,{"model-value":a.theme,size:"sm","onUpdate:modelValue":o},null,8,["model-value"])]),e.createElementVNode("button",{class:"app-header__profile",onClick:n},[e.createElementVNode("img",{src:a.userAvatar,class:"app-header__avatar"},null,8,q)])])],2))}}),[["__scopeId","data-v-d01c874c"]]),K=["onClick"],Y=u(e.defineComponent({__name:"BaseDropdown",props:{items:{},mode:{default:"light"}},emits:["action"],setup(t,{emit:i}){const a=t,l=i;function o(c){l("action",c.key)}const n=e.computed(()=>["dropdown",`dropdown--${a.mode}`]);return(c,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(n.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.items,s=>(e.openBlock(),e.createElementBlock("button",{key:s.key,class:e.normalizeClass(["dropdown__item",{danger:s.danger}]),onClick:f=>o(s)},[e.createElementVNode("i",{class:e.normalizeClass(s.icon)},null,2),e.createElementVNode("span",null,e.toDisplayString(s.label),1)],10,K))),128))],2))}}),[["__scopeId","data-v-8ab8c529"]]),G={class:"reset-password-form"},Z={key:0,class:"reset-password-form__error"},J=u(e.defineComponent({__name:"ResetPassForm",props:{loading:{type:Boolean,default:!1}},emits:["submit"],setup(t,{emit:i}){const a=i,l=e.ref(""),o=e.ref(""),n=e.ref(""),c=e.computed(()=>l.value.length>=8),d=e.computed(()=>l.value===o.value),s=e.computed(()=>!c.value||!d.value||!o.value);e.watch([l,o],()=>{l.value.length>0&&!c.value?n.value="A senha deve ter no mínimo 8 caracteres.":o.value.length>0&&!d.value?n.value="As senhas não coincidem.":n.value=""});function f(){s.value||a("submit",l.value)}return(r,m)=>(e.openBlock(),e.createElementBlock("div",G,[m[2]||(m[2]=e.createElementVNode("h2",{class:"reset-password-form__title"},"Redefinir Senha",-1)),m[3]||(m[3]=e.createElementVNode("p",{class:"reset-password-form__subtitle"},"Crie uma nova senha de pelo menos 8 caracteres.",-1)),e.createVNode(h,{modelValue:l.value,"onUpdate:modelValue":m[0]||(m[0]=b=>l.value=b),label:"Nova Senha",placeholder:"Mínimo 8 caracteres",type:"password",fullWidth:""},null,8,["modelValue"]),e.createVNode(h,{modelValue:o.value,"onUpdate:modelValue":m[1]||(m[1]=b=>o.value=b),label:"Confirmar Senha",placeholder:"Repita a nova senha",type:"password",fullWidth:""},null,8,["modelValue"]),n.value?(e.openBlock(),e.createElementBlock("p",Z,e.toDisplayString(n.value),1)):e.createCommentVNode("",!0),e.createVNode(g,{label:"Salvar Nova Senha",variant:"solid",loading:t.loading,disabled:s.value,fullWidth:"",onClick:f},null,8,["loading","disabled"])]))}}),[["__scopeId","data-v-e298a8ec"]]);p.BaseButton=g,p.BaseDropdown=Y,p.BaseHeader=v,p.BaseInput=h,p.BaseSnackbar=A,p.BaseThemeToggle=k,p.LoginForm=U,p.ResetPassForm=J,Object.defineProperty(p,Symbol.toStringTag,{value:"Module"})});
|
|
@@ -5,11 +5,12 @@ import { default as LoginForm } from './components/LoginForm.vue';
|
|
|
5
5
|
import { default as BaseHeader } from './components/BaseHeader.vue';
|
|
6
6
|
import { default as BaseDropdown } from './components/BaseDropdown.vue';
|
|
7
7
|
import { default as BaseThemeToggle } from './components/BaseThemeToggle.vue';
|
|
8
|
+
import { default as ResetPassForm } from './components/ResetPassForm.vue';
|
|
8
9
|
import { IBaseButtonProps, ButtonVariant, ButtonSize, ButtonState, IconPosition } from './interfaces/IBaseButton';
|
|
9
10
|
import { IBaseInputProps, InputVariant, InputSize, InputState } from './interfaces/IBaseInput';
|
|
10
11
|
import { IBaseSnackbarProps, SnackbarVariant } from './interfaces/IBaseSnackbar';
|
|
11
12
|
import { IHeaderProps } from './interfaces/IBaseHeader';
|
|
12
13
|
import { IDropdownProps, IDropdownItem } from './interfaces/IDropdown';
|
|
13
14
|
import { IThemeToggleProps } from './interfaces/IThemeToggle';
|
|
14
|
-
export { BaseButton, BaseInput, BaseSnackbar, LoginForm, BaseHeader, BaseDropdown, BaseThemeToggle, };
|
|
15
|
+
export { BaseButton, BaseInput, BaseSnackbar, LoginForm, BaseHeader, BaseDropdown, BaseThemeToggle, ResetPassForm, };
|
|
15
16
|
export type { IBaseButtonProps, ButtonVariant, ButtonSize, ButtonState, IconPosition, IBaseInputProps, InputVariant, InputSize, InputState, IBaseSnackbarProps, SnackbarVariant, IHeaderProps, IDropdownProps, IDropdownItem, IThemeToggleProps, };
|
package/deploy/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@import"https://fonts.googleapis.com/css2?family=Mulish:ital,wght@0,200..1000;1,200..1000&display=swap";[data-v-0ce8be12]{font-family:Mulish,sans-serif}span[data-v-0ce8be12],form[data-v-0ce8be12],label[data-v-0ce8be12],header[data-v-0ce8be12],body[data-v-0ce8be12],section[data-v-0ce8be12]{margin:0;padding:0;border:0;font-size:100%;text-decoration:none;font:inherit;vertical-align:baseline}button[data-v-0ce8be12]{border:none;background:none}input[data-v-0ce8be12]:focus{outline:none;border:2px solid #2ecc71;box-shadow:0 0 5px #2ecc71}.base-button-wrapper[data-v-0ce8be12]{display:inline-flex;align-items:stretch}.base-button-wrapper.full-width[data-v-0ce8be12]{width:100%}.base-button-wrapper.split .base-button[data-v-0ce8be12]:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.base-button-wrapper.split .split-button[data-v-0ce8be12]{border-top-left-radius:0;border-bottom-left-radius:0;width:40px}.base-button[data-v-0ce8be12]{position:relative;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;font-weight:500;border-radius:8px;transition:all .2s ease;box-shadow:0 1px 2px #00000040;width:100%}.base-button.icon-only[data-v-0ce8be12]{padding:0 12px}.base-button[data-v-0ce8be12]:disabled{opacity:.6;cursor:not-allowed}.base-button[data-v-0ce8be12]:focus-visible{outline:none;box-shadow:0 0 0 3px #2f54d326}.size-compact[data-v-0ce8be12]{height:32px;font-size:14px}.size-cozy[data-v-0ce8be12]{height:40px;font-size:16px}.variant-solid[data-v-0ce8be12]{color:#fff}.variant-outline[data-v-0ce8be12]{background:transparent;border:1px solid}.variant-ghost[data-v-0ce8be12]{background:transparent}.state-neutral.variant-solid[data-v-0ce8be12]{background:#00aa76}.state-neutral.variant-solid[data-v-0ce8be12]:hover{background:#017955}.state-neutral.variant-outline[data-v-0ce8be12]{border-color:#00aa76;color:#00aa76}.state-neutral.variant-outline[data-v-0ce8be12]:hover{background:#00aa7615}.state-neutral.variant-ghost[data-v-0ce8be12]{color:#00aa76}.state-neutral.variant-ghost[data-v-0ce8be12]:hover{background:#00aa7615}.state-success.variant-solid[data-v-0ce8be12]{background:#017a74}.state-success.variant-solid[data-v-0ce8be12]:hover{background:#044946}.state-success.variant-outline[data-v-0ce8be12]{border-color:#017a74;color:#017a74}.state-success.variant-outline[data-v-0ce8be12]:hover{background:#01707426}.state-success.variant-ghost[data-v-0ce8be12]{color:#017a74}.state-success.variant-ghost[data-v-0ce8be12]:hover{background:#01707426}.state-warning.variant-solid[data-v-0ce8be12]{background:#f6cb5c;color:#1a1a1a}.state-warning.variant-solid[data-v-0ce8be12]:hover{background:#9f7509}.state-warning.variant-outline[data-v-0ce8be12]{border-color:#f6cb5c;color:#f6cb5c}.state-warning.variant-outline[data-v-0ce8be12]:hover{background:#f6cb5c26}.state-warning.variant-ghost[data-v-0ce8be12]{color:#f6cb5c}.state-warning.variant-ghost[data-v-0ce8be12]:hover{background:#f6cb5c26}.state-error.variant-solid[data-v-0ce8be12]{background:#c93f58}.state-error.variant-solid[data-v-0ce8be12]:hover{background:#a62f44}.state-error.variant-outline[data-v-0ce8be12]{border-color:#c93f58;color:#c93f58}.state-error.variant-outline[data-v-0ce8be12]:hover{background:#c93f5826}.state-error.variant-ghost[data-v-0ce8be12]{color:#c93f58}.state-error.variant-ghost[data-v-0ce8be12]:hover{background:#c93f5826}.state-info.variant-solid[data-v-0ce8be12]{background:#00aa76}.state-info.variant-solid[data-v-0ce8be12]:hover{background:#017955}.state-info.variant-outline[data-v-0ce8be12]{border-color:#00aa76;color:#00aa76}.state-info.variant-outline[data-v-0ce8be12]:hover{background:#00aa7615}.state-info.variant-ghost[data-v-0ce8be12]{color:#00aa76}.state-info.variant-ghost[data-v-0ce8be12]:hover{background:#00aa7615}.btn-icon[data-v-0ce8be12]{font-size:16px}.btn-badge[data-v-0ce8be12]{background:#fff;color:#1a1a1a;border-radius:999px;padding:0 6px;font-size:12px;font-weight:600}.spinner[data-v-0ce8be12]{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin-0ce8be12 .6s linear infinite}@keyframes spin-0ce8be12{to{transform:rotate(360deg)}}[data-v-d79f0773]{font-family:Mulish,sans-serif}span[data-v-d79f0773],form[data-v-d79f0773],label[data-v-d79f0773],header[data-v-d79f0773],body[data-v-d79f0773],section[data-v-d79f0773]{margin:0;padding:0;border:0;font-size:100%;text-decoration:none;font:inherit;vertical-align:baseline}button[data-v-d79f0773]{border:none;background:none}input[data-v-d79f0773]:focus{outline:none;border:2px solid #2ecc71;box-shadow:0 0 5px #2ecc71}.base-input[data-v-d79f0773]{display:inline-flex;flex-direction:column;gap:4px;width:auto}.base-input--full[data-v-d79f0773]{width:100%}.base-input__label[data-v-d79f0773]{font-size:14px;color:#5e5e5e}.base-input__field[data-v-d79f0773]{border:none;outline:none;font-size:14px;padding:6px 8px;background:transparent;color:#000c;transition:all .2s ease}.base-input__field[data-v-d79f0773]::placeholder{color:#999}.base-input--underline .base-input__field[data-v-d79f0773]{border-bottom:1px solid #cccccc}.base-input--underline.base-input--hover .base-input__field[data-v-d79f0773]{border-bottom-color:#00aa76}.base-input--underline.base-input--focus .base-input__field[data-v-d79f0773]{border-bottom:2px solid #00aa76}.base-input--outlined .base-input__field[data-v-d79f0773]{border:1px solid #cccccc;border-radius:6px;background:#f9f9f9}.base-input--outlined.base-input--hover .base-input__field[data-v-d79f0773]{border-color:#00aa76;background:#00aa7615}.base-input--outlined.base-input--focus .base-input__field[data-v-d79f0773]{border:2px solid #00aa76;background:#fff;box-shadow:0 0 0 3px #00aa7615}.base-input--sm .base-input__field[data-v-d79f0773]{font-size:12px;padding:4px 6px}.base-input--md .base-input__field[data-v-d79f0773]{font-size:14px;padding:6px 8px}.base-input--lg .base-input__field[data-v-d79f0773]{font-size:16px;padding:10px 12px}.base-input--disabled .base-input__field[data-v-d79f0773]{background:#f0f0f0;border-color:#e0e0e0;color:#999;cursor:not-allowed;opacity:.7}.base-input--disabled .base-input__field[data-v-d79f0773]::placeholder{color:#ccc}*{font-family:Mulish,sans-serif}span,form,label,header,body,section{margin:0;padding:0;border:0;font-size:100%;text-decoration:none;font:inherit;vertical-align:baseline}button{border:none;background:none}input:focus{outline:none;border:2px solid #2ecc71;box-shadow:0 0 5px #2ecc71}.base-snackbar{display:flex;align-items:center;gap:16px;padding:16px 20px;border-radius:8px;color:#fff;box-shadow:0 8px 24px #00000040;opacity:1;transform:translateY(0);transition:opacity .4s ease,transform .4s ease}.base-snackbar--hide{opacity:0;transform:translateY(-8px)}.base-snackbar__icon{font-size:28px;display:flex;align-items:center}.base-snackbar__content{display:flex;flex-direction:column;flex:1}.base-snackbar__title{font-size:14px;font-weight:600}.base-snackbar__message{font-size:13px;opacity:.9}.base-snackbar__close{background:transparent;border:none;color:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:6px}.base-snackbar__close:hover{opacity:.85}.base-snackbar--success{background:#017a74}.base-snackbar--warning{background:#f6cb5c;color:#1a1a1a}.base-snackbar--warning .base-snackbar__close{color:#1a1a1a}.base-snackbar--critical{background:#c93f58}[data-v-b6215df6]{font-family:Mulish,sans-serif}span[data-v-b6215df6],form[data-v-b6215df6],label[data-v-b6215df6],header[data-v-b6215df6],body[data-v-b6215df6],section[data-v-b6215df6]{margin:0;padding:0;border:0;font-size:100%;text-decoration:none;font:inherit;vertical-align:baseline}button[data-v-b6215df6]{border:none;background:none}input[data-v-b6215df6]:focus{outline:none;border:2px solid #2ecc71;box-shadow:0 0 5px #2ecc71}.auth-chip[data-v-b6215df6]{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:24px;border:1px solid #e0e0e0;background:#fff;color:#444;font-size:14px;cursor:pointer;transition:all .2s ease}.auth-chip[data-v-b6215df6]:hover{background:#f0f0f0}.auth-chip--dark[data-v-b6215df6]{background:#1a1a1a;border-color:#444;color:#fff}.auth-chip--dark[data-v-b6215df6]:hover{background:#2b2b2b}[data-v-b4abb288]{font-family:Mulish,sans-serif}span[data-v-b4abb288],form[data-v-b4abb288],label[data-v-b4abb288],header[data-v-b4abb288],body[data-v-b4abb288],section[data-v-b4abb288]{margin:0;padding:0;border:0;font-size:100%;text-decoration:none;font:inherit;vertical-align:baseline}button[data-v-b4abb288]{border:none;background:none}input[data-v-b4abb288]:focus{outline:none;border:2px solid #2ecc71;box-shadow:0 0 5px #2ecc71}.captcha-wrapper[data-v-b4abb288]{display:inline-block;border-radius:8px;overflow:hidden;width:300px;height:65px}[data-v-24aad6eb]{font-family:Mulish,sans-serif}span[data-v-24aad6eb],form[data-v-24aad6eb],label[data-v-24aad6eb],header[data-v-24aad6eb],body[data-v-24aad6eb],section[data-v-24aad6eb]{margin:0;padding:0;border:0;font-size:100%;text-decoration:none;font:inherit;vertical-align:baseline}button[data-v-24aad6eb]{border:none;background:none}input[data-v-24aad6eb]:focus{outline:none;border:2px solid #2ecc71;box-shadow:0 0 5px #2ecc71}.login-form[data-v-24aad6eb]{width:320px;padding:40px;border-radius:12px;background:#f9f9f9;display:flex;flex-direction:column;align-items:center;gap:16px;box-shadow:0 12px 32px #00000040}.login-form--dark[data-v-24aad6eb]{background:#1a1a1a}.login-form--dark .login-form__title[data-v-24aad6eb]{color:#fff}.login-form--dark .login-form__subtitle[data-v-24aad6eb]{color:#999}.login-form--dark .login-form__forgot-link[data-v-24aad6eb]{color:#00aa76}.login-form__field-wrapper[data-v-24aad6eb]{width:100%;display:flex;flex-direction:column;gap:4px}.login-form__error-msg[data-v-24aad6eb]{font-size:11px;color:#c93f58;margin-left:4px;font-weight:500}.login-form__title[data-v-24aad6eb]{text-align:center;font-size:22px;font-weight:600;color:#2b2b2b;margin:0}.login-form__subtitle[data-v-24aad6eb]{text-align:center;font-size:14px;color:#666;margin:0}.login-form__forgot-link[data-v-24aad6eb]{font-size:13px;color:#017955;text-decoration:none;font-weight:500}.login-form__forgot-link[data-v-24aad6eb]:hover{text-decoration:underline}.login-form__divider[data-v-24aad6eb]{width:100%;display:flex;align-items:center;gap:10px;color:#999;font-size:12px;margin:8px 0}.login-form__divider[data-v-24aad6eb]:before,.login-form__divider[data-v-24aad6eb]:after{content:"";flex:1;height:1px;background:#e0e0e0}.login-form__providers[data-v-24aad6eb]{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}[data-v-af2312ab]{font-family:Mulish,sans-serif}span[data-v-af2312ab],form[data-v-af2312ab],label[data-v-af2312ab],header[data-v-af2312ab],body[data-v-af2312ab],section[data-v-af2312ab]{margin:0;padding:0;border:0;font-size:100%;text-decoration:none;font:inherit;vertical-align:baseline}button[data-v-af2312ab]{border:none;background:none}input[data-v-af2312ab]:focus{outline:none;border:2px solid #2ecc71;box-shadow:0 0 5px #2ecc71}.theme-toggle[data-v-af2312ab]{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.theme-toggle--disabled[data-v-af2312ab]{opacity:.6;cursor:not-allowed}.theme-toggle__track[data-v-af2312ab]{position:relative;width:80px;height:40px;border-radius:20px;background:linear-gradient(90deg,#b5dbf8,#8cccf5);box-shadow:inset 0 4px 12px #00000026;transition:background .4s ease}.theme-toggle__thumb[data-v-af2312ab]{position:absolute;width:36px;height:36px;top:2px;left:2px;border-radius:50%;background:linear-gradient(145deg,#fff,#f0f0f0);box-shadow:0 4px 10px #0003;transition:left .4s cubic-bezier(.68,-.55,.27,1.55),background .6s ease,box-shadow .6s ease}.theme-toggle__icon[data-v-af2312ab]{display:flex;align-items:center;justify-content:center;font-size:26px;color:#666}.theme-toggle--dark .theme-toggle__track[data-v-af2312ab]{background:linear-gradient(90deg,#1d2332,#222)}.theme-toggle--dark .theme-toggle__thumb[data-v-af2312ab]{left:42px;background:linear-gradient(45deg,gold,#fa0);box-shadow:0 0 15px #ffd700e6,0 0 25px #6b48ffb3}.theme-toggle--dark .theme-toggle__icon--left[data-v-af2312ab]{opacity:.4}.theme-toggle--dark .theme-toggle__icon--right[data-v-af2312ab]{color:#f6cb5c}.theme-toggle:not(.theme-toggle--dark) .theme-toggle__icon--right[data-v-af2312ab]{opacity:.4}.theme-toggle:not(.theme-toggle--dark) .theme-toggle__icon--left[data-v-af2312ab]{color:#f6cb5c}.theme-toggle--sm .theme-toggle__track[data-v-af2312ab]{width:60px;height:30px}.theme-toggle--sm .theme-toggle__thumb[data-v-af2312ab]{width:26px;height:26px}.theme-toggle--lg .theme-toggle__track[data-v-af2312ab]{width:100px;height:50px}.theme-toggle--lg .theme-toggle__thumb[data-v-af2312ab]{width:46px;height:46px}[data-v-d01c874c]{font-family:Mulish,sans-serif}span[data-v-d01c874c],form[data-v-d01c874c],label[data-v-d01c874c],header[data-v-d01c874c],body[data-v-d01c874c],section[data-v-d01c874c]{margin:0;padding:0;border:0;font-size:100%;text-decoration:none;font:inherit;vertical-align:baseline}button[data-v-d01c874c]{border:none;background:none}input[data-v-d01c874c]:focus{outline:none;border:2px solid #2ecc71;box-shadow:0 0 5px #2ecc71}.app-header[data-v-d01c874c]{width:100%;height:64px;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.app-header__left[data-v-d01c874c]{display:flex;align-items:center}.app-header__logo[data-v-d01c874c]{height:36px;object-fit:contain}.app-header__right[data-v-d01c874c]{display:flex;align-items:center;gap:24px}.app-header__theme[data-v-d01c874c]{display:flex;align-items:center;gap:10px}.app-header__theme-label[data-v-d01c874c]{font-size:14px;font-weight:500}.app-header__profile[data-v-d01c874c]{display:flex;align-items:center;gap:10px;border:none;background:transparent;cursor:pointer}.app-header__avatar[data-v-d01c874c]{width:34px;height:34px;border-radius:50%;object-fit:cover}.app-header__name[data-v-d01c874c]{font-size:14px;font-weight:500}.app-header--light[data-v-d01c874c]{background:#fff;border-bottom:1px solid #e0e0e0}.app-header--light .app-header__name[data-v-d01c874c]{color:#1a1a1a}.app-header--light .app-header__theme-label[data-v-d01c874c]{color:#2b2b2b}.app-header--dark[data-v-d01c874c]{background:#1a1a1a;border-bottom:1px solid #444444}.app-header--dark .app-header__name[data-v-d01c874c]{color:#fff}.app-header--dark .app-header__theme-label[data-v-d01c874c]{color:#f9f9f9}[data-v-8ab8c529]{font-family:Mulish,sans-serif}span[data-v-8ab8c529],form[data-v-8ab8c529],label[data-v-8ab8c529],header[data-v-8ab8c529],body[data-v-8ab8c529],section[data-v-8ab8c529]{margin:0;padding:0;border:0;font-size:100%;text-decoration:none;font:inherit;vertical-align:baseline}button[data-v-8ab8c529]{border:none;background:none}input[data-v-8ab8c529]:focus{outline:none;border:2px solid #2ecc71;box-shadow:0 0 5px #2ecc71}.dropdown[data-v-8ab8c529]{width:240px;border-radius:12px;padding:8px 0;display:flex;flex-direction:column;gap:4px;box-shadow:0 10px 30px #00000040}.dropdown__item[data-v-8ab8c529]{display:flex;align-items:center;gap:10px;padding:10px 16px;border:none;background:transparent;cursor:pointer;font-size:14px;text-align:left;transition:background .2s}.dropdown__item i[data-v-8ab8c529]{font-size:16px}.dropdown__item.danger[data-v-8ab8c529]{color:#c93f58}.dropdown--light[data-v-8ab8c529]{background:#fff}.dropdown--light .dropdown__item[data-v-8ab8c529]{color:#2b2b2b}.dropdown--light .dropdown__item[data-v-8ab8c529]:hover{background:#f0f0f0}.dropdown--light .dropdown__item.danger[data-v-8ab8c529]{color:#c93f58}.dropdown--light .dropdown__item.danger[data-v-8ab8c529]:hover{background:#c93f5826}.dropdown--dark[data-v-8ab8c529]{background:#1a1a1a}.dropdown--dark .dropdown__item[data-v-8ab8c529]{color:#f9f9f9}.dropdown--dark .dropdown__item[data-v-8ab8c529]:hover{background:#2b2b2b}.dropdown--dark .dropdown__item.danger[data-v-8ab8c529]{color:#c93f58}.dropdown--dark .dropdown__item.danger[data-v-8ab8c529]:hover{background:#c93f5826}
|
|
1
|
+
@import"https://fonts.googleapis.com/css2?family=Mulish:ital,wght@0,200..1000;1,200..1000&display=swap";[data-v-0ce8be12]{font-family:Mulish,sans-serif}span[data-v-0ce8be12],form[data-v-0ce8be12],label[data-v-0ce8be12],header[data-v-0ce8be12],body[data-v-0ce8be12],section[data-v-0ce8be12]{margin:0;padding:0;border:0;font-size:100%;text-decoration:none;font:inherit;vertical-align:baseline}button[data-v-0ce8be12]{border:none;background:none}input[data-v-0ce8be12]:focus{outline:none;border:2px solid #2ecc71;box-shadow:0 0 5px #2ecc71}.base-button-wrapper[data-v-0ce8be12]{display:inline-flex;align-items:stretch}.base-button-wrapper.full-width[data-v-0ce8be12]{width:100%}.base-button-wrapper.split .base-button[data-v-0ce8be12]:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.base-button-wrapper.split .split-button[data-v-0ce8be12]{border-top-left-radius:0;border-bottom-left-radius:0;width:40px}.base-button[data-v-0ce8be12]{position:relative;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;font-weight:500;border-radius:8px;transition:all .2s ease;box-shadow:0 1px 2px #00000040;width:100%}.base-button.icon-only[data-v-0ce8be12]{padding:0 12px}.base-button[data-v-0ce8be12]:disabled{opacity:.6;cursor:not-allowed}.base-button[data-v-0ce8be12]:focus-visible{outline:none;box-shadow:0 0 0 3px #2f54d326}.size-compact[data-v-0ce8be12]{height:32px;font-size:14px}.size-cozy[data-v-0ce8be12]{height:40px;font-size:16px}.variant-solid[data-v-0ce8be12]{color:#fff}.variant-outline[data-v-0ce8be12]{background:transparent;border:1px solid}.variant-ghost[data-v-0ce8be12]{background:transparent}.state-neutral.variant-solid[data-v-0ce8be12]{background:#00aa76}.state-neutral.variant-solid[data-v-0ce8be12]:hover{background:#017955}.state-neutral.variant-outline[data-v-0ce8be12]{border-color:#00aa76;color:#00aa76}.state-neutral.variant-outline[data-v-0ce8be12]:hover{background:#00aa7615}.state-neutral.variant-ghost[data-v-0ce8be12]{color:#00aa76}.state-neutral.variant-ghost[data-v-0ce8be12]:hover{background:#00aa7615}.state-success.variant-solid[data-v-0ce8be12]{background:#017a74}.state-success.variant-solid[data-v-0ce8be12]:hover{background:#044946}.state-success.variant-outline[data-v-0ce8be12]{border-color:#017a74;color:#017a74}.state-success.variant-outline[data-v-0ce8be12]:hover{background:#01707426}.state-success.variant-ghost[data-v-0ce8be12]{color:#017a74}.state-success.variant-ghost[data-v-0ce8be12]:hover{background:#01707426}.state-warning.variant-solid[data-v-0ce8be12]{background:#f6cb5c;color:#1a1a1a}.state-warning.variant-solid[data-v-0ce8be12]:hover{background:#9f7509}.state-warning.variant-outline[data-v-0ce8be12]{border-color:#f6cb5c;color:#f6cb5c}.state-warning.variant-outline[data-v-0ce8be12]:hover{background:#f6cb5c26}.state-warning.variant-ghost[data-v-0ce8be12]{color:#f6cb5c}.state-warning.variant-ghost[data-v-0ce8be12]:hover{background:#f6cb5c26}.state-error.variant-solid[data-v-0ce8be12]{background:#c93f58}.state-error.variant-solid[data-v-0ce8be12]:hover{background:#a62f44}.state-error.variant-outline[data-v-0ce8be12]{border-color:#c93f58;color:#c93f58}.state-error.variant-outline[data-v-0ce8be12]:hover{background:#c93f5826}.state-error.variant-ghost[data-v-0ce8be12]{color:#c93f58}.state-error.variant-ghost[data-v-0ce8be12]:hover{background:#c93f5826}.state-info.variant-solid[data-v-0ce8be12]{background:#00aa76}.state-info.variant-solid[data-v-0ce8be12]:hover{background:#017955}.state-info.variant-outline[data-v-0ce8be12]{border-color:#00aa76;color:#00aa76}.state-info.variant-outline[data-v-0ce8be12]:hover{background:#00aa7615}.state-info.variant-ghost[data-v-0ce8be12]{color:#00aa76}.state-info.variant-ghost[data-v-0ce8be12]:hover{background:#00aa7615}.btn-icon[data-v-0ce8be12]{font-size:16px}.btn-badge[data-v-0ce8be12]{background:#fff;color:#1a1a1a;border-radius:999px;padding:0 6px;font-size:12px;font-weight:600}.spinner[data-v-0ce8be12]{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin-0ce8be12 .6s linear infinite}@keyframes spin-0ce8be12{to{transform:rotate(360deg)}}[data-v-d79f0773]{font-family:Mulish,sans-serif}span[data-v-d79f0773],form[data-v-d79f0773],label[data-v-d79f0773],header[data-v-d79f0773],body[data-v-d79f0773],section[data-v-d79f0773]{margin:0;padding:0;border:0;font-size:100%;text-decoration:none;font:inherit;vertical-align:baseline}button[data-v-d79f0773]{border:none;background:none}input[data-v-d79f0773]:focus{outline:none;border:2px solid #2ecc71;box-shadow:0 0 5px #2ecc71}.base-input[data-v-d79f0773]{display:inline-flex;flex-direction:column;gap:4px;width:auto}.base-input--full[data-v-d79f0773]{width:100%}.base-input__label[data-v-d79f0773]{font-size:14px;color:#5e5e5e}.base-input__field[data-v-d79f0773]{border:none;outline:none;font-size:14px;padding:6px 8px;background:transparent;color:#000c;transition:all .2s ease}.base-input__field[data-v-d79f0773]::placeholder{color:#999}.base-input--underline .base-input__field[data-v-d79f0773]{border-bottom:1px solid #cccccc}.base-input--underline.base-input--hover .base-input__field[data-v-d79f0773]{border-bottom-color:#00aa76}.base-input--underline.base-input--focus .base-input__field[data-v-d79f0773]{border-bottom:2px solid #00aa76}.base-input--outlined .base-input__field[data-v-d79f0773]{border:1px solid #cccccc;border-radius:6px;background:#f9f9f9}.base-input--outlined.base-input--hover .base-input__field[data-v-d79f0773]{border-color:#00aa76;background:#00aa7615}.base-input--outlined.base-input--focus .base-input__field[data-v-d79f0773]{border:2px solid #00aa76;background:#fff;box-shadow:0 0 0 3px #00aa7615}.base-input--sm .base-input__field[data-v-d79f0773]{font-size:12px;padding:4px 6px}.base-input--md .base-input__field[data-v-d79f0773]{font-size:14px;padding:6px 8px}.base-input--lg .base-input__field[data-v-d79f0773]{font-size:16px;padding:10px 12px}.base-input--disabled .base-input__field[data-v-d79f0773]{background:#f0f0f0;border-color:#e0e0e0;color:#999;cursor:not-allowed;opacity:.7}.base-input--disabled .base-input__field[data-v-d79f0773]::placeholder{color:#ccc}*{font-family:Mulish,sans-serif}span,form,label,header,body,section{margin:0;padding:0;border:0;font-size:100%;text-decoration:none;font:inherit;vertical-align:baseline}button{border:none;background:none}input:focus{outline:none;border:2px solid #2ecc71;box-shadow:0 0 5px #2ecc71}.base-snackbar{display:flex;align-items:center;gap:16px;padding:16px 20px;border-radius:8px;color:#fff;box-shadow:0 8px 24px #00000040;opacity:1;transform:translateY(0);transition:opacity .4s ease,transform .4s ease}.base-snackbar--hide{opacity:0;transform:translateY(-8px)}.base-snackbar__icon{font-size:28px;display:flex;align-items:center}.base-snackbar__content{display:flex;flex-direction:column;flex:1}.base-snackbar__title{font-size:14px;font-weight:600}.base-snackbar__message{font-size:13px;opacity:.9}.base-snackbar__close{background:transparent;border:none;color:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:6px}.base-snackbar__close:hover{opacity:.85}.base-snackbar--success{background:#017a74}.base-snackbar--warning{background:#f6cb5c;color:#1a1a1a}.base-snackbar--warning .base-snackbar__close{color:#1a1a1a}.base-snackbar--critical{background:#c93f58}[data-v-b6215df6]{font-family:Mulish,sans-serif}span[data-v-b6215df6],form[data-v-b6215df6],label[data-v-b6215df6],header[data-v-b6215df6],body[data-v-b6215df6],section[data-v-b6215df6]{margin:0;padding:0;border:0;font-size:100%;text-decoration:none;font:inherit;vertical-align:baseline}button[data-v-b6215df6]{border:none;background:none}input[data-v-b6215df6]:focus{outline:none;border:2px solid #2ecc71;box-shadow:0 0 5px #2ecc71}.auth-chip[data-v-b6215df6]{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:24px;border:1px solid #e0e0e0;background:#fff;color:#444;font-size:14px;cursor:pointer;transition:all .2s ease}.auth-chip[data-v-b6215df6]:hover{background:#f0f0f0}.auth-chip--dark[data-v-b6215df6]{background:#1a1a1a;border-color:#444;color:#fff}.auth-chip--dark[data-v-b6215df6]:hover{background:#2b2b2b}[data-v-b4abb288]{font-family:Mulish,sans-serif}span[data-v-b4abb288],form[data-v-b4abb288],label[data-v-b4abb288],header[data-v-b4abb288],body[data-v-b4abb288],section[data-v-b4abb288]{margin:0;padding:0;border:0;font-size:100%;text-decoration:none;font:inherit;vertical-align:baseline}button[data-v-b4abb288]{border:none;background:none}input[data-v-b4abb288]:focus{outline:none;border:2px solid #2ecc71;box-shadow:0 0 5px #2ecc71}.captcha-wrapper[data-v-b4abb288]{display:inline-block;border-radius:8px;overflow:hidden;width:300px;height:65px}[data-v-24aad6eb]{font-family:Mulish,sans-serif}span[data-v-24aad6eb],form[data-v-24aad6eb],label[data-v-24aad6eb],header[data-v-24aad6eb],body[data-v-24aad6eb],section[data-v-24aad6eb]{margin:0;padding:0;border:0;font-size:100%;text-decoration:none;font:inherit;vertical-align:baseline}button[data-v-24aad6eb]{border:none;background:none}input[data-v-24aad6eb]:focus{outline:none;border:2px solid #2ecc71;box-shadow:0 0 5px #2ecc71}.login-form[data-v-24aad6eb]{width:320px;padding:40px;border-radius:12px;background:#f9f9f9;display:flex;flex-direction:column;align-items:center;gap:16px;box-shadow:0 12px 32px #00000040}.login-form--dark[data-v-24aad6eb]{background:#1a1a1a}.login-form--dark .login-form__title[data-v-24aad6eb]{color:#fff}.login-form--dark .login-form__subtitle[data-v-24aad6eb]{color:#999}.login-form--dark .login-form__forgot-link[data-v-24aad6eb]{color:#00aa76}.login-form__field-wrapper[data-v-24aad6eb]{width:100%;display:flex;flex-direction:column;gap:4px}.login-form__error-msg[data-v-24aad6eb]{font-size:11px;color:#c93f58;margin-left:4px;font-weight:500}.login-form__title[data-v-24aad6eb]{text-align:center;font-size:22px;font-weight:600;color:#2b2b2b;margin:0}.login-form__subtitle[data-v-24aad6eb]{text-align:center;font-size:14px;color:#666;margin:0}.login-form__forgot-link[data-v-24aad6eb]{font-size:13px;color:#017955;text-decoration:none;font-weight:500}.login-form__forgot-link[data-v-24aad6eb]:hover{text-decoration:underline}.login-form__divider[data-v-24aad6eb]{width:100%;display:flex;align-items:center;gap:10px;color:#999;font-size:12px;margin:8px 0}.login-form__divider[data-v-24aad6eb]:before,.login-form__divider[data-v-24aad6eb]:after{content:"";flex:1;height:1px;background:#e0e0e0}.login-form__providers[data-v-24aad6eb]{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}[data-v-af2312ab]{font-family:Mulish,sans-serif}span[data-v-af2312ab],form[data-v-af2312ab],label[data-v-af2312ab],header[data-v-af2312ab],body[data-v-af2312ab],section[data-v-af2312ab]{margin:0;padding:0;border:0;font-size:100%;text-decoration:none;font:inherit;vertical-align:baseline}button[data-v-af2312ab]{border:none;background:none}input[data-v-af2312ab]:focus{outline:none;border:2px solid #2ecc71;box-shadow:0 0 5px #2ecc71}.theme-toggle[data-v-af2312ab]{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.theme-toggle--disabled[data-v-af2312ab]{opacity:.6;cursor:not-allowed}.theme-toggle__track[data-v-af2312ab]{position:relative;width:80px;height:40px;border-radius:20px;background:linear-gradient(90deg,#b5dbf8,#8cccf5);box-shadow:inset 0 4px 12px #00000026;transition:background .4s ease}.theme-toggle__thumb[data-v-af2312ab]{position:absolute;width:36px;height:36px;top:2px;left:2px;border-radius:50%;background:linear-gradient(145deg,#fff,#f0f0f0);box-shadow:0 4px 10px #0003;transition:left .4s cubic-bezier(.68,-.55,.27,1.55),background .6s ease,box-shadow .6s ease}.theme-toggle__icon[data-v-af2312ab]{display:flex;align-items:center;justify-content:center;font-size:26px;color:#666}.theme-toggle--dark .theme-toggle__track[data-v-af2312ab]{background:linear-gradient(90deg,#1d2332,#222)}.theme-toggle--dark .theme-toggle__thumb[data-v-af2312ab]{left:42px;background:linear-gradient(45deg,gold,#fa0);box-shadow:0 0 15px #ffd700e6,0 0 25px #6b48ffb3}.theme-toggle--dark .theme-toggle__icon--left[data-v-af2312ab]{opacity:.4}.theme-toggle--dark .theme-toggle__icon--right[data-v-af2312ab]{color:#f6cb5c}.theme-toggle:not(.theme-toggle--dark) .theme-toggle__icon--right[data-v-af2312ab]{opacity:.4}.theme-toggle:not(.theme-toggle--dark) .theme-toggle__icon--left[data-v-af2312ab]{color:#f6cb5c}.theme-toggle--sm .theme-toggle__track[data-v-af2312ab]{width:60px;height:30px}.theme-toggle--sm .theme-toggle__thumb[data-v-af2312ab]{width:26px;height:26px}.theme-toggle--lg .theme-toggle__track[data-v-af2312ab]{width:100px;height:50px}.theme-toggle--lg .theme-toggle__thumb[data-v-af2312ab]{width:46px;height:46px}[data-v-d01c874c]{font-family:Mulish,sans-serif}span[data-v-d01c874c],form[data-v-d01c874c],label[data-v-d01c874c],header[data-v-d01c874c],body[data-v-d01c874c],section[data-v-d01c874c]{margin:0;padding:0;border:0;font-size:100%;text-decoration:none;font:inherit;vertical-align:baseline}button[data-v-d01c874c]{border:none;background:none}input[data-v-d01c874c]:focus{outline:none;border:2px solid #2ecc71;box-shadow:0 0 5px #2ecc71}.app-header[data-v-d01c874c]{width:100%;height:64px;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.app-header__left[data-v-d01c874c]{display:flex;align-items:center}.app-header__logo[data-v-d01c874c]{height:36px;object-fit:contain}.app-header__right[data-v-d01c874c]{display:flex;align-items:center;gap:24px}.app-header__theme[data-v-d01c874c]{display:flex;align-items:center;gap:10px}.app-header__theme-label[data-v-d01c874c]{font-size:14px;font-weight:500}.app-header__profile[data-v-d01c874c]{display:flex;align-items:center;gap:10px;border:none;background:transparent;cursor:pointer}.app-header__avatar[data-v-d01c874c]{width:34px;height:34px;border-radius:50%;object-fit:cover}.app-header__name[data-v-d01c874c]{font-size:14px;font-weight:500}.app-header--light[data-v-d01c874c]{background:#fff;border-bottom:1px solid #e0e0e0}.app-header--light .app-header__name[data-v-d01c874c]{color:#1a1a1a}.app-header--light .app-header__theme-label[data-v-d01c874c]{color:#2b2b2b}.app-header--dark[data-v-d01c874c]{background:#1a1a1a;border-bottom:1px solid #444444}.app-header--dark .app-header__name[data-v-d01c874c]{color:#fff}.app-header--dark .app-header__theme-label[data-v-d01c874c]{color:#f9f9f9}[data-v-8ab8c529]{font-family:Mulish,sans-serif}span[data-v-8ab8c529],form[data-v-8ab8c529],label[data-v-8ab8c529],header[data-v-8ab8c529],body[data-v-8ab8c529],section[data-v-8ab8c529]{margin:0;padding:0;border:0;font-size:100%;text-decoration:none;font:inherit;vertical-align:baseline}button[data-v-8ab8c529]{border:none;background:none}input[data-v-8ab8c529]:focus{outline:none;border:2px solid #2ecc71;box-shadow:0 0 5px #2ecc71}.dropdown[data-v-8ab8c529]{width:240px;border-radius:12px;padding:8px 0;display:flex;flex-direction:column;gap:4px;box-shadow:0 10px 30px #00000040}.dropdown__item[data-v-8ab8c529]{display:flex;align-items:center;gap:10px;padding:10px 16px;border:none;background:transparent;cursor:pointer;font-size:14px;text-align:left;transition:background .2s}.dropdown__item i[data-v-8ab8c529]{font-size:16px}.dropdown__item.danger[data-v-8ab8c529]{color:#c93f58}.dropdown--light[data-v-8ab8c529]{background:#fff}.dropdown--light .dropdown__item[data-v-8ab8c529]{color:#2b2b2b}.dropdown--light .dropdown__item[data-v-8ab8c529]:hover{background:#f0f0f0}.dropdown--light .dropdown__item.danger[data-v-8ab8c529]{color:#c93f58}.dropdown--light .dropdown__item.danger[data-v-8ab8c529]:hover{background:#c93f5826}.dropdown--dark[data-v-8ab8c529]{background:#1a1a1a}.dropdown--dark .dropdown__item[data-v-8ab8c529]{color:#f9f9f9}.dropdown--dark .dropdown__item[data-v-8ab8c529]:hover{background:#2b2b2b}.dropdown--dark .dropdown__item.danger[data-v-8ab8c529]{color:#c93f58}.dropdown--dark .dropdown__item.danger[data-v-8ab8c529]:hover{background:#c93f5826}[data-v-e298a8ec]{font-family:Mulish,sans-serif}span[data-v-e298a8ec],form[data-v-e298a8ec],label[data-v-e298a8ec],header[data-v-e298a8ec],body[data-v-e298a8ec],section[data-v-e298a8ec]{margin:0;padding:0;border:0;font-size:100%;text-decoration:none;font:inherit;vertical-align:baseline}button[data-v-e298a8ec]{border:none;background:none}input[data-v-e298a8ec]:focus{outline:none;border:2px solid #2ecc71;box-shadow:0 0 5px #2ecc71}.reset-password-form[data-v-e298a8ec]{width:320px;padding:40px;border-radius:12px;background:#f9f9f9;display:flex;flex-direction:column;align-items:center;gap:16px;box-shadow:0 12px 32px #00000040}.reset-password-form__title[data-v-e298a8ec]{text-align:center;font-size:22px;font-weight:600;margin:0}.reset-password-form__subtitle[data-v-e298a8ec]{text-align:center;font-size:14px;color:#666;margin:0 0 8px}.reset-password-form__error[data-v-e298a8ec]{color:#e53935;font-size:13px;margin:0;text-align:center;font-weight:500;width:100%;min-height:18px}
|