@tapni/auth 0.0.169 → 1.0.2

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.
Files changed (40) hide show
  1. package/dist/.vite/manifest.json +48 -10
  2. package/dist/Account-IR-XgmiM.js +153 -0
  3. package/dist/Apps-CQXLKu2F.js +112 -0
  4. package/dist/CustomApp-FxfYHVid.js +112 -0
  5. package/dist/General-BVjTsECb.js +477 -0
  6. package/dist/{QR-ybXT1KGe.js → QR-B60f-H2Q.js} +11 -11
  7. package/dist/TapniAuth.es.js +1 -1
  8. package/dist/TapniAuth.umd.js +17 -17
  9. package/dist/index.css +193 -0
  10. package/dist/{install-4aK3Wz63.js → install-BOPYSGGa.js} +3669 -3702
  11. package/dist/style.css +1 -1
  12. package/dist/{web-NrPZl3qD.js → web-XbruGdlD.js} +2 -5
  13. package/package.json +3 -3
  14. package/src/App.vue +6 -19
  15. package/src/components/{Language.vue → DELETE_Language.vue} +1 -1
  16. package/src/components/{ModalOverlay.vue → DELETE_ModalOverlay.vue} +2 -2
  17. package/src/components/{OTP.vue → DELETE_OTP.vue} +3 -3
  18. package/src/main.js +1 -0
  19. package/src/mixins/DELETE_mfa-auth.mixin.js +53 -0
  20. package/src/mixins/auth.mixin.js +7 -1
  21. package/src/mixins/global.mixin.js +7 -0
  22. package/src/routes.js +27 -15
  23. package/src/store/auth.js +1 -1
  24. package/src/store/constants.js +2 -6
  25. package/src/store/locales/en.js +28 -3
  26. package/src/views/Account.vue +72 -110
  27. package/src/views/Apps.vue +106 -0
  28. package/src/views/CustomApp.vue +106 -0
  29. package/src/views/General.vue +192 -0
  30. package/src/views/Login.vue +27 -10
  31. package/src/views/QR.vue +1 -1
  32. package/src/views/Security.vue +322 -0
  33. package/src/views/Welcome.vue +10 -4
  34. package/dist/Account-ja1hZJy5.js +0 -113
  35. package/src/mixins/mfa-auth.mixin.js +0 -76
  36. package/src/views/MFA.vue +0 -117
  37. /package/dist/{web-L3jORB19.js → web-AXRKjAOB.js} +0 -0
  38. /package/dist/{web-5VtGcKeU.js → web-IFGkBi0t.js} +0 -0
  39. /package/dist/{web-AImUTDQQ.js → web-LIfHmYL2.js} +0 -0
  40. /package/src/components/{LinkIcon.vue → DELETE_LinkIcon.vue} +0 -0
