eco-vue-js 0.10.76 → 0.10.77

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,7 @@
1
+ import { ApiClientInstance } from '../../utils/ApiClient';
2
+ type __VLS_Props = {
3
+ apiClientInstance: ApiClientInstance;
4
+ };
5
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
6
+ export default _default;
7
+ //# sourceMappingURL=WRouteAuth.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WRouteAuth.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/Auth/WRouteAuth.vue"],"names":[],"mappings":"AAGA;AAgDA,OAAO,EAAC,KAAK,iBAAiB,EAAC,MAAM,mBAAmB,CAAA;AAExD,KAAK,WAAW,GAAG;IACjB,iBAAiB,EAAE,iBAAiB,CAAA;CACrC,CAAC;;AA2EF,wBAOG"}
@@ -0,0 +1,38 @@
1
+ import { defineComponent, watch, onBeforeUnmount, createBlock, openBlock, unref } from 'vue';
2
+ import { useRouter, useRoute, RouterView } from 'vue-router';
3
+ import '@tanstack/vue-query';
4
+
5
+ const _sfc_main = /* @__PURE__ */ defineComponent({
6
+ __name: "WRouteAuth",
7
+ props: {
8
+ apiClientInstance: {}
9
+ },
10
+ setup(__props) {
11
+ const props = __props;
12
+ const router = useRouter();
13
+ const route = useRoute();
14
+ const redirect = () => {
15
+ router.push({ name: props.apiClientInstance.routeNameAuthNo, query: route.fullPath !== "/" ? { hash: route.fullPath } : void 0 });
16
+ };
17
+ const checkAuth = () => {
18
+ if (props.apiClientInstance.checkAuth()) return;
19
+ {
20
+ if (props.apiClientInstance.refreshPromise) {
21
+ redirect();
22
+ }
23
+ }
24
+ };
25
+ watch(() => props.apiClientInstance.isAuthFailed.value, (value) => {
26
+ if (value) redirect();
27
+ });
28
+ window.addEventListener("storage", checkAuth);
29
+ onBeforeUnmount(() => {
30
+ window.removeEventListener("storage", checkAuth);
31
+ });
32
+ return (_ctx, _cache) => {
33
+ return openBlock(), createBlock(unref(RouterView));
34
+ };
35
+ }
36
+ });
37
+
38
+ export { _sfc_main as default };
@@ -0,0 +1,5 @@
1
+ import _sfc_main from './WRouteAuth.vue.js';
2
+
3
+
4
+
5
+ export { _sfc_main as default };
@@ -0,0 +1,7 @@
1
+ import { ApiClientInstance } from '../../utils/ApiClient';
2
+ type __VLS_Props = {
3
+ apiClientInstance: ApiClientInstance;
4
+ };
5
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
6
+ export default _default;
7
+ //# sourceMappingURL=WRouteAuthNo.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WRouteAuthNo.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/Auth/WRouteAuthNo.vue"],"names":[],"mappings":"AAGA;AA6DA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAA;AAMxD,KAAK,WAAW,GAAG;IACjB,iBAAiB,EAAE,iBAAiB,CAAA;CACrC,CAAC;;AAyFF,wBAOG"}
@@ -0,0 +1,51 @@
1
+ import { defineComponent, ref, watch, onBeforeMount, onBeforeUnmount, resolveComponent, createBlock, openBlock } from 'vue';
2
+ import { useQueryClient } from '@tanstack/vue-query';
3
+ import { useRouter, useRoute } from 'vue-router';
4
+
5
+ const _sfc_main = /* @__PURE__ */ defineComponent({
6
+ __name: "WRouteAuthNo",
7
+ props: {
8
+ apiClientInstance: {}
9
+ },
10
+ setup(__props) {
11
+ const props = __props;
12
+ const router = useRouter();
13
+ const route = useRoute();
14
+ const queryClient = useQueryClient();
15
+ const queryEnabled = ref(false);
16
+ const redirect = async () => {
17
+ if (typeof route.query.hash === "string" && route.query.hash && route.query.hash !== "/") {
18
+ const resolved = router.resolve(route.query.hash);
19
+ if (!resolved.matched.length) {
20
+ await router.replace({ name: props.apiClientInstance.routeNameAuth });
21
+ } else {
22
+ await router.replace(resolved);
23
+ }
24
+ } else {
25
+ await router.replace({ name: props.apiClientInstance.routeNameAuth });
26
+ }
27
+ };
28
+ const checkLogin = () => {
29
+ if (!props.apiClientInstance.checkAuth()) return;
30
+ redirect();
31
+ };
32
+ watch(() => props.apiClientInstance.isAuthFailed.value, (value) => {
33
+ if (value) return;
34
+ redirect();
35
+ });
36
+ onBeforeMount(() => {
37
+ window.addEventListener("storage", checkLogin);
38
+ queryClient.clear();
39
+ queryEnabled.value = true;
40
+ });
41
+ onBeforeUnmount(() => {
42
+ window.removeEventListener("storage", checkLogin);
43
+ });
44
+ return (_ctx, _cache) => {
45
+ const _component_RouterView = resolveComponent("RouterView");
46
+ return openBlock(), createBlock(_component_RouterView);
47
+ };
48
+ }
49
+ });
50
+
51
+ export { _sfc_main as default };
@@ -0,0 +1,5 @@
1
+ import _sfc_main from './WRouteAuthNo.vue.js';
2
+
3
+
4
+
5
+ export { _sfc_main as default };
@@ -0,0 +1,7 @@
1
+ export declare function checkExpirationDate(): boolean | null;
2
+ export declare function setExpirationDate(): void;
3
+ export declare function removeExpirationDate(): void;
4
+ export declare function setRefreshTimestamp(): void;
5
+ export declare function removeRefreshTimestamp(): void;
6
+ export declare function getLastRefreshPromise(): Promise<void> | null;
7
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/components/Auth/utils/utils.ts"],"names":[],"mappings":"AAmBA,wBAAgB,mBAAmB,IAAI,OAAO,GAAG,IAAI,CAMpD;AAED,wBAAgB,iBAAiB,SAMhC;AAED,wBAAgB,oBAAoB,SAGnC;AAID,wBAAgB,mBAAmB,SAQlC;AAED,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C;AAED,wBAAgB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAwB5D"}
@@ -0,0 +1,61 @@
1
+ const EXPIRATION_DATE_KEY = "exp";
2
+ const REFRESH_TIMESTAMP_KEY = "refresh-ts";
3
+ const REFRESH_BUFFER_TIMEOUT = 3 * 1e3;
4
+ const REFRESH_BUFFER_TICK = 1e3;
5
+ function getCookie(name) {
6
+ name = name + "=";
7
+ for (const item of decodeURIComponent(document.cookie).split("; ")) {
8
+ if (item.startsWith(name)) return item.substring(name.length);
9
+ }
10
+ return "";
11
+ }
12
+ function deleteCookie(name) {
13
+ document.cookie = name + "=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;";
14
+ }
15
+ function checkExpirationDate() {
16
+ const exp = Number.parseFloat(getCookie(EXPIRATION_DATE_KEY));
17
+ if (!exp || !Number.isFinite(exp)) return null;
18
+ return exp > Date.now() / 1e3;
19
+ }
20
+ function setExpirationDate() {
21
+ const exp = Number.parseFloat(getCookie(EXPIRATION_DATE_KEY));
22
+ if (!exp || !Number.isFinite(exp)) return;
23
+ localStorage.setItem(EXPIRATION_DATE_KEY, exp.toString());
24
+ }
25
+ function removeExpirationDate() {
26
+ localStorage.removeItem(EXPIRATION_DATE_KEY);
27
+ deleteCookie(EXPIRATION_DATE_KEY);
28
+ }
29
+ let refreshTimestampTimeout = null;
30
+ function setRefreshTimestamp() {
31
+ localStorage.setItem(REFRESH_TIMESTAMP_KEY, (/* @__PURE__ */ new Date()).getTime().toString());
32
+ if (refreshTimestampTimeout) clearTimeout(refreshTimestampTimeout);
33
+ refreshTimestampTimeout = setTimeout(() => {
34
+ localStorage.removeItem(REFRESH_TIMESTAMP_KEY);
35
+ }, REFRESH_BUFFER_TIMEOUT);
36
+ }
37
+ function removeRefreshTimestamp() {
38
+ localStorage.removeItem(REFRESH_TIMESTAMP_KEY);
39
+ }
40
+ function getLastRefreshPromise() {
41
+ const lastRefreshTimeStamp = Number.parseInt(localStorage.getItem(REFRESH_TIMESTAMP_KEY) ?? "");
42
+ if (!Number.isInteger(lastRefreshTimeStamp) || lastRefreshTimeStamp <= 0) return null;
43
+ const diff = (/* @__PURE__ */ new Date()).getTime() - lastRefreshTimeStamp;
44
+ if (diff <= 0 || diff > REFRESH_BUFFER_TIMEOUT) return null;
45
+ let count = Math.floor((REFRESH_BUFFER_TIMEOUT - diff) / REFRESH_BUFFER_TICK);
46
+ return new Promise((resolve, reject) => {
47
+ const interval = setInterval(async () => {
48
+ if (count < 1) {
49
+ clearInterval(interval);
50
+ reject(new Error("Timed out"));
51
+ } else if (checkExpirationDate()) {
52
+ clearInterval(interval);
53
+ resolve();
54
+ } else {
55
+ count--;
56
+ }
57
+ }, REFRESH_BUFFER_TICK);
58
+ });
59
+ }
60
+
61
+ export { checkExpirationDate, getLastRefreshPromise, removeExpirationDate, removeRefreshTimestamp, setExpirationDate, setRefreshTimestamp };
@@ -3,10 +3,11 @@ import '../../Button/WButtonAction.vue.js';
3
3
  import '../../../utils/SemanticType.js';
