tax4all-components 0.1.13 → 0.1.15
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 +299 -193
- package/deploy/dist/index.umd.cjs +1 -1
- package/deploy/dist/src/components/BaseCodeVerification.vue.d.ts +6 -0
- package/deploy/dist/src/index.d.ts +3 -1
- package/deploy/dist/src/stories/components/BaseCodeVerification.stories.d.ts +6 -0
- package/deploy/dist/src/stories/components/ResetPassForm.stories.d.ts +3 -3
- 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 z = ["disabled"],
|
|
1
|
+
import { defineComponent as _, computed as b, openBlock as d, createElementBlock as c, normalizeClass as m, createElementVNode as t, createCommentVNode as $, toDisplayString as y, ref as k, onMounted as S, createTextVNode as V, watch as E, createVNode as h, createStaticVNode as N, Fragment as T, renderList as x, withDirectives as U, vModelText as P } from "vue";
|
|
2
|
+
const z = ["disabled"], F = {
|
|
3
3
|
key: 0,
|
|
4
4
|
class: "spinner"
|
|
5
5
|
}, M = {
|
|
6
6
|
key: 2,
|
|
7
7
|
class: "btn-label"
|
|
8
|
-
},
|
|
8
|
+
}, D = {
|
|
9
9
|
key: 4,
|
|
10
10
|
class: "btn-badge"
|
|
11
|
-
},
|
|
11
|
+
}, W = ["disabled"], L = /* @__PURE__ */ _({
|
|
12
12
|
__name: "BaseButton",
|
|
13
13
|
props: {
|
|
14
14
|
label: {},
|
|
@@ -27,10 +27,10 @@ const z = ["disabled"], N = {
|
|
|
27
27
|
emits: ["click", "split-click"],
|
|
28
28
|
setup(a, { emit: i }) {
|
|
29
29
|
const e = a, l = i;
|
|
30
|
-
function
|
|
30
|
+
function o() {
|
|
31
31
|
!e.disabled && !e.loading && l("click");
|
|
32
32
|
}
|
|
33
|
-
const
|
|
33
|
+
const s = b(() => e.label ? e.iconPosition : "left"), n = b(() => [
|
|
34
34
|
`variant-${e.variant}`,
|
|
35
35
|
`size-${e.size}`,
|
|
36
36
|
`state-${e.state}`,
|
|
@@ -39,45 +39,45 @@ const z = ["disabled"], N = {
|
|
|
39
39
|
disabled: e.disabled
|
|
40
40
|
}
|
|
41
41
|
]);
|
|
42
|
-
return (
|
|
43
|
-
class:
|
|
42
|
+
return (p, r) => (d(), c("div", {
|
|
43
|
+
class: m(["base-button-wrapper", { "full-width": e.fullWidth, split: e.split }])
|
|
44
44
|
}, [
|
|
45
|
-
|
|
46
|
-
class:
|
|
45
|
+
t("button", {
|
|
46
|
+
class: m(["base-button", n.value]),
|
|
47
47
|
disabled: a.disabled || a.loading,
|
|
48
|
-
onClick:
|
|
48
|
+
onClick: o
|
|
49
49
|
}, [
|
|
50
|
-
a.loading ? (
|
|
51
|
-
a.icon &&
|
|
50
|
+
a.loading ? (d(), c("span", F)) : $("", !0),
|
|
51
|
+
a.icon && s.value === "left" && !a.loading ? (d(), c("i", {
|
|
52
52
|
key: 1,
|
|
53
|
-
class:
|
|
54
|
-
}, null, 2)) :
|
|
55
|
-
a.label ? (
|
|
56
|
-
a.icon &&
|
|
53
|
+
class: m([a.icon, "btn-icon"])
|
|
54
|
+
}, null, 2)) : $("", !0),
|
|
55
|
+
a.label ? (d(), c("span", M, y(a.label), 1)) : $("", !0),
|
|
56
|
+
a.icon && s.value === "right" && !a.loading ? (d(), c("i", {
|
|
57
57
|
key: 3,
|
|
58
|
-
class:
|
|
59
|
-
}, null, 2)) :
|
|
60
|
-
a.badge !== void 0 ? (
|
|
58
|
+
class: m([a.icon, "btn-icon"])
|
|
59
|
+
}, null, 2)) : $("", !0),
|
|
60
|
+
a.badge !== void 0 ? (d(), c("span", D, y(a.badge), 1)) : $("", !0)
|
|
61
61
|
], 10, z),
|
|
62
|
-
a.split ? (
|
|
62
|
+
a.split ? (d(), c("button", {
|
|
63
63
|
key: 0,
|
|
64
|
-
class:
|
|
64
|
+
class: m(["base-button split-button", n.value]),
|
|
65
65
|
disabled: a.disabled,
|
|
66
|
-
onClick:
|
|
67
|
-
}, [...
|
|
68
|
-
|
|
69
|
-
])], 10,
|
|
66
|
+
onClick: r[0] || (r[0] = (f) => p.$emit("split-click"))
|
|
67
|
+
}, [...r[1] || (r[1] = [
|
|
68
|
+
t("i", { class: "bi bi-chevron-down" }, null, -1)
|
|
69
|
+
])], 10, W)) : $("", !0)
|
|
70
70
|
], 2));
|
|
71
71
|
}
|
|
72
|
-
}),
|
|
72
|
+
}), g = (a, i) => {
|
|
73
73
|
const e = a.__vccOpts || a;
|
|
74
|
-
for (const [l,
|
|
75
|
-
e[l] =
|
|
74
|
+
for (const [l, o] of i)
|
|
75
|
+
e[l] = o;
|
|
76
76
|
return e;
|
|
77
|
-
},
|
|
77
|
+
}, A = /* @__PURE__ */ g(L, [["__scopeId", "data-v-0ce8be12"]]), R = {
|
|
78
78
|
key: 0,
|
|
79
79
|
class: "base-input__label"
|
|
80
|
-
},
|
|
80
|
+
}, O = ["value", "placeholder", "readonly", "disabled", "type"], H = /* @__PURE__ */ _({
|
|
81
81
|
__name: "BaseInput",
|
|
82
82
|
props: {
|
|
83
83
|
modelValue: {},
|
|
@@ -93,105 +93,105 @@ const z = ["disabled"], N = {
|
|
|
93
93
|
},
|
|
94
94
|
emits: ["update:modelValue"],
|
|
95
95
|
setup(a, { emit: i }) {
|
|
96
|
-
const e = a, l = i,
|
|
97
|
-
function
|
|
98
|
-
const
|
|
99
|
-
l("update:modelValue",
|
|
96
|
+
const e = a, l = i, o = k(e.state);
|
|
97
|
+
function s(C) {
|
|
98
|
+
const I = C.target;
|
|
99
|
+
l("update:modelValue", I.value);
|
|
100
100
|
}
|
|
101
|
-
function
|
|
102
|
-
e.disabled || (
|
|
101
|
+
function n() {
|
|
102
|
+
e.disabled || (o.value = "focus");
|
|
103
103
|
}
|
|
104
|
-
function
|
|
105
|
-
e.disabled || (
|
|
104
|
+
function p() {
|
|
105
|
+
e.disabled || (o.value = "default");
|
|
106
106
|
}
|
|
107
|
-
function
|
|
108
|
-
e.disabled ||
|
|
107
|
+
function r() {
|
|
108
|
+
e.disabled || o.value !== "focus" && (o.value = "hover");
|
|
109
109
|
}
|
|
110
|
-
function
|
|
111
|
-
e.disabled ||
|
|
110
|
+
function f() {
|
|
111
|
+
e.disabled || o.value !== "focus" && (o.value = "default");
|
|
112
112
|
}
|
|
113
|
-
const
|
|
113
|
+
const u = b(() => [
|
|
114
114
|
"base-input",
|
|
115
115
|
`base-input--${e.variant}`,
|
|
116
116
|
`base-input--${e.size}`,
|
|
117
|
-
`base-input--${
|
|
117
|
+
`base-input--${o.value}`,
|
|
118
118
|
{
|
|
119
119
|
"base-input--full": e.fullWidth,
|
|
120
120
|
"base-input--disabled": e.disabled
|
|
121
121
|
}
|
|
122
|
-
]),
|
|
123
|
-
return (
|
|
124
|
-
class:
|
|
122
|
+
]), v = b(() => ["base-input__field"]);
|
|
123
|
+
return (C, I) => (d(), c("div", {
|
|
124
|
+
class: m(u.value)
|
|
125
125
|
}, [
|
|
126
|
-
a.label ? (
|
|
127
|
-
|
|
126
|
+
a.label ? (d(), c("label", R, y(a.label), 1)) : $("", !0),
|
|
127
|
+
t("input", {
|
|
128
128
|
value: a.modelValue,
|
|
129
129
|
placeholder: a.placeholder,
|
|
130
130
|
readonly: a.readonly,
|
|
131
131
|
disabled: a.disabled,
|
|
132
|
-
class:
|
|
132
|
+
class: m(v.value),
|
|
133
133
|
type: a.type,
|
|
134
|
-
onInput:
|
|
135
|
-
onFocus:
|
|
136
|
-
onBlur:
|
|
137
|
-
onMouseenter:
|
|
138
|
-
onMouseleave:
|
|
139
|
-
}, null, 42,
|
|
134
|
+
onInput: s,
|
|
135
|
+
onFocus: n,
|
|
136
|
+
onBlur: p,
|
|
137
|
+
onMouseenter: r,
|
|
138
|
+
onMouseleave: f
|
|
139
|
+
}, null, 42, O)
|
|
140
140
|
], 2));
|
|
141
141
|
}
|
|
142
|
-
}),
|
|
142
|
+
}), B = /* @__PURE__ */ g(H, [["__scopeId", "data-v-d79f0773"]]), q = { class: "base-snackbar__icon" }, K = { class: "base-snackbar__content" }, Y = { class: "base-snackbar__title" }, Z = { class: "base-snackbar__message" }, $e = /* @__PURE__ */ _({
|
|
143
143
|
__name: "BaseSnackbar",
|
|
144
144
|
props: {
|
|
145
145
|
title: {},
|
|
146
146
|
message: {},
|
|
147
147
|
variant: { default: "success" },
|
|
148
|
-
duration: { default:
|
|
148
|
+
duration: { default: 9e3 }
|
|
149
149
|
},
|
|
150
150
|
emits: ["close"],
|
|
151
151
|
setup(a, { emit: i }) {
|
|
152
|
-
const e = a, l = i,
|
|
153
|
-
let
|
|
154
|
-
const
|
|
152
|
+
const e = a, l = i, o = k(!1);
|
|
153
|
+
let s = null;
|
|
154
|
+
const n = 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
|
-
|
|
161
|
-
|
|
159
|
+
function p() {
|
|
160
|
+
s = setTimeout(() => {
|
|
161
|
+
o.value = !0;
|
|
162
162
|
}, e.duration);
|
|
163
163
|
}
|
|
164
|
-
function
|
|
165
|
-
|
|
164
|
+
function r(u) {
|
|
165
|
+
u.propertyName === "opacity" && o.value && l("close");
|
|
166
166
|
}
|
|
167
|
-
function
|
|
168
|
-
|
|
167
|
+
function f() {
|
|
168
|
+
s && clearTimeout(s), o.value = !0;
|
|
169
169
|
}
|
|
170
|
-
return
|
|
171
|
-
|
|
172
|
-
}), (
|
|
173
|
-
class:
|
|
174
|
-
onTransitionend:
|
|
170
|
+
return S(() => {
|
|
171
|
+
p();
|
|
172
|
+
}), (u, v) => (d(), c("div", {
|
|
173
|
+
class: m(["base-snackbar", [`base-snackbar--${a.variant}`, { "base-snackbar--hide": o.value }]]),
|
|
174
|
+
onTransitionend: r
|
|
175
175
|
}, [
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
class:
|
|
176
|
+
t("div", q, [
|
|
177
|
+
t("i", {
|
|
178
|
+
class: m(n.value)
|
|
179
179
|
}, null, 2)
|
|
180
180
|
]),
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
181
|
+
t("div", K, [
|
|
182
|
+
t("strong", Y, y(a.title), 1),
|
|
183
|
+
t("span", Z, y(a.message), 1)
|
|
184
184
|
]),
|
|
185
|
-
|
|
185
|
+
t("button", {
|
|
186
186
|
class: "base-snackbar__close",
|
|
187
|
-
onClick:
|
|
188
|
-
}, [...
|
|
189
|
-
|
|
190
|
-
|
|
187
|
+
onClick: f
|
|
188
|
+
}, [...v[0] || (v[0] = [
|
|
189
|
+
t("i", { class: "bi bi-x-lg" }, null, -1),
|
|
190
|
+
V(" Fechar ", -1)
|
|
191
191
|
])])
|
|
192
192
|
], 34));
|
|
193
193
|
}
|
|
194
|
-
}),
|
|
194
|
+
}), j = /* @__PURE__ */ _({
|
|
195
195
|
__name: "BaseAuthProviderChip",
|
|
196
196
|
props: {
|
|
197
197
|
provider: {},
|
|
@@ -199,55 +199,55 @@ const z = ["disabled"], N = {
|
|
|
199
199
|
},
|
|
200
200
|
emits: ["click"],
|
|
201
201
|
setup(a, { emit: i }) {
|
|
202
|
-
const e = a, l = i,
|
|
202
|
+
const e = a, l = i, o = b(() => ({
|
|
203
203
|
google: "Google",
|
|
204
204
|
microsoft: "Microsoft",
|
|
205
205
|
apple: "Apple"
|
|
206
|
-
})[e.provider]),
|
|
206
|
+
})[e.provider]), s = b(() => ({
|
|
207
207
|
google: "bi bi-google",
|
|
208
208
|
microsoft: "bi bi-microsoft",
|
|
209
209
|
apple: "bi bi-apple"
|
|
210
210
|
})[e.provider]);
|
|
211
|
-
function
|
|
211
|
+
function n() {
|
|
212
212
|
l("click", e.provider);
|
|
213
213
|
}
|
|
214
|
-
return (
|
|
215
|
-
class:
|
|
216
|
-
onClick:
|
|
214
|
+
return (p, r) => (d(), c("button", {
|
|
215
|
+
class: m(["auth-chip", [`auth-chip--${a.provider}`, { "auth-chip--dark": a.dark }]]),
|
|
216
|
+
onClick: n
|
|
217
217
|
}, [
|
|
218
|
-
|
|
219
|
-
class:
|
|
218
|
+
t("i", {
|
|
219
|
+
class: m(s.value)
|
|
220
220
|
}, null, 2),
|
|
221
|
-
|
|
221
|
+
t("span", null, y(o.value), 1)
|
|
222
222
|
], 2));
|
|
223
223
|
}
|
|
224
|
-
}),
|
|
224
|
+
}), w = /* @__PURE__ */ g(j, [["__scopeId", "data-v-b6215df6"]]), G = {
|
|
225
225
|
SITE_KEY: "0x4AAAAAACpnTZO7eMd0cjEL"
|
|
226
|
-
},
|
|
226
|
+
}, J = { class: "captcha-wrapper" }, Q = /* @__PURE__ */ _({
|
|
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 S(() => {
|
|
234
234
|
const l = setInterval(() => {
|
|
235
235
|
window.turnstile && i.value && (window.turnstile.render(i.value, {
|
|
236
236
|
sitekey: G.SITE_KEY,
|
|
237
237
|
callback: e
|
|
238
238
|
}), clearInterval(l));
|
|
239
239
|
}, 100);
|
|
240
|
-
}), (l,
|
|
241
|
-
|
|
240
|
+
}), (l, o) => (d(), c("div", J, [
|
|
241
|
+
t("div", {
|
|
242
242
|
ref_key: "captcha",
|
|
243
243
|
ref: i
|
|
244
244
|
}, null, 512)
|
|
245
245
|
]));
|
|
246
246
|
}
|
|
247
|
-
}),
|
|
247
|
+
}), X = /* @__PURE__ */ g(Q, [["__scopeId", "data-v-b4abb288"]]), ee = { class: "login-form__field-wrapper" }, ae = {
|
|
248
248
|
key: 0,
|
|
249
249
|
class: "login-form__error-msg"
|
|
250
|
-
},
|
|
250
|
+
}, le = { class: "login-form__providers" }, te = /* @__PURE__ */ _({
|
|
251
251
|
__name: "LoginForm",
|
|
252
252
|
props: {
|
|
253
253
|
dark: { type: Boolean, default: !1 },
|
|
@@ -255,81 +255,82 @@ 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(""), o = k(""), s = k(!1), n = b(() => l.value.trim().length < 3 || o.value.length === 0);
|
|
259
|
+
E(l, (u) => {
|
|
260
|
+
u.trim().length >= 3 && (s.value = !1);
|
|
261
261
|
});
|
|
262
|
-
function
|
|
263
|
-
n.value = !1, e("submit", {
|
|
262
|
+
function p() {
|
|
263
|
+
n.value || (s.value = !1, e("submit", {
|
|
264
264
|
username: l.value,
|
|
265
|
-
password:
|
|
266
|
-
});
|
|
265
|
+
password: o.value
|
|
266
|
+
}));
|
|
267
267
|
}
|
|
268
|
-
function u
|
|
269
|
-
|
|
268
|
+
function r(u) {
|
|
269
|
+
u.preventDefault(), l.value.trim().length >= 3 ? (s.value = !1, e("forgot-password", l.value)) : s.value = !0;
|
|
270
270
|
}
|
|
271
|
-
function
|
|
272
|
-
e("provider",
|
|
271
|
+
function f(u) {
|
|
272
|
+
e("provider", u);
|
|
273
273
|
}
|
|
274
|
-
return (
|
|
275
|
-
class:
|
|
274
|
+
return (u, v) => (d(), c("div", {
|
|
275
|
+
class: m(["login-form", { "login-form--dark": a.dark }])
|
|
276
276
|
}, [
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
277
|
+
v[2] || (v[2] = t("h2", { class: "login-form__title" }, "Acessar Sistema", -1)),
|
|
278
|
+
v[3] || (v[3] = t("p", { class: "login-form__subtitle" }, "Digite seu email e senha para continuar", -1)),
|
|
279
|
+
t("div", ee, [
|
|
280
|
+
h(B, {
|
|
281
281
|
modelValue: l.value,
|
|
282
|
-
"onUpdate:modelValue":
|
|
283
|
-
label: "
|
|
284
|
-
placeholder: "
|
|
282
|
+
"onUpdate:modelValue": v[0] || (v[0] = (C) => l.value = C),
|
|
283
|
+
label: "Email",
|
|
284
|
+
placeholder: "exemple@email.com",
|
|
285
285
|
fullWidth: ""
|
|
286
286
|
}, null, 8, ["modelValue"]),
|
|
287
|
-
|
|
287
|
+
s.value ? (d(), c("span", ae, " Por favor, informe um email válido para recuperar a senha. ")) : $("", !0)
|
|
288
288
|
]),
|
|
289
|
-
|
|
290
|
-
modelValue:
|
|
291
|
-
"onUpdate:modelValue":
|
|
289
|
+
h(B, {
|
|
290
|
+
modelValue: o.value,
|
|
291
|
+
"onUpdate:modelValue": v[1] || (v[1] = (C) => o.value = C),
|
|
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(X),
|
|
298
|
+
h(A, {
|
|
299
299
|
label: "Entrar",
|
|
300
300
|
variant: "solid",
|
|
301
301
|
loading: a.loading,
|
|
302
|
+
disabled: n.value,
|
|
302
303
|
fullWidth: "",
|
|
303
|
-
onClick:
|
|
304
|
-
}, null, 8, ["loading"]),
|
|
305
|
-
|
|
304
|
+
onClick: p
|
|
305
|
+
}, null, 8, ["loading", "disabled"]),
|
|
306
|
+
t("a", {
|
|
306
307
|
href: "#",
|
|
307
308
|
class: "login-form__forgot-link",
|
|
308
|
-
onClick:
|
|
309
|
+
onClick: r
|
|
309
310
|
}, " Esqueci minha senha "),
|
|
310
|
-
|
|
311
|
-
|
|
311
|
+
v[4] || (v[4] = t("div", { class: "login-form__divider" }, [
|
|
312
|
+
t("span", null, "OU CONTINUE COM")
|
|
312
313
|
], -1)),
|
|
313
|
-
|
|
314
|
-
|
|
314
|
+
t("div", le, [
|
|
315
|
+
h(w, {
|
|
315
316
|
provider: "google",
|
|
316
317
|
dark: a.dark,
|
|
317
|
-
onClick:
|
|
318
|
+
onClick: f
|
|
318
319
|
}, null, 8, ["dark"]),
|
|
319
|
-
|
|
320
|
+
h(w, {
|
|
320
321
|
provider: "microsoft",
|
|
321
322
|
dark: a.dark,
|
|
322
|
-
onClick:
|
|
323
|
+
onClick: f
|
|
323
324
|
}, null, 8, ["dark"]),
|
|
324
|
-
|
|
325
|
+
h(w, {
|
|
325
326
|
provider: "apple",
|
|
326
327
|
dark: a.dark,
|
|
327
|
-
onClick:
|
|
328
|
+
onClick: f
|
|
328
329
|
}, null, 8, ["dark"])
|
|
329
330
|
])
|
|
330
331
|
], 2));
|
|
331
332
|
}
|
|
332
|
-
}),
|
|
333
|
+
}), Ce = /* @__PURE__ */ g(te, [["__scopeId", "data-v-fd6f0976"]]), se = /* @__PURE__ */ _({
|
|
333
334
|
__name: "BaseThemeToggle",
|
|
334
335
|
props: {
|
|
335
336
|
modelValue: { type: Boolean, default: !1 },
|
|
@@ -339,12 +340,12 @@ const z = ["disabled"], N = {
|
|
|
339
340
|
emits: ["update:modelValue", "change"],
|
|
340
341
|
setup(a, { emit: i }) {
|
|
341
342
|
const e = a, l = i;
|
|
342
|
-
function
|
|
343
|
+
function o() {
|
|
343
344
|
if (e.disabled) return;
|
|
344
|
-
const
|
|
345
|
-
l("update:modelValue",
|
|
345
|
+
const n = !e.modelValue;
|
|
346
|
+
l("update:modelValue", n), l("change", n);
|
|
346
347
|
}
|
|
347
|
-
const
|
|
348
|
+
const s = b(() => [
|
|
348
349
|
"theme-toggle",
|
|
349
350
|
`theme-toggle--${e.size}`,
|
|
350
351
|
{
|
|
@@ -352,14 +353,14 @@ const z = ["disabled"], N = {
|
|
|
352
353
|
"theme-toggle--disabled": e.disabled
|
|
353
354
|
}
|
|
354
355
|
]);
|
|
355
|
-
return (
|
|
356
|
-
class:
|
|
357
|
-
onClick:
|
|
358
|
-
}, [...
|
|
359
|
-
|
|
356
|
+
return (n, p) => (d(), c("div", {
|
|
357
|
+
class: m(s.value),
|
|
358
|
+
onClick: o
|
|
359
|
+
}, [...p[0] || (p[0] = [
|
|
360
|
+
N('<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
361
|
])], 2));
|
|
361
362
|
}
|
|
362
|
-
}),
|
|
363
|
+
}), oe = /* @__PURE__ */ g(se, [["__scopeId", "data-v-af2312ab"]]), ne = { class: "app-header__left" }, ie = ["src"], de = { class: "app-header__right" }, ce = { class: "app-header__theme" }, re = ["src"], ue = /* @__PURE__ */ _({
|
|
363
364
|
__name: "BaseHeader",
|
|
364
365
|
props: {
|
|
365
366
|
userName: {},
|
|
@@ -371,45 +372,45 @@ const z = ["disabled"], N = {
|
|
|
371
372
|
emits: ["update:theme", "profile-click"],
|
|
372
373
|
setup(a, { emit: i }) {
|
|
373
374
|
const e = a, l = i;
|
|
374
|
-
function
|
|
375
|
-
l("update:theme",
|
|
375
|
+
function o(p) {
|
|
376
|
+
l("update:theme", p);
|
|
376
377
|
}
|
|
377
|
-
function
|
|
378
|
+
function s() {
|
|
378
379
|
l("profile-click");
|
|
379
380
|
}
|
|
380
|
-
const
|
|
381
|
-
return (
|
|
382
|
-
class:
|
|
381
|
+
const n = b(() => ["app-header", `app-header--${e.mode}`]);
|
|
382
|
+
return (p, r) => (d(), c("header", {
|
|
383
|
+
class: m(n.value)
|
|
383
384
|
}, [
|
|
384
|
-
|
|
385
|
-
|
|
385
|
+
t("div", ne, [
|
|
386
|
+
t("img", {
|
|
386
387
|
src: e.logo,
|
|
387
388
|
class: "app-header__logo",
|
|
388
389
|
alt: "Tax For All"
|
|
389
|
-
}, null, 8,
|
|
390
|
+
}, null, 8, ie)
|
|
390
391
|
]),
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
392
|
+
t("div", de, [
|
|
393
|
+
t("div", ce, [
|
|
394
|
+
r[0] || (r[0] = t("span", { class: "app-header__theme-label" }, " Tema ", -1)),
|
|
395
|
+
h(oe, {
|
|
395
396
|
"model-value": e.theme,
|
|
396
397
|
size: "sm",
|
|
397
|
-
"onUpdate:modelValue":
|
|
398
|
+
"onUpdate:modelValue": o
|
|
398
399
|
}, null, 8, ["model-value"])
|
|
399
400
|
]),
|
|
400
|
-
|
|
401
|
+
t("button", {
|
|
401
402
|
class: "app-header__profile",
|
|
402
|
-
onClick:
|
|
403
|
+
onClick: s
|
|
403
404
|
}, [
|
|
404
|
-
|
|
405
|
+
t("img", {
|
|
405
406
|
src: e.userAvatar,
|
|
406
407
|
class: "app-header__avatar"
|
|
407
|
-
}, null, 8,
|
|
408
|
+
}, null, 8, re)
|
|
408
409
|
])
|
|
409
410
|
])
|
|
410
411
|
], 2));
|
|
411
412
|
}
|
|
412
|
-
}),
|
|
413
|
+
}), Be = /* @__PURE__ */ g(ue, [["__scopeId", "data-v-d01c874c"]]), me = ["onClick"], pe = /* @__PURE__ */ _({
|
|
413
414
|
__name: "BaseDropdown",
|
|
414
415
|
props: {
|
|
415
416
|
items: {},
|
|
@@ -418,32 +419,137 @@ const z = ["disabled"], N = {
|
|
|
418
419
|
emits: ["action"],
|
|
419
420
|
setup(a, { emit: i }) {
|
|
420
421
|
const e = a, l = i;
|
|
421
|
-
function
|
|
422
|
-
l("action",
|
|
422
|
+
function o(n) {
|
|
423
|
+
l("action", n.key);
|
|
423
424
|
}
|
|
424
|
-
const
|
|
425
|
-
return (
|
|
426
|
-
class:
|
|
425
|
+
const s = b(() => ["dropdown", `dropdown--${e.mode}`]);
|
|
426
|
+
return (n, p) => (d(), c("div", {
|
|
427
|
+
class: m(s.value)
|
|
427
428
|
}, [
|
|
428
|
-
(
|
|
429
|
-
key:
|
|
430
|
-
class:
|
|
431
|
-
onClick: (
|
|
429
|
+
(d(!0), c(T, null, x(e.items, (r) => (d(), c("button", {
|
|
430
|
+
key: r.key,
|
|
431
|
+
class: m(["dropdown__item", { danger: r.danger }]),
|
|
432
|
+
onClick: (f) => o(r)
|
|
432
433
|
}, [
|
|
433
|
-
|
|
434
|
-
class:
|
|
434
|
+
t("i", {
|
|
435
|
+
class: m(r.icon)
|
|
435
436
|
}, null, 2),
|
|
436
|
-
|
|
437
|
-
], 10,
|
|
437
|
+
t("span", null, y(r.label), 1)
|
|
438
|
+
], 10, me))), 128))
|
|
438
439
|
], 2));
|
|
439
440
|
}
|
|
440
|
-
}),
|
|
441
|
+
}), we = /* @__PURE__ */ g(pe, [["__scopeId", "data-v-8ab8c529"]]), fe = { class: "reset-password-form" }, ve = { class: "reset-password-form__checklist" }, be = /* @__PURE__ */ _({
|
|
442
|
+
__name: "ResetPassForm",
|
|
443
|
+
props: {
|
|
444
|
+
loading: { type: Boolean, default: !1 }
|
|
445
|
+
},
|
|
446
|
+
emits: ["submit"],
|
|
447
|
+
setup(a, { emit: i }) {
|
|
448
|
+
const e = i, l = k(""), o = k(""), s = b(() => [
|
|
449
|
+
{ label: "Mínimo 8 caracteres", check: l.value.length >= 8 },
|
|
450
|
+
{ label: "Uma letra maiúscula", check: /[A-Z]/.test(l.value) },
|
|
451
|
+
{ label: "Uma letra minúscula", check: /[a-z]/.test(l.value) },
|
|
452
|
+
{ label: "Um número", check: /[0-9]/.test(l.value) },
|
|
453
|
+
{
|
|
454
|
+
label: "Um caractere especial (@$!%*?&)",
|
|
455
|
+
check: /[!@#$%^&*(),.?":{}|<>]/.test(l.value)
|
|
456
|
+
},
|
|
457
|
+
{
|
|
458
|
+
label: "As senhas coincidem",
|
|
459
|
+
check: l.value === o.value && o.value !== ""
|
|
460
|
+
}
|
|
461
|
+
]), n = b(() => !s.value.every((r) => r.check));
|
|
462
|
+
function p() {
|
|
463
|
+
n.value || e("submit", l.value);
|
|
464
|
+
}
|
|
465
|
+
return (r, f) => (d(), c("div", fe, [
|
|
466
|
+
f[2] || (f[2] = t("h2", { class: "reset-password-form__title" }, "Redefinir Senha", -1)),
|
|
467
|
+
f[3] || (f[3] = t("p", { class: "reset-password-form__subtitle" }, "Crie uma nova senha segura para continuar.", -1)),
|
|
468
|
+
h(B, {
|
|
469
|
+
modelValue: l.value,
|
|
470
|
+
"onUpdate:modelValue": f[0] || (f[0] = (u) => l.value = u),
|
|
471
|
+
label: "Nova Senha",
|
|
472
|
+
placeholder: "Digite sua senha",
|
|
473
|
+
type: "password",
|
|
474
|
+
fullWidth: ""
|
|
475
|
+
}, null, 8, ["modelValue"]),
|
|
476
|
+
h(B, {
|
|
477
|
+
modelValue: o.value,
|
|
478
|
+
"onUpdate:modelValue": f[1] || (f[1] = (u) => o.value = u),
|
|
479
|
+
label: "Confirmar Senha",
|
|
480
|
+
placeholder: "Repita a nova senha",
|
|
481
|
+
type: "password",
|
|
482
|
+
fullWidth: ""
|
|
483
|
+
}, null, 8, ["modelValue"]),
|
|
484
|
+
t("ul", ve, [
|
|
485
|
+
(d(!0), c(T, null, x(s.value, (u, v) => (d(), c("li", {
|
|
486
|
+
key: v,
|
|
487
|
+
class: m({ "is-valid": u.check })
|
|
488
|
+
}, [
|
|
489
|
+
t("i", {
|
|
490
|
+
class: m(u.check ? "bi bi-check" : "bi bi-x")
|
|
491
|
+
}, null, 2),
|
|
492
|
+
V(" " + y(u.label), 1)
|
|
493
|
+
], 2))), 128))
|
|
494
|
+
]),
|
|
495
|
+
h(A, {
|
|
496
|
+
label: "Salvar Nova Senha",
|
|
497
|
+
variant: "solid",
|
|
498
|
+
loading: a.loading,
|
|
499
|
+
disabled: n.value,
|
|
500
|
+
fullWidth: "",
|
|
501
|
+
onClick: p
|
|
502
|
+
}, null, 8, ["loading", "disabled"])
|
|
503
|
+
]));
|
|
504
|
+
}
|
|
505
|
+
}), Ve = /* @__PURE__ */ g(be, [["__scopeId", "data-v-9e2eaa9a"]]), he = { class: "code-verification" }, _e = { class: "code-verification__input-container" }, ge = { class: "code-verification__slots" }, ke = /* @__PURE__ */ _({
|
|
506
|
+
__name: "BaseCodeVerification",
|
|
507
|
+
emits: ["submit"],
|
|
508
|
+
setup(a, { emit: i }) {
|
|
509
|
+
const e = i, l = k("");
|
|
510
|
+
return E(l, (o) => {
|
|
511
|
+
const s = o.replace(/\D/g, "");
|
|
512
|
+
s.length > 4 ? l.value = s.slice(0, 4) : l.value = s, l.value.length === 4 && e("submit", l.value);
|
|
513
|
+
}), (o, s) => (d(), c("div", he, [
|
|
514
|
+
s[3] || (s[3] = t("h2", { class: "code-verification__title" }, "Verifique seu e-mail", -1)),
|
|
515
|
+
s[4] || (s[4] = t("p", { class: "code-verification__subtitle" }, " Enviamos um código de 4 dígitos para o seu e-mail. Digite-o abaixo: ", -1)),
|
|
516
|
+
t("div", _e, [
|
|
517
|
+
U(t("input", {
|
|
518
|
+
"onUpdate:modelValue": s[0] || (s[0] = (n) => l.value = n),
|
|
519
|
+
type: "tel",
|
|
520
|
+
maxlength: "4",
|
|
521
|
+
pattern: "[0-9]*",
|
|
522
|
+
inputmode: "numeric",
|
|
523
|
+
class: "code-verification__hidden-input",
|
|
524
|
+
autofocus: ""
|
|
525
|
+
}, null, 512), [
|
|
526
|
+
[P, l.value]
|
|
527
|
+
]),
|
|
528
|
+
t("div", ge, [
|
|
529
|
+
(d(), c(T, null, x(4, (n) => t("div", {
|
|
530
|
+
key: n,
|
|
531
|
+
class: m(["code-verification__underline", { "is-active": l.value.length === n - 1 || l.value.length === 4 && n === 4 }])
|
|
532
|
+
}, y(l.value[n - 1] || ""), 3)), 64))
|
|
533
|
+
])
|
|
534
|
+
]),
|
|
535
|
+
t("button", {
|
|
536
|
+
class: "code-verification__resend",
|
|
537
|
+
onClick: s[1] || (s[1] = (n) => l.value = "")
|
|
538
|
+
}, [...s[2] || (s[2] = [
|
|
539
|
+
V(" Não recebi o código. ", -1),
|
|
540
|
+
t("strong", null, "Reenviar", -1)
|
|
541
|
+
])])
|
|
542
|
+
]));
|
|
543
|
+
}
|
|
544
|
+
}), Te = /* @__PURE__ */ g(ke, [["__scopeId", "data-v-02c59f14"]]);
|
|
441
545
|
export {
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
546
|
+
A as BaseButton,
|
|
547
|
+
Te as BaseCodeVerification,
|
|
548
|
+
we as BaseDropdown,
|
|
549
|
+
Be as BaseHeader,
|
|
550
|
+
B as BaseInput,
|
|
551
|
+
$e as BaseSnackbar,
|
|
552
|
+
oe as BaseThemeToggle,
|
|
553
|
+
Ce as LoginForm,
|
|
554
|
+
Ve as ResetPassForm
|
|
449
555
|
};
|
|
@@ -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(f,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(f=typeof globalThis<"u"?globalThis:f||self,e(f["tax4all-components"]={},f.Vue))})(this,function(f,e){"use strict";const B=["disabled"],E={key:0,class:"spinner"},C={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 n(){!a.disabled&&!a.loading&&l("click")}const o=e.computed(()=>a.label?a.iconPosition:"left"),s=e.computed(()=>[`variant-${a.variant}`,`size-${a.size}`,`state-${a.state}`,{"icon-only":a.icon&&!a.label,disabled:a.disabled}]);return(d,c)=>(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",s.value]),disabled:t.disabled||t.loading,onClick:n},[t.loading?(e.openBlock(),e.createElementBlock("span",E)):e.createCommentVNode("",!0),t.icon&&o.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",C,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0),t.icon&&o.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,B),t.split?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(["base-button split-button",s.value]),disabled:t.disabled,onClick:c[0]||(c[0]=m=>d.$emit("split-click"))},[...c[1]||(c[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,n]of i)a[l]=n;return a},h=u($,[["__scopeId","data-v-0ce8be12"]]),w={key:0,class:"base-input__label"},T=["value","placeholder","readonly","disabled","type"],_=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,n=e.ref(a.state);function o(b){const V=b.target;l("update:modelValue",V.value)}function s(){a.disabled||(n.value="focus")}function d(){a.disabled||(n.value="default")}function c(){a.disabled||n.value!=="focus"&&(n.value="hover")}function m(){a.disabled||n.value!=="focus"&&(n.value="default")}const r=e.computed(()=>["base-input",`base-input--${a.variant}`,`base-input--${a.size}`,`base-input--${n.value}`,{"base-input--full":a.fullWidth,"base-input--disabled":a.disabled}]),p=e.computed(()=>["base-input__field"]);return(b,V)=>(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(p.value),type:t.type,onInput:o,onFocus:s,onBlur:d,onMouseenter:c,onMouseleave:m},null,42,T)],2))}}),[["__scopeId","data-v-d79f0773"]]),z={class:"base-snackbar__icon"},S={class:"base-snackbar__content"},I={class:"base-snackbar__title"},D={class:"base-snackbar__message"},x=e.defineComponent({__name:"BaseSnackbar",props:{title:{},message:{},variant:{default:"success"},duration:{default:9e3}},emits:["close"],setup(t,{emit:i}){const a=t,l=i,n=e.ref(!1);let o=null;const s=e.computed(()=>({success:"bi bi-check-circle-fill",warning:"bi bi-exclamation-triangle-fill",critical:"bi bi-x-circle-fill"})[a.variant]);function d(){o=setTimeout(()=>{n.value=!0},a.duration)}function c(r){r.propertyName==="opacity"&&n.value&&l("close")}function m(){o&&clearTimeout(o),n.value=!0}return e.onMounted(()=>{d()}),(r,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["base-snackbar",[`base-snackbar--${t.variant}`,{"base-snackbar--hide":n.value}]]),onTransitionend:c},[e.createElementVNode("div",z,[e.createElementVNode("i",{class:e.normalizeClass(s.value)},null,2)]),e.createElementVNode("div",S,[e.createElementVNode("strong",I,e.toDisplayString(t.title),1),e.createElementVNode("span",D,e.toDisplayString(t.message),1)]),e.createElementVNode("button",{class:"base-snackbar__close",onClick:m},[...p[0]||(p[0]=[e.createElementVNode("i",{class:"bi bi-x-lg"},null,-1),e.createTextVNode(" Fechar ",-1)])])],34))}}),g=u(e.defineComponent({__name:"BaseAuthProviderChip",props:{provider:{},dark:{type:Boolean,default:!1}},emits:["click"],setup(t,{emit:i}){const a=t,l=i,n=e.computed(()=>({google:"Google",microsoft:"Microsoft",apple:"Apple"})[a.provider]),o=e.computed(()=>({google:"bi bi-google",microsoft:"bi bi-microsoft",apple:"bi bi-apple"})[a.provider]);function s(){l("click",a.provider)}return(d,c)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(["auth-chip",[`auth-chip--${t.provider}`,{"auth-chip--dark":t.dark}]]),onClick:s},[e.createElementVNode("i",{class:e.normalizeClass(o.value)},null,2),e.createElementVNode("span",null,e.toDisplayString(n.value),1)],2))}}),[["__scopeId","data-v-b6215df6"]]),A={SITE_KEY:"0x4AAAAAACpnTZO7eMd0cjEL"},F={class:"captcha-wrapper"},P=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:A.SITE_KEY,callback:a}),clearInterval(l))},100)}),(l,n)=>(e.openBlock(),e.createElementBlock("div",F,[e.createElementVNode("div",{ref_key:"captcha",ref:i},null,512)]))}}),[["__scopeId","data-v-b4abb288"]]),M={class:"login-form__field-wrapper"},U={key:0,class:"login-form__error-msg"},W={class:"login-form__providers"},L=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(""),n=e.ref(""),o=e.ref(!1),s=e.computed(()=>l.value.trim().length<3||n.value.length===0);e.watch(l,r=>{r.trim().length>=3&&(o.value=!1)});function d(){s.value||(o.value=!1,a("submit",{username:l.value,password:n.value}))}function c(r){r.preventDefault(),l.value.trim().length>=3?(o.value=!1,a("forgot-password",l.value)):o.value=!0}function m(r){a("provider",r)}return(r,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["login-form",{"login-form--dark":t.dark}])},[p[2]||(p[2]=e.createElementVNode("h2",{class:"login-form__title"},"Acessar Sistema",-1)),p[3]||(p[3]=e.createElementVNode("p",{class:"login-form__subtitle"},"Digite seu email e senha para continuar",-1)),e.createElementVNode("div",M,[e.createVNode(_,{modelValue:l.value,"onUpdate:modelValue":p[0]||(p[0]=b=>l.value=b),label:"Email",placeholder:"exemple@email.com",fullWidth:""},null,8,["modelValue"]),o.value?(e.openBlock(),e.createElementBlock("span",U," Por favor, informe um email válido para recuperar a senha. ")):e.createCommentVNode("",!0)]),e.createVNode(_,{modelValue:n.value,"onUpdate:modelValue":p[1]||(p[1]=b=>n.value=b),label:"Senha",placeholder:"Sua senha",type:"password",fullWidth:""},null,8,["modelValue"]),e.createVNode(P),e.createVNode(h,{label:"Entrar",variant:"solid",loading:t.loading,disabled:s.value,fullWidth:"",onClick:d},null,8,["loading","disabled"]),e.createElementVNode("a",{href:"#",class:"login-form__forgot-link",onClick:c}," Esqueci minha senha "),p[4]||(p[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:m},null,8,["dark"]),e.createVNode(g,{provider:"microsoft",dark:t.dark,onClick:m},null,8,["dark"]),e.createVNode(g,{provider:"apple",dark:t.dark,onClick:m},null,8,["dark"])])],2))}}),[["__scopeId","data-v-fd6f0976"]]),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 n(){if(a.disabled)return;const s=!a.modelValue;l("update:modelValue",s),l("change",s)}const o=e.computed(()=>["theme-toggle",`theme-toggle--${a.size}`,{"theme-toggle--dark":a.modelValue,"theme-toggle--disabled":a.disabled}]);return(s,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value),onClick:n},[...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"]]),R={class:"app-header__left"},O=["src"],v={class:"app-header__right"},H={class:"app-header__theme"},j=["src"],q=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 n(d){l("update:theme",d)}function o(){l("profile-click")}const s=e.computed(()=>["app-header",`app-header--${a.mode}`]);return(d,c)=>(e.openBlock(),e.createElementBlock("header",{class:e.normalizeClass(s.value)},[e.createElementVNode("div",R,[e.createElementVNode("img",{src:a.logo,class:"app-header__logo",alt:"Tax For All"},null,8,O)]),e.createElementVNode("div",v,[e.createElementVNode("div",H,[c[0]||(c[0]=e.createElementVNode("span",{class:"app-header__theme-label"}," Tema ",-1)),e.createVNode(k,{"model-value":a.theme,size:"sm","onUpdate:modelValue":n},null,8,["model-value"])]),e.createElementVNode("button",{class:"app-header__profile",onClick:o},[e.createElementVNode("img",{src:a.userAvatar,class:"app-header__avatar"},null,8,j)])])],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 n(s){l("action",s.key)}const o=e.computed(()=>["dropdown",`dropdown--${a.mode}`]);return(s,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.items,c=>(e.openBlock(),e.createElementBlock("button",{key:c.key,class:e.normalizeClass(["dropdown__item",{danger:c.danger}]),onClick:m=>n(c)},[e.createElementVNode("i",{class:e.normalizeClass(c.icon)},null,2),e.createElementVNode("span",null,e.toDisplayString(c.label),1)],10,K))),128))],2))}}),[["__scopeId","data-v-8ab8c529"]]),Z={class:"reset-password-form"},G={class:"reset-password-form__checklist"},J=u(e.defineComponent({__name:"ResetPassForm",props:{loading:{type:Boolean,default:!1}},emits:["submit"],setup(t,{emit:i}){const a=i,l=e.ref(""),n=e.ref(""),o=e.computed(()=>[{label:"Mínimo 8 caracteres",check:l.value.length>=8},{label:"Uma letra maiúscula",check:/[A-Z]/.test(l.value)},{label:"Uma letra minúscula",check:/[a-z]/.test(l.value)},{label:"Um número",check:/[0-9]/.test(l.value)},{label:"Um caractere especial (@$!%*?&)",check:/[!@#$%^&*(),.?":{}|<>]/.test(l.value)},{label:"As senhas coincidem",check:l.value===n.value&&n.value!==""}]),s=e.computed(()=>!o.value.every(c=>c.check));function d(){s.value||a("submit",l.value)}return(c,m)=>(e.openBlock(),e.createElementBlock("div",Z,[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 segura para continuar.",-1)),e.createVNode(_,{modelValue:l.value,"onUpdate:modelValue":m[0]||(m[0]=r=>l.value=r),label:"Nova Senha",placeholder:"Digite sua senha",type:"password",fullWidth:""},null,8,["modelValue"]),e.createVNode(_,{modelValue:n.value,"onUpdate:modelValue":m[1]||(m[1]=r=>n.value=r),label:"Confirmar Senha",placeholder:"Repita a nova senha",type:"password",fullWidth:""},null,8,["modelValue"]),e.createElementVNode("ul",G,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(r,p)=>(e.openBlock(),e.createElementBlock("li",{key:p,class:e.normalizeClass({"is-valid":r.check})},[e.createElementVNode("i",{class:e.normalizeClass(r.check?"bi bi-check":"bi bi-x")},null,2),e.createTextVNode(" "+e.toDisplayString(r.label),1)],2))),128))]),e.createVNode(h,{label:"Salvar Nova Senha",variant:"solid",loading:t.loading,disabled:s.value,fullWidth:"",onClick:d},null,8,["loading","disabled"])]))}}),[["__scopeId","data-v-9e2eaa9a"]]),Q={class:"code-verification"},X={class:"code-verification__input-container"},ee={class:"code-verification__slots"},ae=u(e.defineComponent({__name:"BaseCodeVerification",emits:["submit"],setup(t,{emit:i}){const a=i,l=e.ref("");return e.watch(l,n=>{const o=n.replace(/\D/g,"");o.length>4?l.value=o.slice(0,4):l.value=o,l.value.length===4&&a("submit",l.value)}),(n,o)=>(e.openBlock(),e.createElementBlock("div",Q,[o[3]||(o[3]=e.createElementVNode("h2",{class:"code-verification__title"},"Verifique seu e-mail",-1)),o[4]||(o[4]=e.createElementVNode("p",{class:"code-verification__subtitle"}," Enviamos um código de 4 dígitos para o seu e-mail. Digite-o abaixo: ",-1)),e.createElementVNode("div",X,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":o[0]||(o[0]=s=>l.value=s),type:"tel",maxlength:"4",pattern:"[0-9]*",inputmode:"numeric",class:"code-verification__hidden-input",autofocus:""},null,512),[[e.vModelText,l.value]]),e.createElementVNode("div",ee,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(4,s=>e.createElementVNode("div",{key:s,class:e.normalizeClass(["code-verification__underline",{"is-active":l.value.length===s-1||l.value.length===4&&s===4}])},e.toDisplayString(l.value[s-1]||""),3)),64))])]),e.createElementVNode("button",{class:"code-verification__resend",onClick:o[1]||(o[1]=s=>l.value="")},[...o[2]||(o[2]=[e.createTextVNode(" Não recebi o código. ",-1),e.createElementVNode("strong",null,"Reenviar",-1)])])]))}}),[["__scopeId","data-v-02c59f14"]]);f.BaseButton=h,f.BaseCodeVerification=ae,f.BaseDropdown=Y,f.BaseHeader=q,f.BaseInput=_,f.BaseSnackbar=x,f.BaseThemeToggle=k,f.LoginForm=L,f.ResetPassForm=J,Object.defineProperty(f,Symbol.toStringTag,{value:"Module"})});
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
2
|
+
submit: (code: string) => any;
|
|
3
|
+
}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{
|
|
4
|
+
onSubmit?: ((code: string) => any) | undefined;
|
|
5
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
|
|
6
|
+
export default _default;
|
|
@@ -5,11 +5,13 @@ 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';
|
|
9
|
+
import { default as BaseCodeVerification } from './components/BaseCodeVerification.vue';
|
|
8
10
|
import { IBaseButtonProps, ButtonVariant, ButtonSize, ButtonState, IconPosition } from './interfaces/IBaseButton';
|
|
9
11
|
import { IBaseInputProps, InputVariant, InputSize, InputState } from './interfaces/IBaseInput';
|
|
10
12
|
import { IBaseSnackbarProps, SnackbarVariant } from './interfaces/IBaseSnackbar';
|
|
11
13
|
import { IHeaderProps } from './interfaces/IBaseHeader';
|
|
12
14
|
import { IDropdownProps, IDropdownItem } from './interfaces/IDropdown';
|
|
13
15
|
import { IThemeToggleProps } from './interfaces/IThemeToggle';
|
|
14
|
-
export { BaseButton, BaseInput, BaseSnackbar, LoginForm, BaseHeader, BaseDropdown, BaseThemeToggle, };
|
|
16
|
+
export { BaseButton, BaseInput, BaseSnackbar, LoginForm, BaseHeader, BaseDropdown, BaseThemeToggle, ResetPassForm, BaseCodeVerification, };
|
|
15
17
|
export type { IBaseButtonProps, ButtonVariant, ButtonSize, ButtonState, IconPosition, IBaseInputProps, InputVariant, InputSize, InputState, IBaseSnackbarProps, SnackbarVariant, IHeaderProps, IDropdownProps, IDropdownItem, IThemeToggleProps, };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/vue3';
|
|
2
|
+
import { default as BaseCodeVerification } from '../../components/BaseCodeVerification.vue';
|
|
3
|
+
declare const meta: Meta<typeof BaseCodeVerification>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof BaseCodeVerification>;
|
|
6
|
+
export declare const Default: Story;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Meta, StoryObj } from '@storybook/vue3-vite';
|
|
2
|
-
import { default as
|
|
3
|
-
declare const meta: Meta<typeof
|
|
2
|
+
import { default as ResetPasswordForm } from '../../components/ResetPassForm.vue';
|
|
3
|
+
declare const meta: Meta<typeof ResetPasswordForm>;
|
|
4
4
|
export default meta;
|
|
5
|
-
type Story = StoryObj<typeof
|
|
5
|
+
type Story = StoryObj<typeof ResetPasswordForm>;
|
|
6
6
|
export declare const Default: Story;
|
|
7
7
|
export declare const Loading: Story;
|
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;margin-bottom:12px;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-fd6f0976]{font-family:Mulish,sans-serif}span[data-v-fd6f0976],form[data-v-fd6f0976],label[data-v-fd6f0976],header[data-v-fd6f0976],body[data-v-fd6f0976],section[data-v-fd6f0976]{margin:0;padding:0;border:0;font-size:100%;text-decoration:none;font:inherit;vertical-align:baseline}button[data-v-fd6f0976]{border:none;background:none}input[data-v-fd6f0976]:focus{outline:none;border:2px solid #2ecc71;box-shadow:0 0 5px #2ecc71}.login-form[data-v-fd6f0976]{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-fd6f0976]{background:#1a1a1a}.login-form--dark .login-form__title[data-v-fd6f0976]{color:#fff}.login-form--dark .login-form__subtitle[data-v-fd6f0976]{color:#999}.login-form--dark .login-form__forgot-link[data-v-fd6f0976]{color:#00aa76}.login-form__field-wrapper[data-v-fd6f0976]{width:100%;display:flex;flex-direction:column;gap:4px}.login-form__error-msg[data-v-fd6f0976]{font-size:11px;color:#c93f58;margin-left:4px;font-weight:500}.login-form__title[data-v-fd6f0976]{text-align:center;font-size:22px;font-weight:600;color:#2b2b2b;margin:0}.login-form__subtitle[data-v-fd6f0976]{text-align:center;font-size:14px;color:#666;margin:0}.login-form__forgot-link[data-v-fd6f0976]{font-size:13px;color:#017955;text-decoration:none;font-weight:500}.login-form__forgot-link[data-v-fd6f0976]:hover{text-decoration:underline}.login-form__divider[data-v-fd6f0976]{width:100%;display:flex;align-items:center;gap:10px;color:#999;font-size:12px;margin:8px 0}.login-form__divider[data-v-fd6f0976]:before,.login-form__divider[data-v-fd6f0976]:after{content:"";flex:1;height:1px;background:#e0e0e0}.login-form__providers[data-v-fd6f0976]{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-9e2eaa9a]{font-family:Mulish,sans-serif}span[data-v-9e2eaa9a],form[data-v-9e2eaa9a],label[data-v-9e2eaa9a],header[data-v-9e2eaa9a],body[data-v-9e2eaa9a],section[data-v-9e2eaa9a]{margin:0;padding:0;border:0;font-size:100%;text-decoration:none;font:inherit;vertical-align:baseline}button[data-v-9e2eaa9a]{border:none;background:none}input[data-v-9e2eaa9a]:focus{outline:none;border:2px solid #2ecc71;box-shadow:0 0 5px #2ecc71}.reset-password-form[data-v-9e2eaa9a]{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-9e2eaa9a]{text-align:center;font-size:22px;font-weight:600;margin:0;color:#2b2b2b}.reset-password-form__subtitle[data-v-9e2eaa9a]{text-align:center;font-size:14px;color:#666;margin:0 0 4px}.reset-password-form__checklist[data-v-9e2eaa9a]{width:100%;list-style:none;padding:12px;margin:0;background:#f0f0f0;border-radius:8px;display:flex;flex-direction:column;gap:6px}.reset-password-form__checklist li[data-v-9e2eaa9a]{font-size:12px;color:#c93f58;display:flex;align-items:center;gap:8px;transition:all .2s ease}.reset-password-form__checklist li i[data-v-9e2eaa9a]{font-size:16px;line-height:1}.reset-password-form__checklist li.is-valid[data-v-9e2eaa9a]{color:#017a74}[data-v-02c59f14]{font-family:Mulish,sans-serif}span[data-v-02c59f14],form[data-v-02c59f14],label[data-v-02c59f14],header[data-v-02c59f14],body[data-v-02c59f14],section[data-v-02c59f14]{margin:0;padding:0;border:0;font-size:100%;text-decoration:none;font:inherit;vertical-align:baseline}button[data-v-02c59f14]{border:none;background:none}input[data-v-02c59f14]:focus{outline:none;border:2px solid #2ecc71;box-shadow:0 0 5px #2ecc71}.code-verification[data-v-02c59f14]{width:320px;padding:40px;border-radius:12px;background:#f9f9f9;display:flex;flex-direction:column;align-items:center;gap:24px;box-shadow:0 12px 32px #00000040}.code-verification__title[data-v-02c59f14]{font-size:20px;font-weight:600;color:#2b2b2b;margin:0}.code-verification__subtitle[data-v-02c59f14]{text-align:center;font-size:14px;color:#666;line-height:1.4;margin:0}.code-verification__input-container[data-v-02c59f14]{position:relative;width:100%;display:flex;justify-content:center}.code-verification__hidden-input[data-v-02c59f14]{position:absolute;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}.code-verification__slots[data-v-02c59f14]{display:flex;gap:16px}.code-verification__underline[data-v-02c59f14]{width:40px;height:50px;border-bottom:3px solid #cccccc;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#017955;transition:all .2s ease}.code-verification__underline.is-active[data-v-02c59f14]{border-bottom-color:#00aa76;color:#00aa76}.code-verification__resend[data-v-02c59f14]{background:none;border:none;font-size:13px;color:#666;cursor:pointer}.code-verification__resend strong[data-v-02c59f14]{color:#017955}.code-verification__resend strong[data-v-02c59f14]:hover{text-decoration:underline}
|