eco-vue-js 0.10.76 → 0.10.78
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/dist/components/Auth/WRouteAuth.vue.d.ts +7 -0
- package/dist/components/Auth/WRouteAuth.vue.d.ts.map +1 -0
- package/dist/components/Auth/WRouteAuth.vue.js +38 -0
- package/dist/components/Auth/WRouteAuth.vue2.js +5 -0
- package/dist/components/Auth/WRouteAuthNo.vue.d.ts +7 -0
- package/dist/components/Auth/WRouteAuthNo.vue.d.ts.map +1 -0
- package/dist/components/Auth/WRouteAuthNo.vue.js +51 -0
- package/dist/components/Auth/WRouteAuthNo.vue2.js +5 -0
- package/dist/components/Auth/utils/utils.d.ts +7 -0
- package/dist/components/Auth/utils/utils.d.ts.map +1 -0
- package/dist/components/Auth/utils/utils.js +61 -0
- package/dist/components/DragContainer/use/useDragContainer.js +2 -2
- package/dist/components/InfiniteList/components/InfiniteListScroll.vue.d.ts.map +1 -1
- package/dist/components/InfiniteList/components/InfiniteListScroll.vue.js +8 -11
- package/dist/components/Input/WInputAsync.vue.d.ts.map +1 -1
- package/dist/components/Input/WInputAsync.vue.js +1 -1
- package/dist/components/Input/WInputDate.vue.d.ts +1 -1
- package/dist/components/Modal/WModalStepper.vue.d.ts +4 -4
- package/dist/components/Nav/WNavItemExpand.vue.d.ts +1 -1
- package/dist/components/Nav/WNavItemExpand.vue.d.ts.map +1 -1
- package/dist/components/Nav/WNavItemExpand.vue.js +4 -4
- package/dist/components/Tabs/WTabs.vue.d.ts +4 -4
- package/dist/components/Tabs/components/TabItem.vue.d.ts +2 -2
- package/dist/imports/componentsPlugin.d.ts +3 -1
- package/dist/imports/componentsPlugin.d.ts.map +1 -1
- package/dist/main.d.ts +1 -0
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +3 -0
- package/dist/utils/ApiClient.d.ts +89 -0
- package/dist/utils/ApiClient.d.ts.map +1 -0
- package/dist/utils/ApiClient.js +225 -0
- package/package.json +10 -10
@@ -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,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,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":"InfiniteListScroll.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/InfiniteList/components/InfiniteListScroll.vue"],"names":[],"mappings":"AAKA;
|
1
|
+
{"version":3,"file":"InfiniteListScroll.vue.d.ts","sourceRoot":"","sources":["../../../../../src/components/InfiniteList/components/InfiniteListScroll.vue"],"names":[],"mappings":"AAKA;AAgIA,iBAAS,cAAc;WA0BT,OAAO,IAA6B;;yBAXrB,GAAG;;;;;;EAgB/B;AAQD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;;;;;;kBASnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAEpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
@@ -11,26 +11,23 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
11
11
|
const containerRef = useTemplateRef("container");
|
12
12
|
const scrollingElement = inject(wScrollingElement, null);
|
13
13
|
const element = computed(() => scrollingElement?.value ?? document);
|
14
|
-
const
|
15
|
-
if (
|
14
|
+
const checkIsScrollUp = () => {
|
15
|
+
if (!containerRef.value) return;
|
16
16
|
if (getIsScrollUp(scrollingElement?.value ?? document.scrollingElement, containerRef.value.offsetTop)) {
|
17
17
|
emit("scroll:up");
|
18
|
-
return;
|
19
|
-
}
|
20
|
-
if (getIsScrollDown(scrollingElement?.value ?? document.scrollingElement)) {
|
21
|
-
emit("scroll:down");
|
22
|
-
}
|
23
|
-
};
|
24
|
-
const checkIsScrollUp = () => {
|
25
|
-
if (getIsScrollDown(scrollingElement?.value ?? document.scrollingElement)) {
|
26
|
-
emit("scroll:down");
|
27
18
|
}
|
28
19
|
};
|
29
20
|
const checkIsScrollDown = () => {
|
21
|
+
if (!containerRef.value) return;
|
30
22
|
if (getIsScrollDown(scrollingElement?.value ?? document.scrollingElement)) {
|
31
23
|
emit("scroll:down");
|
32
24
|
}
|
33
25
|
};
|
26
|
+
const listener = (event) => {
|
27
|
+
if (event.target !== element.value || !containerRef.value) return;
|
28
|
+
checkIsScrollUp();
|
29
|
+
checkIsScrollDown();
|
30
|
+
};
|
34
31
|
watch(element, (newValue, oldValue) => {
|
35
32
|
oldValue?.removeEventListener("scroll", listener);
|
36
33
|
newValue?.addEventListener("scroll", listener);
|
@@ -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;
|
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 ? 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
|
-
}>, "
|
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
|
-
}>, "
|
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
|
-
}>, "
|
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
|
-
}>, "
|
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>>;
|
@@ -77,7 +77,7 @@ declare function __VLS_template(): {
|
|
77
77
|
};
|
78
78
|
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
79
79
|
declare const __VLS_component: import('vue').DefineComponent<NavItemExpandProps, {
|
80
|
-
isActive: import('vue').
|
80
|
+
isActive: import('vue').ComputedRef<any>;
|
81
81
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<NavItemExpandProps> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
82
82
|
component: ({
|
83
83
|
$: import('vue').ComponentInternalInstance;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"WNavItemExpand.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/Nav/WNavItemExpand.vue"],"names":[],"mappings":"AAoFA;AA+JA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,SAAS,CAAA;AAE/C,OAAO,EAAC,KAAK,KAAK,EAAY,QAAQ,EAAwD,MAAM,KAAK,CAAA;AA2EzG,iBAAS,cAAc;WA0LT,OAAO,IAA6B;;kBAvMtC,MAAM,KAAK,EAAE;eAChB,MAAM,KAAK,EAAE;;kBADV,MAAM,KAAK,EAAE;eAChB,MAAM,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
1
|
+
{"version":3,"file":"WNavItemExpand.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/Nav/WNavItemExpand.vue"],"names":[],"mappings":"AAoFA;AA+JA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,SAAS,CAAA;AAE/C,OAAO,EAAC,KAAK,KAAK,EAAY,QAAQ,EAAwD,MAAM,KAAK,CAAA;AA2EzG,iBAAS,cAAc;WA0LT,OAAO,IAA6B;;kBAvMtC,MAAM,KAAK,EAAE;eAChB,MAAM,KAAK,EAAE;;kBADV,MAAM,KAAK,EAAE;eAChB,MAAM,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAyPixS,GAAG,8CAA8C,GAAG,yBAAyB,GAAG,6DAAmC,GAAG;;;;;;;;;;;;EA9C55S;AAqBD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAwBkxS,GAAG,8CAA8C,GAAG,yBAAyB,GAAG,6DAAmC,GAAG;;;;;;;;;;kBAf35S,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAQpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
@@ -30,11 +30,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
30
30
|
const innerRef = useTemplateRef("inner");
|
31
31
|
const isDropdownOpen = ref(false);
|
32
32
|
const hasActive = ref(false);
|
33
|
-
const isActive = computed(() => componentRef.value?.isActive ?? false);
|
33
|
+
const isActive = computed(() => hasActive.value || (componentRef.value?.isActive ?? false));
|
34
34
|
const hasInnerActive = computed(() => innerRef.value?.some((item) => item.isActive) ?? false);
|
35
35
|
const updateHasActive = async () => {
|
36
36
|
await nextTick();
|
37
|
-
hasActive.value =
|
37
|
+
hasActive.value = innerRef.value?.some((item) => item.isActive) ?? false;
|
38
38
|
};
|
39
39
|
const showDropdown = () => {
|
40
40
|
isDropdownOpen.value = true;
|
@@ -52,7 +52,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
52
52
|
isDropdownOpen.value = false;
|
53
53
|
});
|
54
54
|
__expose({
|
55
|
-
isActive
|
55
|
+
isActive
|
56
56
|
});
|
57
57
|
return (_ctx, _cache) => {
|
58
58
|
return openBlock(), createElementBlock("div", null, [
|
@@ -114,7 +114,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
114
114
|
_: 3
|
115
115
|
}, 8, ["is-open", "horizontal-align"]),
|
116
116
|
createVNode(_sfc_main$3, {
|
117
|
-
"is-shown":
|
117
|
+
"is-shown": isActive.value || _ctx.even
|
118
118
|
}, {
|
119
119
|
default: withCtx(() => [
|
120
120
|
createVNode(WNavItemTransition, null, {
|
@@ -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
|
-
}>, "
|
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
|
-
}>, "
|
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
|
-
}>, "
|
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
|
-
}>, "
|
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
|
-
}>, "
|
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
|
-
}>, "
|
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":"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"}
|
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';
|
package/dist/main.d.ts.map
CHANGED
@@ -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.
|
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.78",
|
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
|
},
|