4
4
  import { genId } from '../../../utils/utils.js';
5
5
  import '../../ActionsBar/use/useActionsBarFilter.js';
6
+ import 'vue-router';
7
+ import '@tanstack/vue-query';
6
8
  import '../../Button/WButton.vue.js';
7
9
  import '../../../utils/mobile.js';
8
10
  import '../../Button/WButtonDropdown.vue.js';
9
- import 'vue-router';
10
11
  import '../../../utils/supportsPassive.js';
11
12
  import '../../Dropdown/utils/DropdownStyle.js';
12
13
  import '../../../utils/Modal.js';
@@ -17,7 +18,6 @@ import '../../HeaderBar/use/useHeaderSearchVisible.js';
17
18
  import '../../InfoCard/models/utils.js';
18
19
  import '../../Input/WInputDate.vue.js';
19
20
  import '../../Link/WLink.vue.js';
20
- import '@tanstack/vue-query';
21
21
  import '../../List/use/useListConfig.js';
22
22
  import '../../Modal/use/useIsBackdrop.js';
23
23
  import '../../Page/use/usePageBreadcrumbs.js';
@@ -1 +1 @@
1
- {"version":3,"file":"WInputAsync.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/WInputAsync.vue"],"names":[],"mappings":"AAwFA;AAyOA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,SAAS,CAAA;yBAW3B,IAAI,SAAS,SAAS,GAAG,MAAM,EAC/C,aAAa,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAC9D,YAAY,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,EAC3G,eAAe,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,EACjE;WAwXO,mBAAmB,CAAC;;iLAAkE,CAAC,4BAA2B;oBACzG,OAAO,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI;WAClD,GAAG;;uBA/CiB,GAAG;0BACA,GAAG;uBACN,GAAG;;cApUzB,mBAAmB,SAAS,4CAAa,SAAS,KAAG,IAAI;EAqX3D,KACQ,OAAO,KAAK,EAAE,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,WAAW,CAAC,CAAA;CAAE;AAnYzE,wBAmY4E;AAC5E,KAAK,mBAAmB,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"WInputAsync.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/WInputAsync.vue"],"names":[],"mappings":"AAwFA;AAyOA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,SAAS,CAAA;yBAW3B,IAAI,SAAS,SAAS,GAAG,MAAM,EAC/C,aAAa,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAC9D,YAAY,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,EAC3G,eAAe,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,EACjE;WAyXO,mBAAmB,CAAC;;iLAAkE,CAAC,4BAA2B;oBACzG,OAAO,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI;WAClD,GAAG;;uBAhDiB,GAAG;0BACA,GAAG;uBACN,GAAG;;cApUzB,mBAAmB,SAAS,4CAAa,SAAS,KAAG,IAAI;EAsX3D,KACQ,OAAO,KAAK,EAAE,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,WAAW,CAAC,CAAA;CAAE;AApYzE,wBAoY4E;AAC5E,KAAK,mBAAmB,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC"}
@@ -167,7 +167,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
167
167
  "onKeypress:enter": handleEnterPress,
168
168
  onClick: open,
169
169
  onBlur: _cache[0] || (_cache[0] = ($event) => {
170
- toggle();
170
+ props.textSecure && !value.value ? cancel() : toggle();
171
171
  focused.value = false;
172
172
  }),
173
173
  onFocus: _cache[1] || (_cache[1] = ($event) => focused.value = true),
@@ -25,9 +25,9 @@ declare const __VLS_component: import('vue').DefineComponent<InputDateProps, {},
25
25
  "onUpdate:model-value"?: ((value: Date | undefined) => any) | undefined;
