@webitel/ui-sdk 26.8.112 → 26.8.114
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/{caseConverters-6cy_SaV5.js → caseConverters-DGri4uJo.js} +1 -1
- package/dist/{clients-Be8f1qoM.js → clients-CWniSi77.js} +255 -163
- package/dist/{components-GY1xFZWr.js → components-DJVzkzrr.js} +301 -301
- package/dist/{composables-Vg-QfE_2.js → composables-BeyROIj_.js} +2 -2
- package/dist/{convertDuration-heRoQzks.js → convertDuration-BOe9PsRT.js} +1 -1
- package/dist/{deep-copy-7O5ej7vT.js → deep-copy-BJdHBMNZ.js} +1 -1
- package/dist/{dist-DJZOILzq.js → dist-CnyqtIg9.js} +1 -1
- package/dist/{dist-DB8lC4KJ.js → dist-EXdgfpvN.js} +44 -44
- package/dist/{enums-BDtfwdQu.js → enums-CsINFPBu.js} +133 -11
- package/dist/{genClient-5JkKKac8.js → genClient-CvWlQ0TZ.js} +2 -2
- package/dist/ui-sdk.js +16 -16
- package/dist/ui-sdk.umd.cjs +691 -656
- package/dist/{useValidation-B4q8qUvG.js → useValidation-KcXmMBtR.js} +2 -2
- package/dist/{useWtTable-CUpN0LZ5.js → useWtTable-AYb1yHre.js} +1 -1
- package/dist/{utils-DaacyMAw.js → utils-DHSDTqJG.js} +1 -1
- package/dist/vue-i18n-VBiROMZ4.js +3031 -0
- package/dist/{vue-router-CobN9tLi.js → vue-router-C9sRzLyg.js} +1 -1
- package/dist/{wt-action-bar-DJ_xvqhE.js → wt-action-bar-TwclxZyb.js} +3 -3
- package/dist/{wt-badge-C8O4Oarp.js → wt-badge-DbplVXor.js} +1 -1
- package/dist/{wt-button-BmBqpEkp.js → wt-button-rUZKbswL.js} +4 -4
- package/dist/{wt-chat-emoji-E6MiDOCz.js → wt-chat-emoji-BATwPh2q.js} +4 -4
- package/dist/{wt-datepicker-C1kACub3.js → wt-datepicker-C4wrYXt9.js} +11 -11
- package/dist/{wt-display-chip-items-Dr6QjwFR.js → wt-display-chip-items-N20vx27z.js} +2 -2
- package/dist/{wt-dual-panel-D5TCilWN.js → wt-dual-panel-CjWwG7y6.js} +7 -7
- package/dist/{wt-expansion-card-2wdr_Hpi.js → wt-expansion-card-vv5ctpfw.js} +2 -2
- package/dist/{wt-expansion-panel-DP8zz2tS.js → wt-expansion-panel-3tx3DGUp.js} +1 -1
- package/dist/{wt-galleria-iRpRiDc6.js → wt-galleria-DcZRuekj.js} +2 -2
- package/dist/{wt-icon-CZlhT7Yb.js → wt-icon-B4wxzcVG.js} +4 -4
- package/dist/{wt-icon-action-BXg3jVf6.js → wt-icon-action-CTPCemTs.js} +2 -2
- package/dist/{wt-icon-btn-C8xuTCJR.js → wt-icon-btn-D3lG7Acn.js} +1 -1
- package/dist/{wt-notifications-bar-BDOKlHao.js → wt-notifications-bar-BMV-0Vmo.js} +2 -2
- package/dist/{wt-player-Dqlccj2F.js → wt-player-DBsbjt_l.js} +5 -5
- package/dist/{wt-popover-DuZFw3bg.js → wt-popover-BI6YyXy0.js} +1 -1
- package/dist/{wt-screen-recordings-action-biHVl6lR.js → wt-screen-recordings-action-D2PKGnNl.js} +1 -1
- package/dist/{wt-search-bar-ByF2Wjsg.js → wt-search-bar-CFANAMNQ.js} +1 -1
- package/dist/{wt-selection-popup-Bd4EuLl-.js → wt-selection-popup-Dei_JZah.js} +1 -1
- package/dist/{wt-send-message-popup-BL9aJz5t.js → wt-send-message-popup-DSZ7srx4.js} +7 -7
- package/dist/{wt-slider-Co6hZQu_.js → wt-slider-x-Tch7RT.js} +1 -1
- package/dist/{wt-start-page-Bp7b0ir-.js → wt-start-page-2Bdzg5V5.js} +1 -1
- package/dist/{wt-status-select-BOmAd__4.js → wt-status-select-Bgtu5WrX.js} +11 -11
- package/dist/{wt-table-RK0pOlzR.js → wt-table-DMEjT0xF.js} +6 -6
- package/dist/{wt-table-column-select-BtFhZKPT.js → wt-table-column-select-DzXaRs03.js} +3 -3
- package/dist/{wt-timepicker-C4kMPkNd.js → wt-timepicker-B-ZZUyDZ.js} +5 -5
- package/dist/{wt-toast-DbYB-u-k.js → wt-toast-pXV44Y3v.js} +10 -10
- package/dist/{wt-tree-BH2o2iCt.js → wt-tree-Cu_yRDjp.js} +98 -98
- package/dist/{wt-tree-table-CCaiVeY_.js → wt-tree-table-BET1GUgf.js} +2 -2
- package/dist/wt-type-extension-value-input-B1-ScgJm.js +14743 -0
- package/dist/{wt-vidstack-player-u4R9q51f.js → wt-vidstack-player-C_EdEZ8v.js} +6 -6
- package/package.json +1 -1
- package/src/components/on-demand/wt-type-extension-value-input/wt-type-extension-value-input.vue +19 -5
- package/src/modules/Userinfo/composables/useLookupFieldReadAccess.ts +54 -0
- package/src/modules/Userinfo/index.ts +10 -0
- package/src/modules/Userinfo/injection/filterReadAccess.ts +21 -0
- package/src/modules/Userinfo/mappings/lookupPathToScopeClass.ts +53 -0
- package/src/modules/Userinfo/scripts/typeObjectClass.ts +55 -0
- package/src/modules/Userinfo/stores/userinfoStore.ts +13 -2
- package/types/.tsbuildinfo +1 -1
- package/types/components/on-demand/wt-type-extension-value-input/wt-type-extension-value-input.vue.d.ts +11 -4
- package/types/components/wt-inline-add-panel/wt-inline-add-panel.vue.d.ts +1 -1
- package/types/modules/Flow/lookups/FlowTypeApplications.lookup.d.ts +5 -5
- package/types/modules/Userinfo/composables/useLookupFieldReadAccess.d.ts +14 -0
- package/types/modules/Userinfo/index.d.ts +2 -0
- package/types/modules/Userinfo/injection/filterReadAccess.d.ts +7 -0
- package/types/modules/Userinfo/mappings/lookupPathToScopeClass.d.ts +3 -0
- package/types/modules/Userinfo/scripts/typeObjectClass.d.ts +2 -0
- package/types/modules/Userinfo/stores/userinfoStore.d.ts +25 -15
- package/dist/vue-i18n-B88GcHzn.js +0 -2275
- package/dist/wt-type-extension-value-input-DaSIbXbu.js +0 -109
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import type { DataField } from '@webitel/api-services/gen/models';
|
|
2
|
+
import { type WtObject } from '../../../enums';
|
|
2
3
|
import type { VuelidateFieldLike } from '../../../mixins/validationMixin/vuelidate/useVuelidateValidation';
|
|
3
4
|
type __VLS_Props = {
|
|
4
5
|
field: DataField;
|
|
5
6
|
label?: string;
|
|
6
7
|
required?: boolean;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
hasReadAccess?: (object?: WtObject) => boolean;
|
|
7
10
|
/**
|
|
8
11
|
* TODO: implement validation
|
|
9
12
|
*/
|
|
@@ -17,6 +20,7 @@ declare var __VLS_18: "bool", __VLS_19: {
|
|
|
17
20
|
defaultProps: {
|
|
18
21
|
label: string;
|
|
19
22
|
required: boolean;
|
|
23
|
+
disabled: boolean;
|
|
20
24
|
v: VuelidateFieldLike | undefined;
|
|
21
25
|
};
|
|
22
26
|
}, __VLS_29: "lookup", __VLS_30: {
|
|
@@ -24,12 +28,13 @@ declare var __VLS_18: "bool", __VLS_19: {
|
|
|
24
28
|
value: any;
|
|
25
29
|
clearable: boolean;
|
|
26
30
|
dataKey: string;
|
|
27
|
-
searchMethod: (params: Record<string, unknown>) => Promise<{
|
|
31
|
+
searchMethod: ((params: Record<string, unknown>) => Promise<{
|
|
28
32
|
items: any;
|
|
29
33
|
next: any;
|
|
30
|
-
}
|
|
34
|
+
}>) | undefined;
|
|
31
35
|
label: string;
|
|
32
36
|
required: boolean;
|
|
37
|
+
disabled: boolean;
|
|
33
38
|
v: VuelidateFieldLike | undefined;
|
|
34
39
|
};
|
|
35
40
|
}, __VLS_40: "list", __VLS_41: {
|
|
@@ -37,12 +42,13 @@ declare var __VLS_18: "bool", __VLS_19: {
|
|
|
37
42
|
value: any;
|
|
38
43
|
clearable: boolean;
|
|
39
44
|
dataKey: string;
|
|
40
|
-
searchMethod: (params: Record<string, unknown>) => Promise<{
|
|
45
|
+
searchMethod: ((params: Record<string, unknown>) => Promise<{
|
|
41
46
|
items: any;
|
|
42
47
|
next: any;
|
|
43
|
-
}
|
|
48
|
+
}>) | undefined;
|
|
44
49
|
label: string;
|
|
45
50
|
required: boolean;
|
|
51
|
+
disabled: boolean;
|
|
46
52
|
v: VuelidateFieldLike | undefined;
|
|
47
53
|
};
|
|
48
54
|
}, __VLS_51: "datetime", __VLS_52: {
|
|
@@ -50,6 +56,7 @@ declare var __VLS_18: "bool", __VLS_19: {
|
|
|
50
56
|
value: any;
|
|
51
57
|
label: string;
|
|
52
58
|
required: boolean;
|
|
59
|
+
disabled: boolean;
|
|
53
60
|
v: VuelidateFieldLike | undefined;
|
|
54
61
|
};
|
|
55
62
|
};
|
|
@@ -13,8 +13,8 @@ declare const __VLS_base: import("vue").DefineComponent<WtInlineAddPanel, {}, {}
|
|
|
13
13
|
onReset?: ((...args: any[]) => any) | undefined;
|
|
14
14
|
onSubmit?: ((...args: any[]) => any) | undefined;
|
|
15
15
|
}>, {
|
|
16
|
-
disabledAddAction: boolean;
|
|
17
16
|
direction: "row" | "column";
|
|
17
|
+
disabledAddAction: boolean;
|
|
18
18
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
19
19
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
20
20
|
declare const _default: typeof __VLS_export;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export declare const FlowTypeApplications: {
|
|
2
|
-
readonly voice: readonly [...("string" | "function" | "set" | "switch" | "export" | "calendar" | "list" | "execute" | "log" | "math" | "notification" | "
|
|
3
|
-
readonly chat: readonly [...("string" | "function" | "set" | "switch" | "export" | "calendar" | "list" | "execute" | "log" | "math" | "notification" | "
|
|
4
|
-
readonly processing: readonly [...("string" | "function" | "set" | "switch" | "export" | "calendar" | "list" | "execute" | "log" | "math" | "notification" | "
|
|
5
|
-
readonly service: readonly [...("string" | "function" | "set" | "switch" | "export" | "calendar" | "list" | "execute" | "log" | "math" | "notification" | "
|
|
6
|
-
readonly default: ("string" | "function" | "menu" | "set" | "stop" | "switch" | "export" | "calendar" | "trigger" | "recordFile" | "list" | "execute" | "log" | "math" | "start" | "notification" | "hangup" | "
|
|
2
|
+
readonly voice: readonly [...("string" | "function" | "set" | "switch" | "export" | "calendar" | "list" | "execute" | "log" | "math" | "notification" | "schema" | "sendMessage" | "userInfo" | "goto" | "if" | "js" | "plataByMono" | "softSleep" | "httpRequest" | "customCode" | "unSet" | "listAdd" | "while" | "openLink" | "memberInfo" | "getQueueAgents" | "callbackQueue" | "patchMembers" | "sendEmail" | "broadcastChatMessage" | "getEmail" | "customModule")[], "trigger", "markIVR", "setGrantee", "classifier", "ringReady", "preAnswer", "answer", "sipRedirect", "ringback", "updateCid", "park", "conference", "bridge", "hangup", "inBandDTMF", "flushDTMF", "playback", "recordFile", "recordSession", "generateLink", "tts", "joinQueue", "joinAgent"];
|
|
3
|
+
readonly chat: readonly [...("string" | "function" | "set" | "switch" | "export" | "calendar" | "list" | "execute" | "log" | "math" | "notification" | "schema" | "sendMessage" | "userInfo" | "goto" | "if" | "js" | "plataByMono" | "softSleep" | "httpRequest" | "customCode" | "unSet" | "listAdd" | "while" | "openLink" | "memberInfo" | "getQueueAgents" | "callbackQueue" | "patchMembers" | "sendEmail" | "broadcastChatMessage" | "getEmail" | "customModule")[], "trigger", "menu", "recvMessage", "sendText", "sendTts", "sendFile", "stt", "generateLink", "classifier", "joinQueue", "chatHistory", "chatAi"];
|
|
4
|
+
readonly processing: readonly [...("string" | "function" | "set" | "switch" | "export" | "calendar" | "list" | "execute" | "log" | "math" | "notification" | "schema" | "sendMessage" | "userInfo" | "goto" | "if" | "js" | "plataByMono" | "softSleep" | "httpRequest" | "customCode" | "unSet" | "listAdd" | "while" | "openLink" | "memberInfo" | "getQueueAgents" | "callbackQueue" | "patchMembers" | "sendEmail" | "broadcastChatMessage" | "getEmail" | "customModule")[], "makeCall", "formTextfield", "formSelect", "formSelectService", "formText", "formDatetimePicker", "formRichTextEditor", "formSelectFromObject", "formSelectCaseStatus", "formTable", "formFile", "generateForm", "attemptResult", "iFrame"];
|
|
5
|
+
readonly service: readonly [...("string" | "function" | "set" | "switch" | "export" | "calendar" | "list" | "execute" | "log" | "math" | "notification" | "schema" | "sendMessage" | "userInfo" | "goto" | "if" | "js" | "plataByMono" | "softSleep" | "httpRequest" | "customCode" | "unSet" | "listAdd" | "while" | "openLink" | "memberInfo" | "getQueueAgents" | "callbackQueue" | "patchMembers" | "sendEmail" | "broadcastChatMessage" | "getEmail" | "customModule")[], "attemptResult", "stt"];
|
|
6
|
+
readonly default: ("string" | "function" | "menu" | "set" | "stop" | "switch" | "export" | "calendar" | "trigger" | "recordFile" | "list" | "execute" | "log" | "math" | "start" | "notification" | "hangup" | "schema" | "sendMessage" | "tts" | "userInfo" | "answer" | "goto" | "if" | "js" | "plataByMono" | "iFrame" | "markIVR" | "softSleep" | "setGrantee" | "httpRequest" | "customCode" | "unSet" | "listAdd" | "while" | "openLink" | "playback" | "ringReady" | "preAnswer" | "sipRedirect" | "ringback" | "bridge" | "conference" | "generateLink" | "inBandDTMF" | "flushDTMF" | "updateCid" | "park" | "joinQueue" | "recordSession" | "memberInfo" | "getQueueAgents" | "joinAgent" | "callbackQueue" | "patchMembers" | "recvMessage" | "sendText" | "sendFile" | "sendEmail" | "sendTts" | "stt" | "classifier" | "broadcastChatMessage" | "chatHistory" | "chatAi" | "makeCall" | "formTextfield" | "formSelect" | "formSelectService" | "formTable" | "formText" | "formDatetimePicker" | "formRichTextEditor" | "formSelectFromObject" | "formSelectCaseStatus" | "generateForm" | "attemptResult" | "getEmail" | "formFile" | "customModule")[];
|
|
7
7
|
};
|
|
8
8
|
export type FlowTypeApplications = (typeof FlowTypeApplications)[keyof typeof FlowTypeApplications];
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type MaybeRefOrGetter, type Ref } from 'vue';
|
|
2
|
+
import type { WtObject } from '../../../enums';
|
|
3
|
+
export type LookupFieldHasReadAccess = (object?: WtObject) => boolean;
|
|
4
|
+
type LookupField = {
|
|
5
|
+
lookup?: {
|
|
6
|
+
path?: string;
|
|
7
|
+
objclass?: string;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
export declare const hasLookupFieldReadAccess: (field?: LookupField | null, hasReadAccess?: LookupFieldHasReadAccess) => boolean;
|
|
11
|
+
export declare const useLookupFieldReadAccess: (field: MaybeRefOrGetter<LookupField | null | undefined>, hasReadAccessFn?: LookupFieldHasReadAccess) => {
|
|
12
|
+
hasReadAccess: Ref<boolean>;
|
|
13
|
+
};
|
|
14
|
+
export {};
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export { default as ApplicationsAccess } from './classes/ApplicationsAccess';
|
|
2
2
|
export { createUserAccessControlComposable } from './composables/createUserAccessControl';
|
|
3
|
+
export { hasLookupFieldReadAccess, useLookupFieldReadAccess, } from './composables/useLookupFieldReadAccess';
|
|
3
4
|
export { CrudGlobalAction, ScopeClass, SpecialGlobalAction, WebitelLicense, } from './enums';
|
|
5
|
+
export { type FilterHasReadAccess, FilterReadAccessKey, injectFilterReadAccess, provideFilterReadAccess, } from './injection/filterReadAccess';
|
|
4
6
|
export { createUserinfoStore } from './stores/userinfoStore';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { InjectionKey } from 'vue';
|
|
2
|
+
import type { WtObject } from '../../../enums';
|
|
3
|
+
export type FilterHasReadAccess = (object?: WtObject) => boolean;
|
|
4
|
+
/** Getter around the checker: `provide` would call a bare function as a factory. */
|
|
5
|
+
export declare const FilterReadAccessKey: InjectionKey<() => FilterHasReadAccess | undefined>;
|
|
6
|
+
export declare const provideFilterReadAccess: (getHasReadAccess: () => FilterHasReadAccess | undefined) => void;
|
|
7
|
+
export declare const injectFilterReadAccess: () => () => FilterHasReadAccess | undefined;
|
|
@@ -1,16 +1,20 @@
|
|
|
1
|
+
import type { WtObject } from '../../../enums';
|
|
2
|
+
type UserinfoStoreApi = {
|
|
3
|
+
hasReadAccess: (object?: WtObject) => boolean;
|
|
4
|
+
};
|
|
1
5
|
export declare const createUserinfoStore: () => import("pinia").StoreDefinition<"userinfo", Pick<{
|
|
2
6
|
userId: import("vue").Ref<any, any>;
|
|
3
7
|
userInfo: import("vue").Ref<any, any>;
|
|
4
8
|
timezone: import("vue").Ref<string | null, string | null>;
|
|
5
9
|
initialize: () => Promise<void>;
|
|
6
|
-
hasReadAccess: (object?:
|
|
7
|
-
hasCreateAccess: (object?:
|
|
8
|
-
hasUpdateAccess: (object?:
|
|
9
|
-
hasDeleteAccess: (object?:
|
|
10
|
+
hasReadAccess: (object?: WtObject) => boolean;
|
|
11
|
+
hasCreateAccess: (object?: WtObject) => boolean;
|
|
12
|
+
hasUpdateAccess: (object?: WtObject) => boolean;
|
|
13
|
+
hasDeleteAccess: (object?: WtObject) => boolean;
|
|
10
14
|
hasLicense: (license: import("..").WebitelLicense) => boolean;
|
|
11
15
|
hasSectionVisibility: (params: {
|
|
12
16
|
section: import("../types/UserAccess").UiSection;
|
|
13
|
-
object:
|
|
17
|
+
object: WtObject;
|
|
14
18
|
app: import("../../../enums").WtApplication;
|
|
15
19
|
}) => boolean;
|
|
16
20
|
routeAccessGuard: import("vue-router").NavigationGuard;
|
|
@@ -25,14 +29,14 @@ export declare const createUserinfoStore: () => import("pinia").StoreDefinition<
|
|
|
25
29
|
userInfo: import("vue").Ref<any, any>;
|
|
26
30
|
timezone: import("vue").Ref<string | null, string | null>;
|
|
27
31
|
initialize: () => Promise<void>;
|
|
28
|
-
hasReadAccess: (object?:
|
|
29
|
-
hasCreateAccess: (object?:
|
|
30
|
-
hasUpdateAccess: (object?:
|
|
31
|
-
hasDeleteAccess: (object?:
|
|
32
|
+
hasReadAccess: (object?: WtObject) => boolean;
|
|
33
|
+
hasCreateAccess: (object?: WtObject) => boolean;
|
|
34
|
+
hasUpdateAccess: (object?: WtObject) => boolean;
|
|
35
|
+
hasDeleteAccess: (object?: WtObject) => boolean;
|
|
32
36
|
hasLicense: (license: import("..").WebitelLicense) => boolean;
|
|
33
37
|
hasSectionVisibility: (params: {
|
|
34
38
|
section: import("../types/UserAccess").UiSection;
|
|
35
|
-
object:
|
|
39
|
+
object: WtObject;
|
|
36
40
|
app: import("../../../enums").WtApplication;
|
|
37
41
|
}) => boolean;
|
|
38
42
|
routeAccessGuard: import("vue-router").NavigationGuard;
|
|
@@ -47,14 +51,14 @@ export declare const createUserinfoStore: () => import("pinia").StoreDefinition<
|
|
|
47
51
|
userInfo: import("vue").Ref<any, any>;
|
|
48
52
|
timezone: import("vue").Ref<string | null, string | null>;
|
|
49
53
|
initialize: () => Promise<void>;
|
|
50
|
-
hasReadAccess: (object?:
|
|
51
|
-
hasCreateAccess: (object?:
|
|
52
|
-
hasUpdateAccess: (object?:
|
|
53
|
-
hasDeleteAccess: (object?:
|
|
54
|
+
hasReadAccess: (object?: WtObject) => boolean;
|
|
55
|
+
hasCreateAccess: (object?: WtObject) => boolean;
|
|
56
|
+
hasUpdateAccess: (object?: WtObject) => boolean;
|
|
57
|
+
hasDeleteAccess: (object?: WtObject) => boolean;
|
|
54
58
|
hasLicense: (license: import("..").WebitelLicense) => boolean;
|
|
55
59
|
hasSectionVisibility: (params: {
|
|
56
60
|
section: import("../types/UserAccess").UiSection;
|
|
57
|
-
object:
|
|
61
|
+
object: WtObject;
|
|
58
62
|
app: import("../../../enums").WtApplication;
|
|
59
63
|
}) => boolean;
|
|
60
64
|
routeAccessGuard: import("vue-router").NavigationGuard;
|
|
@@ -65,3 +69,9 @@ export declare const createUserinfoStore: () => import("pinia").StoreDefinition<
|
|
|
65
69
|
showUserNotifications: () => Promise<void>;
|
|
66
70
|
clearStorageNotifications: (ids?: string | string[]) => void;
|
|
67
71
|
}, "initialize" | "hasReadAccess" | "hasCreateAccess" | "hasUpdateAccess" | "hasDeleteAccess" | "routeAccessGuard" | "hasSpecialGlobalActionAccess" | "hasGlobalCrudActionAccess" | "hasLicense" | "hasApplicationVisibility" | "hasSectionVisibility" | "logoutUser" | "showUserNotifications" | "clearStorageNotifications">>;
|
|
72
|
+
declare global {
|
|
73
|
+
interface Window {
|
|
74
|
+
_userinfoStore?: () => UserinfoStoreApi;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
export {};
|