@@ -0,0 +1,477 @@
1
+ import { _ as le, A as oe, E as te } from "./install-BOPYSGGa.js";
2
+ import "await-to-js";
3
+ import { defineComponent as R, mergeModels as F, useModel as ne, ref as z, computed as q, watch as Z, onMounted as ie, onBeforeUnmount as se, openBlock as g, createElementBlock as b, normalizeClass as B, createElementVNode as i, renderSlot as S, createTextVNode as _, toDisplayString as x, createCommentVNode as C, Fragment as N, renderList as j, createVNode as D, withDirectives as A, vModelText as O, createBlock as G, Teleport as re, normalizeStyle as ue, withCtx as H, withKeys as de, resolveComponent as K, withModifiers as ve, pushScopeId as pe, popScopeId as ce } from "vue";
4
+ (function() {
5
+ try {
6
+ if (typeof document < "u") {
7
+ var a = document.createElement("style");
8
+ a.appendChild(document.createTextNode(":root{--vs-input-bg: #fff;--vs-input-outline: #3b82f6;--vs-input-placeholder-color: #52525b;--vs-padding: .25rem .5rem;--vs-border: 1px solid #e4e4e7;--vs-border-radius: 4px;--vs-font-size: 16px;--vs-font-weight: 400;--vs-font-family: inherit;--vs-text-color: #18181b;--vs-line-height: 1.5;--vs-menu-offset-top: 8px;--vs-menu-height: 200px;--vs-menu-padding: 0;--vs-menu-border: 1px solid #e4e4e7;--vs-menu-bg: #fff;--vs-menu-box-shadow: none;--vs-menu-z-index: 2;--vs-option-padding: 8px 12px;--vs-option-font-size: var(--vs-font-size);--vs-option-font-weight: var(--vs-font-weight);--vs-option-text-color: var(--vs-text-color);--vs-option-bg: var(--vs-menu-bg);--vs-option-hover-color: #dbeafe;--vs-option-focused-color: var(--vs-option-hover-color);--vs-option-selected-color: #93c5fd;--vs-option-disabled-color: #f4f4f5;--vs-option-disabled-text-color: #52525b;--vs-multi-value-gap: 4px;--vs-multi-value-padding: 4px;--vs-multi-value-font-size: 14px;--vs-multi-value-font-weight: 400;--vs-multi-value-line-height: 1;--vs-multi-value-text-color: #3f3f46;--vs-multi-value-bg: #f4f4f5;--vs-multi-value-xmark-size: 16px;--vs-multi-value-xmark-color: var(--vs-multi-value-text-color);--vs-indicators-gap: 4px;--vs-icon-size: 20px;--vs-icon-color: var(--vs-text-color);--vs-dropdown-transition: transform .25s ease-out}.vue-select[data-v-8ce3e5e3]{position:relative;box-sizing:border-box;width:100%}.vue-select[data-v-8ce3e5e3] *{box-sizing:border-box}.vue-select.open .single-value[data-v-8ce3e5e3]{position:absolute;opacity:.4}.vue-select.open .dropdown-icon[data-v-8ce3e5e3]{transform:rotate(180deg)}.vue-select.typing .single-value[data-v-8ce3e5e3]{opacity:0}.control[data-v-8ce3e5e3]{display:flex;min-height:32px;border:var(--vs-border);border-radius:var(--vs-border-radius);background-color:var(--vs-input-bg)}.control.focused[data-v-8ce3e5e3]{box-shadow:0 0 0 1px var(--vs-input-outline);border-color:var(--vs-input-outline)}.value-container[data-v-8ce3e5e3]{position:relative;display:flex;flex-wrap:wrap;align-items:center;flex-basis:100%;flex-grow:1;padding:var(--vs-padding)}.value-container.multi[data-v-8ce3e5e3]{gap:var(--vs-multi-value-gap)}.single-value[data-v-8ce3e5e3]{display:flex;align-items:center;font-size:var(--vs-font-size);font-weight:var(--vs-font-weight);font-family:var(--vs-font-family);line-height:var(--vs-line-height);color:var(--vs-text-color);z-index:0}.multi-value[data-v-8ce3e5e3]{appearance:none;display:flex;align-items:center;gap:var(--vs-multi-value-gap);padding:var(--vs-multi-value-padding);margin:0;border:0;font-size:var(--vs-multi-value-font-size);font-weight:var(--vs-multi-value-font-weight);color:var(--vs-multi-value-text-color);line-height:var(--vs-multi-value-line-height);background:var(--vs-multi-value-bg);outline:none;cursor:pointer}.multi-value svg[data-v-8ce3e5e3]{width:var(--vs-multi-value-xmark-size);height:var(--vs-multi-value-xmark-size);fill:var(--vs-multi-value-xmark-color)}.search-input[data-v-8ce3e5e3]{appearance:none;display:inline-block;max-width:100%;flex-grow:1;width:0;margin:0;padding:0;border:0;background:none;font-size:var(--vs-font-size);font-family:var(--vs-font-family);line-height:var(--vs-line-height);color:var(--vs-text-color);outline:none;z-index:1}.search-input[data-v-8ce3e5e3]::placeholder{color:var(--vs-input-placeholder-color)}.indicators-container[data-v-8ce3e5e3]{display:flex;align-items:center;flex-shrink:0;gap:var(--vs-indicators-gap);padding:var(--vs-padding)}.clear-button[data-v-8ce3e5e3]{appearance:none;display:inline-block;padding:0;margin:0;border:0;width:var(--vs-icon-size);height:var(--vs-icon-size);fill:var(--vs-icon-color);background:none;outline:none;cursor:pointer}.dropdown-icon[data-v-8ce3e5e3]{appearance:none;display:inline-block;padding:0;margin:0;border:0;width:var(--vs-icon-size);height:var(--vs-icon-size);fill:var(--vs-icon-color);background:none;outline:none;cursor:pointer;transition:var(--vs-dropdown-transition)}.menu[data-v-8ce3e5e3]{position:absolute;left:0;right:0;padding:var(--vs-menu-padding);margin-top:var(--vs-menu-offset-top);max-height:var(--vs-menu-height);overflow-y:auto;border:var(--vs-menu-border);border-radius:var(--vs-border-radius);box-shadow:var(--vs-menu-box-shadow);background-color:var(--vs-menu-bg);z-index:var(--vs-menu-z-index)}.menu-option[data-v-8ce3e5e3]{display:flex;width:100%;border:0;margin:0;padding:var(--vs-option-padding);font-size:var(--vs-option-font-size);font-weight:var(--vs-option-font-weight);font-family:var(--vs-font-family);color:var(--vs-option-text-color);background-color:var(--vs-option-bg);text-align:-webkit-auto;cursor:pointer}.menu-option[data-v-8ce3e5e3]:hover{background-color:var(--vs-option-hover-color)}.menu-option.focused[data-v-8ce3e5e3]{background-color:var(--vs-option-focused-color)}.menu-option.selected[data-v-8ce3e5e3]{background-color:var(--vs-option-selected-color)}.menu-option.disabled[data-v-8ce3e5e3]{background-color:var(--vs-option-disabled-color);color:var(--vs-option-disabled-text-color)}.no-results[data-v-8ce3e5e3]{padding:var(--vs-option-padding);font-size:var(--vs-font-size);font-family:var(--vs-font-family);color:var(--vs-text-color)}")), document.head.appendChild(a);
9
+ }
10
+ } catch (o) {
11
+ console.error("vite-plugin-css-injected-by-js", o);
12
+ }
13
+ })();
14
+ const U = (a, o) => {
15
+ const l = a.__vccOpts || a;
16
+ for (const [f, t] of o)
17
+ l[f] = t;
18
+ return l;
19
+ }, ge = {}, be = {
20
+ xmlns: "http://www.w3.org/2000/svg",
21
+ viewBox: "0 0 20 20",
22
+ fill: "currentColor"
23
+ }, fe = /* @__PURE__ */ i("path", {
24
+ "fill-rule": "evenodd",
25
+ d: "M5.22 8.22a.75.75 0 0 1 1.06 0L10 11.94l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.28a.75.75 0 0 1 0-1.06Z",
26
+ "clip-rule": "evenodd"
27
+ }, null, -1), me = [
28
+ fe
29
+ ];
30
+ function he(a, o) {
31
+ return g(), b("svg", be, me);
32
+ }
33
+ const ye = /* @__PURE__ */ U(ge, [["render", he]]), we = {}, ke = {
34
+ xmlns: "http://www.w3.org/2000/svg",
35
+ viewBox: "0 0 20 20",
36
+ fill: "currentColor"
37
+ }, xe = /* @__PURE__ */ i("path", { d: "M6.28 5.22a.75.75 0 0 0-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 1 0 1.06 1.06L10 11.06l3.72 3.72a.75.75 0 1 0 1.06-1.06L11.06 10l3.72-3.72a.75.75 0 0 0-1.06-1.06L10 8.94 6.28 5.22Z" }, null, -1), Le = [
38
+ xe
39
+ ];
40
+ function Me(a, o) {
41
+ return g(), b("svg", ke, Le);
42
+ }
43
+ const P = /* @__PURE__ */ U(we, [["render", Me]]), ze = ["aria-disabled", "aria-selected"], Se = /* @__PURE__ */ R({
44
+ __name: "MenuOption",
45
+ props: {
46
+ menu: {},
47
+ index: {},
48
+ isFocused: { type: Boolean },
49
+ isSelected: { type: Boolean },
50
+ isDisabled: { type: Boolean }
51
+ },
52
+ emits: ["select"],
53
+ setup(a, { emit: o }) {
54
+ const l = a, f = o, t = z(null);
55
+ return Z(
56
+ () => l.isFocused,
57
+ () => {
58
+ if (l.isFocused && l.menu) {
59
+ const r = l.menu.children[l.index], p = r.offsetTop, y = p + r.clientHeight, s = l.menu.scrollTop, u = l.menu.clientHeight;
60
+ p < s ? l.menu.scrollTop = p : y > s + u && (l.menu.scrollTop = y - u);
61
+ }
62
+ }
63
+ ), (r, p) => (g(), b("div", {
64
+ ref_key: "option",
65
+ ref: t,
66
+ tabindex: "-1",
67
+ role: "option",
68
+ class: B({ focused: r.isFocused, selected: r.isSelected, disabled: r.isDisabled }),
69
+ "aria-disabled": r.isDisabled,
70
+ "aria-selected": r.isSelected,
71
+ onClick: p[0] || (p[0] = (y) => f("select")),
72
+ onKeydown: p[1] || (p[1] = de((y) => f("select"), ["enter"]))
73
+ }, [
74
+ S(r.$slots, "default")
75
+ ], 42, ze));
76
+ }
77
+ }), Ce = ["aria-expanded", "aria-describedby", "aria-description", "aria-labelledby", "aria-label", "aria-required"], De = ["onClick"], Ve = ["id", "disabled", "placeholder"], Be = { class: "indicators-container" }, _e = ["disabled"], Ie = ["disabled"], Ae = ["aria-label", "aria-multiselectable"], Oe = {
78
+ key: 0,
79
+ class: "no-results"
80
+ }, Ue = /* @__PURE__ */ R({
81
+ __name: "Select",
82
+ props: /* @__PURE__ */ F({
83
+ options: {},
84
+ displayedOptions: {},
85
+ placeholder: { default: "Select an option" },
86
+ isClearable: { type: Boolean, default: !0 },
87
+ isDisabled: { type: Boolean, default: !1 },
88
+ isSearchable: { type: Boolean, default: !0 },
89
+ isMulti: { type: Boolean, default: !1 },
90
+ closeOnSelect: { type: Boolean, default: !0 },
91
+ teleport: { default: void 0 },
92
+ inputId: { default: void 0 },
93
+ aria: { default: void 0 },
94
+ filterBy: { type: Function, default: (a, o, l) => o.toLowerCase().includes(l.toLowerCase()) },
95
+ getOptionLabel: { type: Function, default: (a) => a.label },
96
+ getMultiValueLabel: { type: Function, default: (a) => a.label }
97
+ }, {
98
+ modelValue: {
99
+ required: !0,
100
+ validator: (a, o) => o.isMulti ? Array.isArray(a) : !Array.isArray(a)
101
+ },
102
+ modelModifiers: {}
103
+ }),
104
+ emits: /* @__PURE__ */ F(["optionSelected", "optionDeselected", "search"], ["update:modelValue"]),
105
+ setup(a, { emit: o }) {
106
+ const l = a, f = o, t = ne(a, "modelValue"), r = z(null), p = z(null), y = z(null), s = z(""), u = z(!1), c = z(-1), L = q(() => {
107
+ const e = l.displayedOptions || l.options, n = (m) => m.filter(
108
+ (d) => !t.value.includes(d.value)
109
+ );
110
+ if (l.isSearchable && s.value) {
111
+ const m = e.filter((d) => {
112
+ const M = l.isMulti ? l.getMultiValueLabel(d) : l.getOptionLabel(d);
113
+ return l.filterBy(d, M, s.value);
114
+ });
115
+ return l.isMulti ? n(m) : m;
116
+ }
117
+ return l.isMulti ? n(e) : e;
118
+ }), w = q(() => {
119
+ if (l.isMulti && Array.isArray(t.value))
120
+ return t.value.map(
121
+ (n) => l.options.find((m) => m.value === n)
122
+ );
123
+ l.isMulti && !Array.isArray(t.value) && console.warn(`[vue3-select-component warn]: The v-model provided should be an array when using \`isMulti\` prop, instead it was: ${t.value}`);
124
+ const e = l.options.find((n) => n.value === t.value);
125
+ return e ? [e] : [];
126
+ }), V = (e) => {
127
+ u.value = !0, c.value = l.options.findIndex((n) => !n.disabled), e != null && e.focusInput && p.value && p.value.focus();
128
+ }, X = () => {
129
+ u.value = !1, s.value = "";
130
+ }, I = (e) => {
131
+ e.disabled || (l.isMulti ? t.value.push(e.value) : t.value = e.value, f("optionSelected", e), s.value = "", l.closeOnSelect && (u.value = !1), p.value && p.value.blur());
132
+ }, Q = (e) => {
133
+ l.isMulti && !l.isDisabled && (t.value = t.value.filter((n) => n !== e.value), f("optionDeselected", e));
134
+ }, W = () => {
135
+ l.isMulti ? (t.value = [], f("optionDeselected", null)) : (t.value = void 0, f("optionDeselected", w.value[0])), u.value = !1, s.value = "", p.value && p.value.blur();
136
+ }, E = (e) => {
137
+ if (u.value) {
138
+ const n = c.value;
139
+ if (e.key === "ArrowDown") {
140
+ e.preventDefault();
141
+ const d = L.value.findIndex((k, v) => !k.disabled && v > n), M = L.value.findIndex((k) => !k.disabled);
142
+ c.value = d === -1 ? M : d;
143
+ }
144
+ if (e.key === "ArrowUp") {
145
+ e.preventDefault();
146
+ const d = L.value.reduce(
147
+ (k, v, h) => !v.disabled && h < n ? h : k,
148
+ -1
149
+ ), M = L.value.reduce(
150
+ (k, v, h) => v.disabled ? k : h,
151
+ -1
152
+ );
153
+ c.value = d === -1 ? M : d;
154
+ }
155
+ if (e.key === "Enter") {
156
+ const d = L.value[n];
157
+ e.preventDefault(), d && I(d);
158
+ }
159
+ if (e.code === "Space" && s.value.length === 0) {
160
+ const d = L.value[n];
161
+ e.preventDefault(), d && I(d);
162
+ }
163
+ e.key === "Escape" && (e.preventDefault(), u.value = !1, s.value = "");
164
+ const m = l.isMulti ? t.value.length > 0 : !!t.value;
165
+ e.key === "Backspace" && s.value.length === 0 && m && (e.preventDefault(), l.isMulti ? t.value = t.value.slice(0, -1) : t.value = void 0);
166
+ }
167
+ }, Y = (e) => {
168
+ !u.value && s.value.length === 0 && (e.preventDefault(), e.stopImmediatePropagation(), V());
169
+ }, ee = (e) => {
170
+ e.key === "Tab" ? X() : e.key === "Space" && Y(e);
171
+ }, $ = (e) => {
172
+ r.value && !r.value.contains(e.target) && (u.value = !1, s.value = "");
173
+ }, T = () => {
174
+ if (r.value) {
175
+ const e = r.value.getBoundingClientRect();
176
+ return {
177
+ left: `${e.x}px`,
178
+ top: `${e.y + e.height}px`
179
+ };
180
+ }
181
+ return console.warn("Unable to calculate dynamic menu position because of missing internal DOM reference."), { top: "0px", left: "0px" };
182
+ };
183
+ return Z(
184
+ () => s.value,
185
+ () => {
186
+ f("search", s.value), s.value && !u.value && V();
187
+ }
188
+ ), ie(() => {
189
+ document.addEventListener("click", $), document.addEventListener("keydown", E);
190
+ }), se(() => {
191
+ document.removeEventListener("click", $), document.removeEventListener("keydown", E);
192
+ }), (e, n) => {
193
+ var m, d, M, k;
194
+ return g(), b("div", {
195
+ ref_key: "container",
196
+ ref: r,
197
+ dir: "auto",
198
+ class: B(["vue-select", { open: u.value, typing: u.value && s.value.length > 0, disabled: e.isDisabled }])
199
+ }, [
200
+ i("div", {
201
+ class: B(["control", { focused: u.value }])
202
+ }, [
203
+ i("div", {
204
+ class: B(["value-container", { multi: e.isMulti }]),
205
+ role: "combobox",
206
+ "aria-expanded": u.value,
207
+ "aria-describedby": e.placeholder,
208
+ "aria-description": e.placeholder,
209
+ "aria-labelledby": (m = e.aria) == null ? void 0 : m.labelledby,
210
+ "aria-label": w.value.length ? w.value.map(e.isMulti ? e.getMultiValueLabel : e.getOptionLabel).join(", ") : "",
211
+ "aria-required": (d = e.aria) == null ? void 0 : d.required
212
+ }, [
213
+ !l.isMulti && w.value[0] ? (g(), b("div", {
214
+ key: 0,
215
+ class: "single-value",
216
+ onClick: n[0] || (n[0] = (v) => l.isDisabled ? null : V({ focusInput: !0 }))
217
+ }, [
218
+ S(e.$slots, "value", {
219
+ option: w.value[0]
220
+ }, () => [
221
+ _(x(e.getOptionLabel(w.value[0])), 1)
222
+ ], !0)
223
+ ])) : C("", !0),
224
+ l.isMulti && w.value.length ? (g(!0), b(N, { key: 1 }, j(w.value, (v, h) => (g(), b("button", {
225
+ key: h,
226
+ type: "button",
227
+ class: "multi-value",
228
+ onClick: (ae) => Q(v)
229
+ }, [
230
+ _(x(e.getMultiValueLabel(v)), 1),
231
+ D(P)
232
+ ], 8, De))), 128)) : C("", !0),
233
+ A(i("input", {
234
+ id: e.inputId,
235
+ ref_key: "input",
236
+ ref: p,
237
+ "onUpdate:modelValue": n[1] || (n[1] = (v) => s.value = v),
238
+ class: "search-input",
239
+ type: "text",
240
+ "aria-autocomplete": "list",
241
+ autocapitalize: "none",
242
+ autocomplete: "off",
243
+ autocorrect: "off",
244
+ spellcheck: "false",
245
+ tabindex: "0",
246
+ disabled: e.isDisabled,
247
+ placeholder: w.value.length === 0 ? e.placeholder : "",
248
+ onMousedown: n[2] || (n[2] = (v) => V()),
249
+ onKeydown: ee
250
+ }, null, 40, Ve), [
251
+ [O, s.value]
252
+ ])
253
+ ], 10, Ce),
254
+ i("div", Be, [
255
+ w.value.length > 0 && e.isClearable ? (g(), b("button", {
256
+ key: 0,
257
+ type: "button",
258
+ class: "clear-button",
259
+ tabindex: "-1",
260
+ disabled: e.isDisabled,
261
+ onClick: W
262
+ }, [
263
+ S(e.$slots, "clear", {}, () => [
264
+ D(P)
265
+ ], !0)
266
+ ], 8, _e)) : C("", !0),
267
+ i("button", {
268
+ type: "button",
269
+ class: "dropdown-icon",
270
+ tabindex: "-1",
271
+ disabled: e.isDisabled,
272
+ onClick: n[3] || (n[3] = (v) => V({ focusInput: !0 }))
273
+ }, [
274
+ S(e.$slots, "dropdown", {}, () => [
275
+ D(ye)
276
+ ], !0)
277
+ ], 8, Ie)
278
+ ])
279
+ ], 2),
280
+ (g(), G(re, {
281
+ to: e.teleport,
282
+ disabled: !e.teleport
283
+ }, [
284
+ u.value ? (g(), b("div", {
285
+ key: 0,
286
+ ref_key: "menu",
287
+ ref: y,
288
+ class: "menu",
289
+ role: "listbox",
290
+ "aria-label": (M = e.aria) == null ? void 0 : M.labelledby,
291
+ "aria-multiselectable": e.isMulti,
292
+ style: ue({
293
+ width: l.teleport ? `${(k = r.value) == null ? void 0 : k.getBoundingClientRect().width}px` : "100%",
294
+ top: l.teleport ? T().top : "unset",
295
+ left: l.teleport ? T().left : "unset"
296
+ })
297
+ }, [
298
+ S(e.$slots, "menu-header", {}, void 0, !0),
299
+ (g(!0), b(N, null, j(L.value, (v, h) => (g(), G(Se, {
300
+ key: h,
301
+ type: "button",
302
+ class: B(["menu-option", { focused: c.value === h, selected: v.value === t.value }]),
303
+ menu: y.value,
304
+ index: h,
305
+ "is-focused": c.value === h,
306
+ "is-selected": v.value === t.value,
307
+ "is-disabled": v.disabled || !1,
308
+ onSelect: (ae) => I(v)
309
+ }, {
310
+ default: H(() => [
311
+ S(e.$slots, "option", { option: v }, () => [
312
+ _(x(e.getOptionLabel(v)), 1)
313
+ ], !0)
314
+ ]),
315
+ _: 2
316
+ }, 1032, ["class", "menu", "index", "is-focused", "is-selected", "is-disabled", "onSelect"]))), 128)),
317
+ L.value.length === 0 ? (g(), b("div", Oe, [
318
+ S(e.$slots, "no-options", {}, () => [
319
+ _(" No results found ")
320
+ ], !0)
321
+ ])) : C("", !0)
322
+ ], 12, Ae)) : C("", !0)
323
+ ], 8, ["to", "disabled"]))
324
+ ], 2);
325
+ };
326
+ }
327
+ }), Ee = /* @__PURE__ */ U(Ue, [["__scopeId", "data-v-8ce3e5e3"]]), $e = {
328
+ name: "AuthSecurity",
329
+ mixins: [oe],
330
+ components: {
331
+ VueSelect: Ee
332
+ },
333
+ props: {
334
+ payload: {
335
+ type: Object,
336
+ default: {}
337
+ }
338
+ },
339
+ data() {
340
+ return {
341
+ loading: !1
342
+ };
343
+ },
344
+ async mounted() {
345
+ this.isLoggedIn || this.$router.push("/login");
346
+ },
347
+ methods: {
348
+ close() {
349
+ te.$emit("ssoEvent", { name: "toggleAuthModal", data: !0 });
350
+ },
351
+ async submitGeneralUpdate() {
352
+ if (this.password.length < 8) return this.errorSnack(this.ssoLang[this.appLanguage].password_8_chars);
353
+ this.loading = !0, await this.newPassword({}) === !0 && (this.successSnack(this.ssoLang[this.appLanguage].password_change_success), this.changePassword = !1), this.loading = !1;
354
+ }
355
+ }
356
+ }, J = (a) => (pe("data-v-a6dcb82a"), a = a(), ce(), a), Te = { class: "page-login content-boxed content-boxed-padding" }, Fe = /* @__PURE__ */ J(() => /* @__PURE__ */ i("i", { class: "font-17 color-black" }, [
357
+ /* @__PURE__ */ i("img", {
358
+ src: "https://cdn.tapni.co/icons/down-arrow.png",
359
+ class: "responsive-image",
360
+ style: { width: "35%" }
361
+ })
362
+ ], -1)), qe = [
363
+ Fe
364
+ ], Ne = { class: "subheaderContainer full-top" }, je = ["src"], Ge = {
365
+ class: "center-text",
366
+ style: { "flex-grow": "1", "text-align": "center", margin: "0", "font-weight": "600" }
367
+ }, Ke = { class: "container left-text" }, Pe = { class: "center-text" }, Re = { class: "full-top bold small-bottom" }, Ze = ["placeholder"], He = ["placeholder"], Je = { class: "full-top bold" }, Xe = { class: "full-top bold" }, Qe = /* @__PURE__ */ J(() => /* @__PURE__ */ i("p", null, "Translate the app on your preferred language.", -1)), We = {
368
+ type: "submit",
369
+ class: "button black-button button-full google-button bg-tapni-grey button-90 button-center uppercase bold full-top pointer"
370
+ }, Ye = { key: 0 }, ea = {
371
+ key: 1,
372
+ class: "button--loading button__loader"
373
+ };
374
+ function aa(a, o, l, f, t, r) {
375
+ var s, u;
376
+ const p = K("router-link"), y = K("VueSelect");
377
+ return g(), b("div", Te, [
378
+ a.isModal ? (g(), b("a", {
379
+ key: 0,
380
+ onClick: o[0] || (o[0] = (...c) => r.close && r.close(...c)),
381
+ class: "color-black pull-right pointer",
382
+ style: { "margin-top": "0px", position: "absolute", right: "-20px", "text-align": "right" }
383
+ }, qe)) : C("", !0),
384
+ i("div", Ne, [
385
+ D(p, {
386
+ to: "/account",
387
+ class: "button gray-button pointer left-button"
388
+ }, {
389
+ default: H(() => [
390
+ i("img", {
391
+ src: a.getIcon("arrow-gray-right.svg"),
392
+ height: "20",
393
+ width: "20",
394
+ class: "btn-icon",
395
+ style: { rotate: "180deg" }
396
+ }, null, 8, je)
397
+ ]),
398
+ _: 1
399
+ }),
400
+ i("h2", Ge, x(a.ssoLang[a.appLanguage].general), 1)
401
+ ]),
402
+ i("div", Ke, [
403
+ i("p", Pe, x(a.ssoLang[a.appLanguage].general_p), 1),
404
+ i("form", {
405
+ class: "full-top",
406
+ onSubmit: o[5] || (o[5] = ve((...c) => r.submitGeneralUpdate && r.submitGeneralUpdate(...c), ["prevent"]))
407
+ }, [
408
+ i("h3", Re, x(a.ssoLang[a.appLanguage].personal_details), 1),
409
+ A(i("input", {
410
+ type: "text",
411
+ "onUpdate:modelValue": o[1] || (o[1] = (c) => a.account.name = c),
412
+ placeholder: a.ssoLang[a.appLanguage].name,
413
+ class: "edit-input h-40 lh-40 small-bottom",
414
+ required: "",
415
+ style: { width: "100%" }
416
+ }, null, 8, Ze), [
417
+ [O, a.account.name]
418
+ ]),
419
+ A(i("input", {
420
+ disabled: "",
421
+ type: "email",
422
+ "onUpdate:modelValue": o[2] || (o[2] = (c) => a.account.email = c),
423
+ placeholder: a.ssoLang[a.appLanguage].email,
424
+ class: "bg-white edit-input h-40 lh-40 small-bottom",
425
+ required: "",
426
+ style: { width: "100%" }
427
+ }, null, 8, He), [
428
+ [O, a.account.email]
429
+ ]),
430
+ i("h3", Je, x(a.ssoLang[a.appLanguage].app_region), 1),
431
+ D(y, {
432
+ modelValue: a.region,
433
+ "onUpdate:modelValue": o[3] || (o[3] = (c) => a.region = c),
434
+ options: [
435
+ { label: "United States", value: "us" },
436
+ { label: "United Kingdom", value: "uk" },
437
+ { label: "European Union", value: "eu" },
438
+ { label: "Mexico", value: "mx" },
439
+ { label: "Mauritius", value: "mu" },
440
+ { label: "Colombia", value: "co" },
441
+ { label: "Serbia", value: "sr" },
442
+ { label: "China", value: "cn" }
443
+ ],
444
+ isClearable: !1,
445
+ placeholder: "Select region"
446
+ }, null, 8, ["modelValue"]),
447
+ i("p", null, "Default currency for this region is " + x((u = (s = a.account.billing) == null ? void 0 : s.currency) == null ? void 0 : u.toUpperCase()), 1),
448
+ i("h3", Xe, x(a.ssoLang[a.appLanguage].app_language), 1),
449
+ D(y, {
450
+ modelValue: a.account.lang,
451
+ "onUpdate:modelValue": o[4] || (o[4] = (c) => a.account.lang = c),
452
+ options: [
453
+ { label: a.ssoLang[a.appLanguage].english, value: "en" },
454
+ { label: a.ssoLang[a.appLanguage].german, value: "de" },
455
+ { label: a.ssoLang[a.appLanguage].spanish, value: "es" },
456
+ { label: a.ssoLang[a.appLanguage].italian, value: "it" },
457
+ { label: a.ssoLang[a.appLanguage].french, value: "fr" },
458
+ { label: a.ssoLang[a.appLanguage].turkish, value: "tr" },
459
+ { label: a.ssoLang[a.appLanguage].serbian, value: "sr" },
460
+ { label: a.ssoLang[a.appLanguage].korean, value: "kr" },
461
+ { label: a.ssoLang[a.appLanguage].chinese, value: "cn" }
462
+ ],
463
+ isClearable: !1,
464
+ placeholder: "Select language"
465
+ }, null, 8, ["modelValue", "options"]),
466
+ Qe,
467
+ i("button", We, [
468
+ t.loading ? (g(), b("span", ea)) : (g(), b("span", Ye, x(a.ssoLang[a.appLanguage].save), 1))
469
+ ])
470
+ ], 32)
471
+ ])
472
+ ]);
473
+ }
474
+ const na = /* @__PURE__ */ le($e, [["render", aa], ["__scopeId", "data-v-a6dcb82a"]]);
475
+ export {
476
+ na as default
477
+ };
@@ -1,15 +1,15 @@
1
- import { _ as s, A as a, Q as i } from "./install-4aK3Wz63.js";
2
- import { resolveComponent as l, openBlock as _, createElementBlock as r, createElementVNode as n, toDisplayString as o, createVNode as d, withCtx as u, createTextVNode as p } from "vue";
1
+ import { _ as s, A as a, Q as l } from "./install-BOPYSGGa.js";
2
+ import { resolveComponent as i, openBlock as _, createElementBlock as r, createElementVNode as n, toDisplayString as o, createVNode as d, withCtx as u, createTextVNode as p } from "vue";
3
3
  const g = {
4
4
  name: "AuthQR",
5
- mixins: [a, i]
6
- }, h = { class: "page-login content-boxed content-boxed-padding" }, c = { style: { "text-align": "center", width: "80%", margin: "0 auto", "margin-top": "130px" } }, m = /* @__PURE__ */ n("br", null, null, -1), L = { class: "qrCodeLoginContainer center-text" }, b = /* @__PURE__ */ n("div", {
5
+ mixins: [a, l]
6
+ }, h = { class: "page-login content-boxed content-boxed-padding" }, c = { style: { "text-align": "center", width: "80%", margin: "0 auto", "margin-top": "130px" } }, m = /* @__PURE__ */ n("br", null, null, -1), L = { class: "center-text" }, b = /* @__PURE__ */ n("div", {
7
7
  id: "qrCodeContainer",
8
8
  class: "qrCodeRounded",
9
9
  style: { "max-width": "100%" }
10
- }, null, -1), f = /* @__PURE__ */ n("br", null, null, -1), y = /* @__PURE__ */ n("br", null, null, -1), C = { style: { margin: "0 auto", width: "85%", "text-align": "left" } }, v = { class: "center-text" }, k = /* @__PURE__ */ n("br", null, null, -1), q = /* @__PURE__ */ n("br", null, null, -1), w = /* @__PURE__ */ n("br", null, null, -1);
10
+ }, null, -1), f = /* @__PURE__ */ n("br", null, null, -1), y = /* @__PURE__ */ n("br", null, null, -1), v = { style: { margin: "0 auto", width: "85%", "text-align": "left" } }, k = { class: "center-text" }, w = /* @__PURE__ */ n("br", null, null, -1), C = /* @__PURE__ */ n("br", null, null, -1), q = /* @__PURE__ */ n("br", null, null, -1);
11
11
  function x(e, A, Q, R, $, N) {
12
- const t = l("router-link");
12
+ const t = i("router-link");
13
13
  return _(), r("div", h, [
14
14
  n("h5", c, o(e.ssoLang[e.appLanguage].use_tapni_on_the_web), 1),
15
15
  m,
@@ -17,14 +17,14 @@ function x(e, A, Q, R, $, N) {
17
17
  b,
18
18
  f,
19
19
  y,
20
- n("div", C, [
21
- n("h2", v, o(e.ssoLang[e.appLanguage].login_by_scanning_qr_code), 1),
22
- k,
20
+ n("div", v, [
21
+ n("h2", k, o(e.ssoLang[e.appLanguage].login_by_scanning_qr_code), 1),
22
+ w,
23
23
  n("h4", null, o(e.ssoLang[e.appLanguage].open_tapni_app_on_your_phone), 1),
24
24
  n("h4", null, o(e.ssoLang[e.appLanguage].go_to_settings_link_a_device), 1),
25
25
  n("h4", null, o(e.ssoLang[e.appLanguage].point_your_phone_at_this_qr_code), 1),
26
- q,
27
- w
26
+ C,
27
+ q
28
28
  ]),
29
29
  d(t, { to: "/login" }, {
30
30
  default: u(() => [
@@ -1,4 +1,4 @@
1
- import { i as f } from "./install-4aK3Wz63.js";
1
+ import { i as f } from "./install-BOPYSGGa.js";
2
2
  export {
3
3
  f as default
4
4
  };