26
26
  }>, {
27
27
  maxHeight: number;
28
+ modelValue: Date;
28
29
  maxWidth: number;
29
30
  horizontalAlign: HorizontalAlign;
30
- modelValue: Date;
31
31
  minDate: Date;
32
32
  maxDate: Date;
33
33
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
@@ -128,7 +128,7 @@ declare function __VLS_template(): {
128
128
  "onUpdate:has-changes"?: ((value: boolean) => any) | undefined;
129
129
  "onUpdate:has-value"?: ((value: boolean | null) => any) | undefined;
130
130
  "onUpdate:has-shown"?: ((value: boolean) => any) | undefined;
131
- }>, "errorMessage" | "hasChanges" | "validate" | "isValid" | "hasChangesMap" | "hasValue" | "hasValueMap" | "hasShown" | "hasShownMap" | "validateMap" | "invalidate" | "invalidateMap" | "initModel" | "initModelMap" | "errorMessageMap"> & import('vue').ShallowUnwrapRef<{
131
+ }>, "isValid" | "hasChanges" | "hasChangesMap" | "hasValue" | "hasValueMap" | "hasShown" | "hasShownMap" | "validate" | "validateMap" | "invalidate" | "invalidateMap" | "initModel" | "initModelMap" | "errorMessage" | "errorMessageMap"> & import('vue').ShallowUnwrapRef<{
132
132
  isValid: import('vue').ComputedRef<boolean>;
133
133
  hasChanges: import('vue').Ref<boolean, boolean>;
134
134
  hasChangesMap: import('vue').Ref<Record<string, boolean>, Record<string, boolean>>;
@@ -383,7 +383,7 @@ declare function __VLS_template(): {
383
383
  "onUpdate:has-changes"?: ((value: boolean) => any) | undefined;
384
384
  "onUpdate:has-value"?: ((value: boolean | null) => any) | undefined;
385
385
  "onUpdate:has-shown"?: ((value: boolean) => any) | undefined;
386
- }>, "errorMessage" | "hasChanges" | "validate" | "isValid" | "hasChangesMap" | "hasValue" | "hasValueMap" | "hasShown" | "hasShownMap" | "validateMap" | "invalidate" | "invalidateMap" | "initModel" | "initModelMap" | "errorMessageMap"> & import('vue').ShallowUnwrapRef<{
386
+ }>, "isValid" | "hasChanges" | "hasChangesMap" | "hasValue" | "hasValueMap" | "hasShown" | "hasShownMap" | "validate" | "validateMap" | "invalidate" | "invalidateMap" | "initModel" | "initModelMap" | "errorMessage" | "errorMessageMap"> & import('vue').ShallowUnwrapRef<{
387
387
  isValid: import('vue').ComputedRef<boolean>;
388
388
  hasChanges: import('vue').Ref<boolean, boolean>;
389
389
  hasChangesMap: import('vue').Ref<Record<string, boolean>, Record<string, boolean>>;
@@ -683,7 +683,7 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {
683
683
  "onUpdate:has-changes"?: ((value: boolean) => any) | undefined;
684
684
  "onUpdate:has-value"?: ((value: boolean | null) => any) | undefined;
685
685
  "onUpdate:has-shown"?: ((value: boolean) => any) | undefined;
686
- }>, "errorMessage" | "hasChanges" | "validate" | "isValid" | "hasChangesMap" | "hasValue" | "hasValueMap" | "hasShown" | "hasShownMap" | "validateMap" | "invalidate" | "invalidateMap" | "initModel" | "initModelMap" | "errorMessageMap"> & import('vue').ShallowUnwrapRef<{
686
+ }>, "isValid" | "hasChanges" | "hasChangesMap" | "hasValue" | "hasValueMap" | "hasShown" | "hasShownMap" | "validate" | "validateMap" | "invalidate" | "invalidateMap" | "initModel" | "initModelMap" | "errorMessage" | "errorMessageMap"> & import('vue').ShallowUnwrapRef<{
687
687
  isValid: import('vue').ComputedRef<boolean>;
688
688
  hasChanges: import('vue').Ref<boolean, boolean>;
689
689
  hasChangesMap: import('vue').Ref<Record<string, boolean>, Record<string, boolean>>;
@@ -938,7 +938,7 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {
938
938
  "onUpdate:has-changes"?: ((value: boolean) => any) | undefined;
939
939
  "onUpdate:has-value"?: ((value: boolean | null) => any) | undefined;
940
940
  "onUpdate:has-shown"?: ((value: boolean) => any) | undefined;
941
- }>, "errorMessage" | "hasChanges" | "validate" | "isValid" | "hasChangesMap" | "hasValue" | "hasValueMap" | "hasShown" | "hasShownMap" | "validateMap" | "invalidate" | "invalidateMap" | "initModel" | "initModelMap" | "errorMessageMap"> & import('vue').ShallowUnwrapRef<{
941
+ }>, "isValid" | "hasChanges" | "hasChangesMap" | "hasValue" | "hasValueMap" | "hasShown" | "hasShownMap" | "validate" | "validateMap" | "invalidate" | "invalidateMap" | "initModel" | "initModelMap" | "errorMessage" | "errorMessageMap"> & import('vue').ShallowUnwrapRef<{
942
942
  isValid: import('vue').ComputedRef<boolean>;
943
943
  hasChanges: import('vue').Ref<boolean, boolean>;
944
944
  hasChangesMap: import('vue').Ref<Record<string, boolean>, Record<string, boolean>>;
@@ -93,7 +93,7 @@ declare function __VLS_template(): {
93
93
  "onUpdate:has-changes"?: ((value: boolean) => any) | undefined;
94
94
  "onUpdate:has-value"?: ((value: boolean | null) => any) | undefined;
95
95
  "onUpdate:has-shown"?: ((value: boolean) => any) | undefined;
96
- }>, "errorMessage" | "hasChanges" | "validate" | "isValid" | "hasChangesMap" | "hasValue" | "hasValueMap" | "hasShown" | "hasShownMap" | "validateMap" | "invalidate" | "invalidateMap" | "initModel" | "initModelMap" | "errorMessageMap"> & import('vue').ShallowUnwrapRef<{
96
+ }>, "isValid" | "hasChanges" | "hasChangesMap" | "hasValue" | "hasValueMap" | "hasShown" | "hasShownMap" | "validate" | "validateMap" | "invalidate" | "invalidateMap" | "initModel" | "initModelMap" | "errorMessage" | "errorMessageMap"> & import('vue').ShallowUnwrapRef<{
97
97
  isValid: import('vue').ComputedRef<boolean>;
98
98
  hasChanges: import('vue').Ref<boolean, boolean>;
99
99
  hasChangesMap: import('vue').Ref<Record<string, boolean>, Record<string, boolean>>;
@@ -348,7 +348,7 @@ declare function __VLS_template(): {
348
348
  "onUpdate:has-changes"?: ((value: boolean) => any) | undefined;
349
349
  "onUpdate:has-value"?: ((value: boolean | null) => any) | undefined;
350
350
  "onUpdate:has-shown"?: ((value: boolean) => any) | undefined;
351
- }>, "errorMessage" | "hasChanges" | "validate" | "isValid" | "hasChangesMap" | "hasValue" | "hasValueMap" | "hasShown" | "hasShownMap" | "validateMap" | "invalidate" | "invalidateMap" | "initModel" | "initModelMap" | "errorMessageMap"> & import('vue').ShallowUnwrapRef<{
351
+ }>, "isValid" | "hasChanges" | "hasChangesMap" | "hasValue" | "hasValueMap" | "hasShown" | "hasShownMap" | "validate" | "validateMap" | "invalidate" | "invalidateMap" | "initModel" | "initModelMap" | "errorMessage" | "errorMessageMap"> & import('vue').ShallowUnwrapRef<{
352
352
  isValid: import('vue').ComputedRef<boolean>;
353
353
  hasChanges: import('vue').Ref<boolean, boolean>;
354
354
  hasChangesMap: import('vue').Ref<Record<string, boolean>, Record<string, boolean>>;
@@ -549,7 +549,7 @@ declare const __VLS_component: import('vue').DefineComponent<TabsProps, {
549
549
  "onUpdate:has-changes"?: ((value: boolean) => any) | undefined;
550
550
  "onUpdate:has-value"?: ((value: boolean | null) => any) | undefined;
551
551
  "onUpdate:has-shown"?: ((value: boolean) => any) | undefined;
552
- }>, "errorMessage" | "hasChanges" | "validate" | "isValid" | "hasChangesMap" | "hasValue" | "hasValueMap" | "hasShown" | "hasShownMap" | "validateMap" | "invalidate" | "invalidateMap" | "initModel" | "initModelMap" | "errorMessageMap"> & import('vue').ShallowUnwrapRef<{
552
+ }>, "isValid" | "hasChanges" | "hasChangesMap" | "hasValue" | "hasValueMap" | "hasShown" | "hasShownMap" | "validate" | "validateMap" | "invalidate" | "invalidateMap" | "initModel" | "initModelMap" | "errorMessage" | "errorMessageMap"> & import('vue').ShallowUnwrapRef<{
553
553
  isValid: import('vue').ComputedRef<boolean>;
554
554
  hasChanges: import('vue').Ref<boolean, boolean>;
555
555
  hasChangesMap: import('vue').Ref<Record<string, boolean>, Record<string, boolean>>;
@@ -804,7 +804,7 @@ declare const __VLS_component: import('vue').DefineComponent<TabsProps, {
804
804
  "onUpdate:has-changes"?: ((value: boolean) => any) | undefined;
805
805
  "onUpdate:has-value"?: ((value: boolean | null) => any) | undefined;
806
806
  "onUpdate:has-shown"?: ((value: boolean) => any) | undefined;
807
- }>, "errorMessage" | "hasChanges" | "validate" | "isValid" | "hasChangesMap" | "hasValue" | "hasValueMap" | "hasShown" | "hasShownMap" | "validateMap" | "invalidate" | "invalidateMap" | "initModel" | "initModelMap" | "errorMessageMap"> & import('vue').ShallowUnwrapRef<{
807
+ }>, "isValid" | "hasChanges" | "hasChangesMap" | "hasValue" | "hasValueMap" | "hasShown" | "hasShownMap" | "validate" | "validateMap" | "invalidate" | "invalidateMap" | "initModel" | "initModelMap" | "errorMessage" | "errorMessageMap"> & import('vue').ShallowUnwrapRef<{
808
808
  isValid: import('vue').ComputedRef<boolean>;
809
809
  hasChanges: import('vue').Ref<boolean, boolean>;
810
810
  hasChangesMap: import('vue').Ref<Record<string, boolean>, Record<string, boolean>>;
@@ -96,7 +96,7 @@ declare function __VLS_template(): {
96
96
  "onUpdate:has-changes"?: ((value: boolean) => any) | undefined;
97
97
  "onUpdate:has-value"?: ((value: boolean | null) => any) | undefined;
98
98
  "onUpdate:has-shown"?: ((value: boolean) => any) | undefined;
99
- }>, "errorMessage" | "hasChanges" | "validate" | "isValid" | "hasChangesMap" | "hasValue" | "hasValueMap" | "hasShown" | "hasShownMap" | "validateMap" | "invalidate" | "invalidateMap" | "initModel" | "initModelMap" | "errorMessageMap"> & import('vue').ShallowUnwrapRef<{
99
+ }>, "isValid" | "hasChanges" | "hasChangesMap" | "hasValue" | "hasValueMap" | "hasShown" | "hasShownMap" | "validate" | "validateMap" | "invalidate" | "invalidateMap" | "initModel" | "initModelMap" | "errorMessage" | "errorMessageMap"> & import('vue').ShallowUnwrapRef<{
100
100
  isValid: import('vue').ComputedRef<boolean>;
101
101
  hasChanges: import('vue').Ref<boolean, boolean>;
102
102
  hasChangesMap: import('vue').Ref<Record<string, boolean>, Record<string, boolean>>;
@@ -218,7 +218,7 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {
218
218
  "onUpdate:has-changes"?: ((value: boolean) => any) | undefined;
219
219
  "onUpdate:has-value"?: ((value: boolean | null) => any) | undefined;
220
220
  "onUpdate:has-shown"?: ((value: boolean) => any) | undefined;
221
- }>, "errorMessage" | "hasChanges" | "validate" | "isValid" | "hasChangesMap" | "hasValue" | "hasValueMap" | "hasShown" | "hasShownMap" | "validateMap" | "invalidate" | "invalidateMap" | "initModel" | "initModelMap" | "errorMessageMap"> & import('vue').ShallowUnwrapRef<{
221
+ }>, "isValid" | "hasChanges" | "hasChangesMap" | "hasValue" | "hasValueMap" | "hasShown" | "hasShownMap" | "validate" | "validateMap" | "invalidate" | "invalidateMap" | "initModel" | "initModelMap" | "errorMessage" | "errorMessageMap"> & import('vue').ShallowUnwrapRef<{
222
222
  isValid: import('vue').ComputedRef<boolean>;
223
223
  hasChanges: import('vue').Ref<boolean, boolean>;
224
224
  hasChangesMap: import('vue').Ref<Record<string, boolean>, Record<string, boolean>>;
@@ -1,6 +1,8 @@
1
1
  import { App } from 'vue';
2
2
  import { default as WActionsBar } from '../components/ActionsBar/WActionsBar.vue';
3
3
  import { default as WActionsBarFilter } from '../components/ActionsBar/WActionsBarFilter.vue';
4
+ import { default as WRouteAuth } from '../components/Auth/WRouteAuth.vue';
5
+ import { default as WRouteAuthNo } from '../components/Auth/WRouteAuthNo.vue';
4
6
  import { default as WBottomSheet } from '../components/BottomSheet/WBottomSheet.vue';
5
7
  import { default as WButton } from '../components/Button/WButton.vue';
6
8
  import { default as WButtonAction } from '../components/Button/WButtonAction.vue';
@@ -104,5 +106,5 @@ declare const _default: {
104
106
  install: (app: App | any) => void;
105
107
  };
106
108
  export default _default;
107
- export { WActionsBar, WActionsBarFilter, WBottomSheet, WButton, WButtonAction, WButtonCopy, WButtonDropdown, WButtonGroup, WButtonInput, WButtonMore, WButtonMoreItem, WButtonSelection, WButtonSelectionAction, WButtonSelectionState, WButtonTab, WButtonUnselect, WCheckbox, WCheckboxGroup, WCheckboxGroupMultiple, WChip, WClickOutside, WCounter, WDatePicker, WDatePickerSingle, WDismissable, WDragContainer, WDropdown, WDropdownMenu, WEmptyComponent, WExpansion, WExpansionItem, WFieldWrapper, WFilePicker, WFilterWrapper, WForm, WFormValidator, WFormAsyncButtonGroup, WFormAsyncCheckboxGroup, WFormAsyncInput, WFormAsyncSelect, WFormAsyncSelectInfiniteSingle, WFormAsyncSelectSingle, WFormAsyncSelectStringified, WFormAsyncToggle, WHeaderBar, WHeaderBarSearch, WImageViewer, WInfiniteList, WInfiniteListScrollingElement, WInfiniteListWrapper, WInfoCard, WInfoCardNegative, WInput, WInputAsync, WInputDate, WInputOptions, WInputSuggest, WLink, WLinkArrow, WList, WListCard, WListCardField, WListFilter, WListHeader, WListHeaderItem, WMenuItem, WModal, WModalExport, WModalImport, WModalStepper, WModalWrapper, WNavBar, WNavItem, WNavItemExpand, WNavItemTransition, WNotify, WNumberFormatter, WPage, WPageBreadcrumbs, WPageNumerator, WPageTitle, WProgress, WProgressStriped, WSelect, WSelectAsync, WSelectAsyncList, WSelectAsyncSingle, WSelectSingle, WSelectStringified, WShine, WShineEffect, WSkeleton, WSpinner, WStatusIcon, WTabs, WTabsColumns, WTabsItem, WToggle, WToggleTheme, WTooltip, WTooltipContainer, };
109
+ export { WActionsBar, WActionsBarFilter, WRouteAuth, WRouteAuthNo, WBottomSheet, WButton, WButtonAction, WButtonCopy, WButtonDropdown, WButtonGroup, WButtonInput, WButtonMore, WButtonMoreItem, WButtonSelection, WButtonSelectionAction, WButtonSelectionState, WButtonTab, WButtonUnselect, WCheckbox, WCheckboxGroup, WCheckboxGroupMultiple, WChip, WClickOutside, WCounter, WDatePicker, WDatePickerSingle, WDismissable, WDragContainer, WDropdown, WDropdownMenu, WEmptyComponent, WExpansion, WExpansionItem, WFieldWrapper, WFilePicker, WFilterWrapper, WForm, WFormValidator, WFormAsyncButtonGroup, WFormAsyncCheckboxGroup, WFormAsyncInput, WFormAsyncSelect, WFormAsyncSelectInfiniteSingle, WFormAsyncSelectSingle, WFormAsyncSelectStringified, WFormAsyncToggle, WHeaderBar, WHeaderBarSearch, WImageViewer, WInfiniteList, WInfiniteListScrollingElement, WInfiniteListWrapper, WInfoCard, WInfoCardNegative, WInput, WInputAsync, WInputDate, WInputOptions, WInputSuggest, WLink, WLinkArrow, WList, WListCard, WListCardField, WListFilter, WListHeader, WListHeaderItem, WMenuItem, WModal, WModalExport, WModalImport, WModalStepper, WModalWrapper, WNavBar, WNavItem, WNavItemExpand, WNavItemTransition, WNotify, WNumberFormatter, WPage, WPageBreadcrumbs, WPageNumerator, WPageTitle, WProgress, WProgressStriped, WSelect, WSelectAsync, WSelectAsyncList, WSelectAsyncSingle, WSelectSingle, WSelectStringified, WShine, WShineEffect, WSkeleton, WSpinner, WStatusIcon, WTabs, WTabsColumns, WTabsItem, WToggle, WToggleTheme, WTooltip, WTooltipContainer, };
108
110
  //# sourceMappingURL=componentsPlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"componentsPlugin.d.ts","sourceRoot":"","sources":["../../../src/imports/componentsPlugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"componentsPlugin.d.ts","sourceRoot":"","sources":["../../../src/imports/componentsPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,KAAK,CAAA;AAE5B,OAAO,WAAW,MAAM,yCAAyC,CAAA;AACjE,OAAO,iBAAiB,MAAM,+CAA+C,CAAA;AAC7E,OAAO,UAAU,MAAM,kCAAkC,CAAA;AACzD,OAAO,YAAY,MAAM,oCAAoC,CAAA;AAC7D,OAAO,YAAY,MAAM,2CAA2C,CAAA;AACpE,OAAO,OAAO,MAAM,iCAAiC,CAAA;AACrD,OAAO,aAAa,MAAM,uCAAuC,CAAA;AACjE,OAAO,WAAW,MAAM,qCAAqC,CAAA;AAC7D,OAAO,eAAe,MAAM,yCAAyC,CAAA;AACrE,OAAO,YAAY,MAAM,sCAAsC,CAAA;AAC/D,OAAO,YAAY,MAAM,sCAAsC,CAAA;AAC/D,OAAO,WAAW,MAAM,qCAAqC,CAAA;AAC7D,OAAO,eAAe,MAAM,yCAAyC,CAAA;AACrE,OAAO,gBAAgB,MAAM,0CAA0C,CAAA;AACvE,OAAO,sBAAsB,MAAM,gDAAgD,CAAA;AACnF,OAAO,qBAAqB,MAAM,+CAA+C,CAAA;AACjF,OAAO,UAAU,MAAM,oCAAoC,CAAA;AAC3D,OAAO,eAAe,MAAM,yCAAyC,CAAA;AACrE,OAAO,SAAS,MAAM,qCAAqC,CAAA;AAC3D,OAAO,cAAc,MAAM,0CAA0C,CAAA;AACrE,OAAO,sBAAsB,MAAM,kDAAkD,CAAA;AACrF,OAAO,KAAK,MAAM,6BAA6B,CAAA;AAC/C,OAAO,aAAa,MAAM,6CAA6C,CAAA;AACvE,OAAO,QAAQ,MAAM,mCAAmC,CAAA;AACxD,OAAO,WAAW,MAAM,yCAAyC,CAAA;AACjE,OAAO,iBAAiB,MAAM,+CAA+C,CAAA;AAC7E,OAAO,YAAY,MAAM,2CAA2C,CAAA;AACpE,OAAO,cAAc,MAAM,+CAA+C,CAAA;AAC1E,OAAO,SAAS,MAAM,qCAAqC,CAAA;AAC3D,OAAO,aAAa,MAAM,6CAA6C,CAAA;AACvE,OAAO,eAAe,MAAM,iDAAiD,CAAA;AAC7E,OAAO,UAAU,MAAM,uCAAuC,CAAA;AAC9D,OAAO,cAAc,MAAM,2CAA2C,CAAA;AACtE,OAAO,aAAa,MAAM,6CAA6C,CAAA;AACvE,OAAO,WAAW,MAAM,yCAAyC,CAAA;AACjE,OAAO,cAAc,MAAM,+CAA+C,CAAA;AAC1E,OAAO,KAAK,MAAM,6BAA6B,CAAA;AAC/C,OAAO,cAAc,MAAM,sCAAsC,CAAA;AACjE,OAAO,qBAAqB,MAAM,kDAAkD,CAAA;AACpF,OAAO,uBAAuB,MAAM,oDAAoD,CAAA;AACxF,OAAO,eAAe,MAAM,4CAA4C,CAAA;AACxE,OAAO,gBAAgB,MAAM,6CAA6C,CAAA;AAC1E,OAAO,8BAA8B,MAAM,2DAA2D,CAAA;AACtG,OAAO,sBAAsB,MAAM,mDAAmD,CAAA;AACtF,OAAO,2BAA2B,MAAM,wDAAwD,CAAA;AAChG,OAAO,gBAAgB,MAAM,6CAA6C,CAAA;AAC1E,OAAO,UAAU,MAAM,uCAAuC,CAAA;AAC9D,OAAO,gBAAgB,MAAM,6CAA6C,CAAA;AAC1E,OAAO,YAAY,MAAM,2CAA2C,CAAA;AACpE,OAAO,aAAa,MAAM,6CAA6C,CAAA;AACvE,OAAO,6BAA6B,MAAM,6DAA6D,CAAA;AACvG,OAAO,oBAAoB,MAAM,oDAAoD,CAAA;AACrF,OAAO,SAAS,MAAM,qCAAqC,CAAA;AAC3D,OAAO,iBAAiB,MAAM,6CAA6C,CAAA;AAC3E,OAAO,MAAM,MAAM,+BAA+B,CAAA;AAClD,OAAO,WAAW,MAAM,oCAAoC,CAAA;AAC5D,OAAO,UAAU,MAAM,mCAAmC,CAAA;AAC1D,OAAO,aAAa,MAAM,sCAAsC,CAAA;AAChE,OAAO,aAAa,MAAM,sCAAsC,CAAA;AAChE,OAAO,KAAK,MAAM,6BAA6B,CAAA;AAC/C,OAAO,UAAU,MAAM,kCAAkC,CAAA;AACzD,OAAO,KAAK,MAAM,6BAA6B,CAAA;AAC/C,OAAO,SAAS,MAAM,iCAAiC,CAAA;AACvD,OAAO,cAAc,MAAM,sCAAsC,CAAA;AACjE,OAAO,WAAW,MAAM,mCAAmC,CAAA;AAC3D,OAAO,WAAW,MAAM,mCAAmC,CAAA;AAC3D,OAAO,eAAe,MAAM,uCAAuC,CAAA;AACnE,OAAO,SAAS,MAAM,qCAAqC,CAAA;AAC3D,OAAO,MAAM,MAAM,+BAA+B,CAAA;AAClD,OAAO,YAAY,MAAM,qCAAqC,CAAA;AAC9D,OAAO,YAAY,MAAM,qCAAqC,CAAA;AAC9D,OAAO,aAAa,MAAM,sCAAsC,CAAA;AAChE,OAAO,aAAa,MAAM,sCAAsC,CAAA;AAChE,OAAO,OAAO,MAAM,8BAA8B,CAAA;AAClD,OAAO,QAAQ,MAAM,+BAA+B,CAAA;AACpD,OAAO,cAAc,MAAM,qCAAqC,CAAA;AAChE,OAAO,kBAAkB,MAAM,yCAAyC,CAAA;AACxE,OAAO,OAAO,MAAM,iCAAiC,CAAA;AACrD,OAAO,gBAAgB,MAAM,mDAAmD,CAAA;AAChF,OAAO,KAAK,MAAM,6BAA6B,CAAA;AAC/C,OAAO,gBAAgB,MAAM,wCAAwC,CAAA;AACrE,OAAO,cAAc,MAAM,sCAAsC,CAAA;AACjE,OAAO,UAAU,MAAM,kCAAkC,CAAA;AACzD,OAAO,SAAS,MAAM,qCAAqC,CAAA;AAC3D,OAAO,gBAAgB,MAAM,4CAA4C,CAAA;AACzE,OAAO,OAAO,MAAM,iCAAiC,CAAA;AACrD,OAAO,YAAY,MAAM,sCAAsC,CAAA;AAC/D,OAAO,gBAAgB,MAAM,0CAA0C,CAAA;AACvE,OAAO,kBAAkB,MAAM,4CAA4C,CAAA;AAC3E,OAAO,aAAa,MAAM,uCAAuC,CAAA;AACjE,OAAO,kBAAkB,MAAM,4CAA4C,CAAA;AAC3E,OAAO,MAAM,MAAM,+BAA+B,CAAA;AAClD,OAAO,YAAY,MAAM,qCAAqC,CAAA;AAC9D,OAAO,SAAS,MAAM,qCAAqC,CAAA;AAC3D,OAAO,QAAQ,MAAM,mCAAmC,CAAA;AACxD,OAAO,WAAW,MAAM,qCAAqC,CAAA;AAC7D,OAAO,KAAK,MAAM,6BAA6B,CAAA;AAC/C,OAAO,YAAY,MAAM,oCAAoC,CAAA;AAC7D,OAAO,SAAS,MAAM,iCAAiC,CAAA;AACvD,OAAO,OAAO,MAAM,iCAAiC,CAAA;AACrD,OAAO,YAAY,MAAM,sCAAsC,CAAA;AAC/D,OAAO,QAAQ,MAAM,mCAAmC,CAAA;AACxD,OAAO,iBAAiB,MAAM,4CAA4C,CAAA;;mBAIzD,GAAG,GAAG,GAAG;;AAF1B,wBA2GC;AAED,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,aAAa,EACb,WAAW,EACX,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,UAAU,EACV,eAAe,EACf,SAAS,EACT,cAAc,EACd,sBAAsB,EACtB,KAAK,EACL,aAAa,EACb,QAAQ,EACR,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,SAAS,EACT,aAAa,EACb,eAAe,EACf,UAAU,EACV,cAAc,EACd,aAAa,EACb,WAAW,EACX,cAAc,EACd,KAAK,EACL,cAAc,EACd,qBAAqB,EACrB,uBAAuB,EACvB,eAAe,EACf,gBAAgB,EAChB,8BAA8B,EAC9B,sBAAsB,EACtB,2BAA2B,EAC3B,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,6BAA6B,EAC7B,oBAAoB,EACpB,SAAS,EACT,iBAAiB,EACjB,MAAM,EACN,WAAW,EACX,UAAU,EACV,aAAa,EACb,aAAa,EACb,KAAK,EACL,UAAU,EACV,KAAK,EACL,SAAS,EACT,cAAc,EACd,WAAW,EACX,WAAW,EACX,eAAe,EACf,SAAS,EACT,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,aAAa,EACb,OAAO,EACP,QAAQ,EACR,cAAc,EACd,kBAAkB,EAClB,OAAO,EACP,gBAAgB,EAChB,KAAK,EACL,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,OAAO,EACP,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,MAAM,EACN,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,WAAW,EACX,KAAK,EACL,YAAY,EACZ,SAAS,EACT,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,iBAAiB,GAClB,CAAA"}
package/dist/main.d.ts CHANGED
@@ -2,6 +2,7 @@ export * as iconsDefault from './imports/iconsDefault';
2
2
  export * as iconsSax from './imports/iconsSax';
3
3
  export * from './imports/componentsPlugin';
4
4
  export * from './utils/api';
5
+ export * from './utils/ApiClient';
5
6
  export * from './utils/Notify';
6
7
  export * from './utils/Modal';
7
8
  export * as DOMListenerContainer from './utils/DOMListenerContainer';
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,wBAAwB,CAAA;AACtD,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAA;AAC9C,cAAc,4BAA4B,CAAA;AAE1C,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,OAAO,KAAK,oBAAoB,MAAM,8BAA8B,CAAA;AACpE,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,wBAAwB,CAAA;AACtD,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAA;AAC9C,cAAc,4BAA4B,CAAA;AAE1C,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,OAAO,KAAK,oBAAoB,MAAM,8BAA8B,CAAA;AACpE,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AACvC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA"}
package/dist/main.js CHANGED
@@ -4,6 +4,8 @@ import * as iconsSax from './imports/iconsSax.js';
4
4
  export { iconsSax };
5
5
  export { default as WActionsBar } from './components/ActionsBar/WActionsBar.vue.js';
6
6
  export { default as WActionsBarFilter } from './components/ActionsBar/WActionsBarFilter.vue.js';
7
+ export { default as WRouteAuth } from './components/Auth/WRouteAuth.vue.js';
8
+ export { default as WRouteAuthNo } from './components/Auth/WRouteAuthNo.vue.js';
7
9
  export { default as WBottomSheet } from './components/BottomSheet/WBottomSheet.vue.js';
8
10
  export { default as WButton } from './components/Button/WButton.vue.js';
9
11
  export { default as WButtonAction } from './components/Button/WButtonAction.vue.js';
@@ -104,6 +106,7 @@ export { default as WToggleTheme } from './components/Toggle/WToggleTheme.vue.js
104
106
  export { default as WTooltip } from './components/Tooltip/WTooltip.vue.js';
105
107
  export { default as WTooltipContainer } from './components/Tooltip/WTooltipContainer.vue.js';
106
108
  export { ApiError, ApiErrorCancel, createUseQueryParams, encodeQueryParam, encodeQueryParams, encodeRouteParams, handleApiError } from './utils/api.js';
109
+ export { ApiClientInstance, getURLParams } from './utils/ApiClient.js';
107
110
  export { Notify, initNotify } from './utils/Notify.js';
108
111
  export { Modal, initModal } from './utils/Modal.js';
109
112
  import * as DOMListenerContainer from './utils/DOMListenerContainer.js';
@@ -0,0 +1,89 @@
1
+ import { LocationQuery } from 'vue-router';
2
+ export declare const getURLParams: (params: RequestConfig["params"] | LocationQuery) => string;
3
+ type ApiUrl = `/${string}/`;
4
+ type BaseUrl = `/${string}`;
5
+ export interface ApiClient {
6
+ baseUrl: string;
7
+ get<R>(url: ApiUrl, config?: RequestConfig<never>): Promise<RequestResponse<R, NonNullable<unknown>>>;
8
+ post<R, D extends RequestData = RequestData>(url: ApiUrl, data?: Required<RequestConfig<D>>['data'], config?: Omit<RequestConfig<D>, 'data'>): Promise<RequestResponse<R, D>>;
9
+ patch<R, D extends RequestData = RequestData>(url: ApiUrl, data?: Required<RequestConfig<D>>['data'], config?: Omit<RequestConfig<D>, 'data'>): Promise<RequestResponse<R, D>>;
10
+ delete<R>(url: ApiUrl, config?: RequestConfig<never>): Promise<RequestResponse<R, NonNullable<unknown>>>;
11
+ }
12
+ export declare class ApiClientInstance implements ApiClient {
13
+ private config;
14
+ refreshPromise: Promise<void> | null;
15
+ isAuthFailed: import('vue').Ref<boolean, boolean>;
16
+ constructor(config: {
17
+ tokenGetter?: () => string | null;
18
+ refreshUrl?: ApiUrl;
19
+ onFailure?: (response: Response) => void;
20
+ credentials?: RequestCredentials;
21
+ baseUrl?: BaseUrl;
22
+ routeNameAuth: string;
23
+ routeNameAuthNo: string;
24
+ });
25
+ get routeNameAuth(): string;
26
+ get routeNameAuthNo(): string;
27
+ logout(): void;
28
+ private retry;
29
+ private refresh;
30
+ checkAuth(): boolean | null;
31
+ private fetch;
32
+ get baseUrl(): "" | `/${string}`;
33
+ get<R>(url: ApiUrl, config?: RequestConfig<never>): Promise<RequestResponse<R, {}>>;
34
+ post<R, D extends RequestData = RequestData>(url: ApiUrl, data?: Required<RequestConfig<D>>['data'], config?: Omit<RequestConfig<D>, 'data'>): Promise<RequestResponse<R, D>>;
35
+ patch<R, D extends RequestData = RequestData>(url: ApiUrl, data?: Required<RequestConfig<D>>['data'], config?: Omit<RequestConfig<D>, 'data'>): Promise<RequestResponse<R, D>>;
36
+ delete<R>(url: ApiUrl, config?: RequestConfig<never>): Promise<RequestResponse<R, {}>>;
37
+ getRouteAuth(this: ApiClientInstance): {
38
+ path: string;
39
+ props: {
40
+ apiClientInstance: ApiClientInstance;
41
+ };
42
+ component: import('vue').DefineComponent<{
43
+ apiClientInstance: ApiClientInstance;
44
+ }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
45
+ apiClientInstance: ApiClientInstance;
46
+ }> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
47
+ beforeEnter: (this: undefined, to: import('vue-router').RouteLocationNormalizedGeneric) => Promise<void | {
48
+ name: string;
49
+ query: {
50
+ hash: string;
51
+ } | undefined;
52
+ }>;
53
+ meta: {
54
+ noAuth: boolean;
55
+ };
56
+ };
57
+ getRouteAuthNo(this: ApiClientInstance): {
58
+ path: string;
59
+ props: {
60
+ apiClientInstance: ApiClientInstance;
61
+ };
62
+ component: import('vue').DefineComponent<{
63
+ apiClientInstance: ApiClientInstance;
64
+ }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
65
+ apiClientInstance: ApiClientInstance;
66
+ }> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
67
+ beforeEnter: (this: undefined, to: import('vue-router').RouteLocationNormalizedGeneric, from: import('vue-router').RouteLocationNormalizedLoadedGeneric) => string | {
68
+ query: {
69
+ hash: string;
70
+ };
71
+ name: import('vue-router').RouteRecordNameGeneric;
72
+ params: import('vue-router').RouteParamsGeneric;
73
+ matched: import('vue-router').RouteRecordNormalized[];
74
+ fullPath: string;
75
+ hash: string;
76
+ redirectedFrom: import('vue-router').RouteLocation | undefined;
77
+ meta: import('vue-router').RouteMeta;
78
+ path: string;
79
+ } | {
80
+ name: string;
81
+ } | undefined;
82
+ meta: {
83
+ noAuth: boolean;
84
+ };
85
+ };
86
+ addInstance(baseUrl: BaseUrl): ApiClient;
87
+ }
88
+ export {};
89
+ //# sourceMappingURL=ApiClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiClient.d.ts","sourceRoot":"","sources":["../../../src/utils/ApiClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,225 @@
1
+ import { ref } from 'vue';
2
+ import _sfc_main from '../components/Auth/WRouteAuth.vue.js';
3
+ import _sfc_main$1 from '../components/Auth/WRouteAuthNo.vue.js';
4
+ import { removeExpirationDate, getLastRefreshPromise, setRefreshTimestamp, removeRefreshTimestamp, checkExpirationDate, setExpirationDate } from '../components/Auth/utils/utils.js';
5
+ import { encodeQueryParams, ApiError, ApiErrorCancel } from './api.js';
6
+
7
+ const getURLParams = (params) => {
8
+ return new URLSearchParams(encodeQueryParams(params)).toString();
9
+ };
10
+ const HEADERS_JSON = {
11
+ "Content-Type": "application/json",
12
+ "Access-Control-Allow-Origin": "*"
13
+ };
14
+ const HEADERS_FORMDATA = {
15
+ "Access-Control-Allow-Origin": "*"
16
+ };
17
+ class ApiClientInstance {
18
+ constructor(config) {
19
+ this.config = config;
20
+ }
21
+ refreshPromise = null;
22
+ isAuthFailed = ref(false);
23
+ get routeNameAuth() {
24
+ return this.config.routeNameAuth;
25
+ }
26
+ get routeNameAuthNo() {
27
+ return this.config.routeNameAuthNo;
28
+ }
29
+ logout() {
30
+ removeExpirationDate();
31
+ }
32
+ async retry(request) {
33
+ const newRequest = request.clone();
34
+ const response = await fetch(request);
35
+ return {
36
+ data: await response.json(),
37
+ status: response.status,
38
+ request: newRequest
39
+ };
40
+ }
41
+ async refresh() {
42
+ if (!this.refreshPromise) {
43
+ const refreshTimeoutPromise = getLastRefreshPromise();
44
+ if (refreshTimeoutPromise) {
45
+ this.refreshPromise = refreshTimeoutPromise.then(() => {
46
+ this.refreshPromise = null;
47
+ this.isAuthFailed.value = false;
48
+ }).catch(async () => {
49
+ this.refreshPromise = null;
50
+ const check = this.checkAuth();
51
+ if (!check) {
52
+ if (this.refreshPromise) return this.refreshPromise;
53
+ if (check === null) {
54
+ this.isAuthFailed.value = true;
55
+ return Promise.reject();
56
+ }
57
+ return this.refresh();
58
+ }
59
+ });
60
+ } else {
61
+ setRefreshTimestamp();
62
+ this.refreshPromise = this.fetch("GET", this.config.refreshUrl, { updateToken: true }).then(() => {
63
+ this.refreshPromise = null;
64
+ }).catch((error) => {
65
+ this.refreshPromise = null;
66
+ this.isAuthFailed.value = true;
67
+ return Promise.reject(error);
68
+ }).finally(removeRefreshTimestamp);
69
+ }
70
+ }
71
+ return this.refreshPromise;
72
+ }
73
+ checkAuth() {
74
+ let result;
75
+ if (this.config.tokenGetter) result = !!this.config.tokenGetter?.();
76
+ else result = checkExpirationDate();
77
+ if (result) this.isAuthFailed.value = false;
78
+ return result;
79
+ }
80
+ fetch(method, url, config, baseUrl) {
81
+ return new Promise(async (resolve, reject) => {
82
+ const headers = new Headers(config?.data instanceof FormData ? HEADERS_FORMDATA : HEADERS_JSON);
83
+ if (!config?.noAuth && !config?.updateToken) {
84
+ if (this.refreshPromise) await this.refreshPromise;
85
+ const check = this.checkAuth();
86
+ if (!check) {
87
+ if (check === null) {
88
+ this.isAuthFailed.value = true;
89
+ return Promise.reject();
90
+ }
91
+ if (this.config.refreshUrl) await this.refresh();
92
+ } else if (this.config.tokenGetter) {
93
+ const token = this.config.tokenGetter();
94
+ if (token) headers.append("Authorization", "Bearer " + token);
95
+ else return Promise.reject();
96
+ }
97
+ }
98
+ const params = config?.params ? "?" + getURLParams(config.params) : "";
99
+ const request = new Request(
100
+ (baseUrl ?? this.config.baseUrl) + url + params,
101
+ {
102
+ method,
103
+ mode: "cors",
104
+ cache: "no-cache",
105
+ credentials: this.config.credentials ?? "same-origin",
106
+ headers,
107
+ redirect: "follow",
108
+ referrerPolicy: "no-referrer",
109
+ body: config?.data ? config.data instanceof FormData ? config.data : JSON.stringify(config.data) : void 0,
110
+ signal: config?.signal
111
+ }
112
+ );
113
+ fetch(request).then((response) => {
114
+ response.json().catch(() => void 0).then((data) => {
115
+ if (response.ok) {
116
+ resolve({
117
+ data,
118
+ status: response.status,
119
+ config,
120
+ request
121
+ });
122
+ } else {
123
+ if (response.status === 401) {
124
+ if (this.config.refreshUrl) return this.refresh().then(() => this.retry(request));
125
+ this.isAuthFailed.value = true;
126
+ }
127
+ this.config.onFailure?.(response);
128
+ reject(new ApiError({
129
+ data,
130
+ status: response.status,
131
+ config,
132
+ request
133
+ }));
134
+ }
135
+ });
136
+ }).catch((error) => {
137
+ if (error instanceof DOMException && error.name === "AbortError") {
138
+ reject(new ApiErrorCancel({
139
+ data: void 0,
140
+ config,
141
+ request
142
+ }));
143
+ }
144
+ reject(error);
145
+ }).finally(() => {
146
+ if (config?.updateToken) setExpirationDate();
147
+ });
148
+ });
149
+ }
150
+ get baseUrl() {
151
+ return this.config.baseUrl ?? "";
152
+ }
153
+ get(url, config) {
154
+ return this.fetch("GET", url, config);
155
+ }
156
+ post(url, data, config) {
157
+ return this.fetch("POST", url, { data, ...config });
158
+ }
159
+ patch(url, data, config) {
160
+ return this.fetch("PATCH", url, { data, ...config });
161
+ }
162
+ delete(url, config) {
163
+ return this.fetch("DELETE", url, config);
164
+ }
165
+ getRouteAuth() {
166
+ return {
167
+ path: "",
168
+ props: { apiClientInstance: this },
169
+ component: _sfc_main,
170
+ beforeEnter: async (to) => {
171
+ if (to.meta.noAuth) return;
172
+ if (this.refreshPromise) await this.refreshPromise;
173
+ if (!this.checkAuth()) {
174
+ if (this.config.refreshUrl) return this.refresh().catch(() => ({
175
+ name: this.routeNameAuthNo,
176
+ query: to.fullPath !== "/" ? { hash: to.fullPath } : void 0
177
+ }));
178
+ return { name: this.routeNameAuthNo, query: to.fullPath !== "/" ? { hash: to.fullPath } : void 0 };
179
+ }
180
+ },
181
+ meta: {
182
+ noAuth: false
183
+ }
184
+ };
185
+ }
186
+ getRouteAuthNo() {
187
+ return {
188
+ path: "",
189
+ props: { apiClientInstance: this },
190
+ component: _sfc_main$1,
191
+ beforeEnter: (to, from) => {
192
+ if (!this.checkAuth()) {
193
+ if (!to.query.hash && !from.meta.noAuth && from.fullPath !== "/") {
194
+ return { ...to, query: { hash: from.fullPath } };
195
+ }
196
+ return;
197
+ }
198
+ if (typeof to.query.hash === "string") return to.query.hash;
199
+ else return { name: this.routeNameAuth };
200
+ },
201
+ meta: {
202
+ noAuth: true
203
+ }
204
+ };
205
+ }
206
+ addInstance(baseUrl) {
207
+ return {
208
+ baseUrl,
209
+ get: (url, config) => {
210
+ return this.fetch("GET", url, config, baseUrl);
211
+ },
212
+ post: (url, data, config) => {
213
+ return this.fetch("POST", url, { data, ...config }, baseUrl);
214
+ },
215
+ patch: (url, data, config) => {
216
+ return this.fetch("PATCH", url, { data, ...config }, baseUrl);
217
+ },
218
+ delete: (url, config) => {
219
+ return this.fetch("DELETE", url, config, baseUrl);
220
+ }
221
+ };
222
+ }
223
+ }
224
+
225
+ export { ApiClientInstance, getURLParams };
package/package.json CHANGED
@@ -4,16 +4,7 @@
4
4
  "type": "git",
5
5
  "url": "https://github.com/rsmple/eco-vue-js.git"
6
6
  },
7
- "version": "0.10.76",
8
- "scripts": {
9
- "build": "run-p type-check \"build-only {@}\" --",
10
- "dev": "vite build --mode development --watch",
11
- "build-only": "vite build",
12
- "type-check": "vue-tsc --build --force",
13
- "lint": "eslint .",
14
- "lint:fix": "eslint . --fix",
15
- "lint:inspect": "npx eslint --inspect-config"
16
- },
7
+ "version": "0.10.77",
17
8
  "dependencies": {
18
9
  "@stylistic/eslint-plugin": "5.1.0",
19
10
  "@tanstack/eslint-plugin-query": "5.81.2",
@@ -110,6 +101,9 @@
110
101
  "./dist/utils/api": {
111
102
  "import": "./dist/utils/api.js"
112
103
  },
104
+ "./dist/utils/ApiClient": {
105
+ "import": "./dist/utils/ApiClient.js"
106
+ },
113
107
  "./dist/utils/validate": {
114
108
  "import": "./dist/utils/validate.js"
115
109
  },
@@ -119,6 +113,12 @@
119
113
  "./dist/components/ActionsBar/WActionsBarFilter.vue": {
120
114
  "import": "./dist/components/ActionsBar/WActionsBarFilter.vue.js"
121
115
  },
116
+ "./dist/components/Auth/WRouteAuth.vue": {
117
+ "import": "./dist/components/Auth/WRouteAuth.vue.js"
118
+ },
119
+ "./dist/components/Auth/WRouteAuthNo.vue": {
120
+ "import": "./dist/components/Auth/WRouteAuthNo.vue.js"
121
+ },
122
122
  "./dist/components/BottomSheet/WBottomSheet.vue": {
123
123
  "import": "./dist/components/BottomSheet/WBottomSheet.vue.js"
124
124
  },