@vc-shell/framework 1.1.83-alpha.0 → 1.1.83
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/CHANGELOG.md +17 -0
- package/core/api/virtocommerce.platform.ts +10457 -0
- package/core/plugins/extension-points/ExtensionSlot.vue +23 -23
- package/core/plugins/modularity/loader.ts +2 -2
- package/dist/core/api/virtocommerce.platform.d.ts +2442 -0
- package/dist/core/api/virtocommerce.platform.d.ts.map +1 -0
- package/dist/core/plugins/extension-points/ExtensionSlot.vue.d.ts.map +1 -1
- package/dist/framework.js +3420 -3411
- package/dist/locales/de.json +1 -0
- package/dist/locales/en.json +1 -0
- package/dist/shared/components/notification-template/notification-template.vue.d.ts +8 -1
- package/dist/shared/components/notification-template/notification-template.vue.d.ts.map +1 -1
- package/dist/shared/pages/LoginPage/components/login/Login.vue.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/ui/components/molecules/vc-form/vc-form.vue.d.ts +5 -1
- package/dist/ui/components/molecules/vc-form/vc-form.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts +10 -5
- package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts.map +1 -1
- package/package.json +5 -7
- package/shared/components/notification-template/notification-template.vue +5 -1
- package/shared/pages/LoginPage/components/login/Login.vue +29 -23
- package/ui/components/molecules/vc-form/vc-form.vue +11 -3
- package/ui/components/molecules/vc-select/vc-select.vue +1 -2
|
@@ -2,7 +2,11 @@ declare var __VLS_1: {};
|
|
|
2
2
|
type __VLS_Slots = {} & {
|
|
3
3
|
default?: (props: typeof __VLS_1) => any;
|
|
4
4
|
};
|
|
5
|
-
declare const __VLS_component: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}
|
|
5
|
+
declare const __VLS_component: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
6
|
+
submit: () => any;
|
|
7
|
+
}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{
|
|
8
|
+
onSubmit?: (() => any) | undefined;
|
|
9
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
6
10
|
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
|
|
7
11
|
export default _default;
|
|
8
12
|
type __VLS_WithSlots<T, S> = T & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vc-form.vue.d.ts","sourceRoot":"","sources":["../../../../../ui/components/molecules/vc-form/vc-form.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vc-form.vue.d.ts","sourceRoot":"","sources":["../../../../../ui/components/molecules/vc-form/vc-form.vue"],"names":[],"mappings":"AAwCA,QAAA,IAAI,OAAO,IAAW,CAAE;AACxB,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,CAAC;AAoB/C,QAAA,MAAM,eAAe;;;;iFAMnB,CAAC;wBACkB,eAAe,CAAC,OAAO,eAAe,EAAE,WAAW,CAAC;AAAzE,wBAA0E;AAE1E,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Placement } from "@floating-ui/vue";
|
|
2
2
|
export type OptionProp<T> = ((option: T) => string) | string | undefined;
|
|
3
|
-
export type MaybeArray<T> = T | T[];
|
|
4
3
|
declare const _default: <T, P extends {
|
|
5
4
|
results?: T[];
|
|
6
5
|
totalCount?: number;
|
|
@@ -8,10 +7,13 @@ declare const _default: <T, P extends {
|
|
|
8
7
|
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
9
8
|
readonly onSearch?: ((inputValue: string) => any) | undefined;
|
|
10
9
|
readonly onClose?: (() => any) | undefined;
|
|
11
|
-
readonly "onUpdate:modelValue"?: ((inputValue:
|
|
10
|
+
readonly "onUpdate:modelValue"?: ((inputValue: string | string[] | (P extends {
|
|
12
11
|
results?: T[];
|
|
13
12
|
totalCount?: number;
|
|
14
|
-
} ? T & (Required<P>["results"] extends infer T_1 ? T_1 extends Required<P>["results"] ? T_1 extends (infer V)[] ? V : never : never : never) : T
|
|
13
|
+
} ? T & (Required<P>["results"] extends infer T_1 ? T_1 extends Required<P>["results"] ? T_1 extends (infer V)[] ? V : never : never : never) : T) | (P extends {
|
|
14
|
+
results?: T[];
|
|
15
|
+
totalCount?: number;
|
|
16
|
+
} ? T & (Required<P>["results"] extends infer T_2 ? T_2 extends Required<P>["results"] ? T_2 extends (infer V)[] ? V : never : never : never) : T)[] | null) => any) | undefined;
|
|
15
17
|
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onClose" | "onUpdate:modelValue" | "onSearch"> & {
|
|
16
18
|
/**
|
|
17
19
|
* Name of select
|
|
@@ -215,10 +217,13 @@ declare const _default: <T, P extends {
|
|
|
215
217
|
}) => any;
|
|
216
218
|
"no-options": (props: any) => any;
|
|
217
219
|
};
|
|
218
|
-
emit: ((evt: "search", inputValue: string) => void) & ((evt: "close") => void) & ((evt: "update:modelValue", inputValue:
|
|
220
|
+
emit: ((evt: "search", inputValue: string) => void) & ((evt: "close") => void) & ((evt: "update:modelValue", inputValue: string | string[] | (P extends {
|
|
221
|
+
results?: T[];
|
|
222
|
+
totalCount?: number;
|
|
223
|
+
} ? T & (Required<P>["results"] extends infer T_3 ? T_3 extends Required<P>["results"] ? T_3 extends (infer V)[] ? V : never : never : never) : T) | (P extends {
|
|
219
224
|
results?: T[];
|
|
220
225
|
totalCount?: number;
|
|
221
|
-
} ? T & (Required<P>["results"] extends infer
|
|
226
|
+
} ? T & (Required<P>["results"] extends infer T_4 ? T_4 extends Required<P>["results"] ? T_4 extends (infer V)[] ? V : never : never : never) : T)[] | null) => void);
|
|
222
227
|
}>) => import("vue").VNode & {
|
|
223
228
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
224
229
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vc-select.vue.d.ts","sourceRoot":"","sources":["../../../../../ui/components/molecules/vc-select/vc-select.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vc-select.vue.d.ts","sourceRoot":"","sources":["../../../../../ui/components/molecules/vc-select/vc-select.vue"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vc-shell/framework",
|
|
3
|
-
"version": "1.1.83
|
|
3
|
+
"version": "1.1.83",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/framework.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -90,9 +90,9 @@
|
|
|
90
90
|
"@fullhuman/postcss-purgecss": "^7.0.2",
|
|
91
91
|
"@laynezh/vite-plugin-lib-assets": "v1.1.0",
|
|
92
92
|
"@types/dompurify": "^3.0.5",
|
|
93
|
-
"@vc-shell/api-client-generator": "^1.1.83
|
|
94
|
-
"@vc-shell/config-generator": "^1.1.83
|
|
95
|
-
"@vc-shell/ts-config": "^1.1.83
|
|
93
|
+
"@vc-shell/api-client-generator": "^1.1.83",
|
|
94
|
+
"@vc-shell/config-generator": "^1.1.83",
|
|
95
|
+
"@vc-shell/ts-config": "^1.1.83",
|
|
96
96
|
"@vitejs/plugin-vue": "^5.2.3",
|
|
97
97
|
"@vue/test-utils": "^2.4.5",
|
|
98
98
|
"cypress-signalr-mock": "^1.5.0",
|
|
@@ -111,7 +111,5 @@
|
|
|
111
111
|
"publishConfig": {
|
|
112
112
|
"access": "public",
|
|
113
113
|
"registry": "https://registry.npmjs.org/"
|
|
114
|
-
}
|
|
115
|
-
"stableVersion": "1.1.82",
|
|
116
|
-
"npmTag": "alpha"
|
|
114
|
+
}
|
|
117
115
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="vc-notification-template">
|
|
2
|
+
<div class="vc-notification-template" @click="$emit('click')">
|
|
3
3
|
<div
|
|
4
4
|
class="vc-notification-template__container"
|
|
5
5
|
:class="{
|
|
@@ -38,8 +38,12 @@ export interface Props {
|
|
|
38
38
|
title: string;
|
|
39
39
|
notification: IPushNotification;
|
|
40
40
|
}
|
|
41
|
+
export interface Emits {
|
|
42
|
+
(e: "click"): void;
|
|
43
|
+
}
|
|
41
44
|
|
|
42
45
|
const props = defineProps<Props>();
|
|
46
|
+
const emit = defineEmits<Emits>();
|
|
43
47
|
|
|
44
48
|
const locale = window.navigator.language;
|
|
45
49
|
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<VcForm @submit.prevent="login">
|
|
10
10
|
<Field
|
|
11
11
|
v-slot="{ errorMessage, handleChange, errors }"
|
|
12
|
-
:label="t('LOGIN.FIELDS.LOGIN.LABEL')"
|
|
12
|
+
:label="$t('LOGIN.FIELDS.LOGIN.LABEL')"
|
|
13
13
|
name="username"
|
|
14
14
|
:model-value="form.username"
|
|
15
15
|
rules="required"
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
ref="loginField"
|
|
19
19
|
v-model="form.username"
|
|
20
20
|
class="vc-login-page__input"
|
|
21
|
-
:label="t('LOGIN.FIELDS.LOGIN.LABEL')"
|
|
22
|
-
:placeholder="t('LOGIN.FIELDS.LOGIN.PLACEHOLDER')"
|
|
21
|
+
:label="$t('LOGIN.FIELDS.LOGIN.LABEL')"
|
|
22
|
+
:placeholder="$t('LOGIN.FIELDS.LOGIN.PLACEHOLDER')"
|
|
23
23
|
required
|
|
24
24
|
:error="!!errors.length"
|
|
25
25
|
:error-message="errorMessage"
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
</Field>
|
|
29
29
|
<Field
|
|
30
30
|
v-slot="{ errorMessage, handleChange, errors }"
|
|
31
|
-
:label="t('LOGIN.FIELDS.PASSWORD.LABEL')"
|
|
31
|
+
:label="$t('LOGIN.FIELDS.PASSWORD.LABEL')"
|
|
32
32
|
name="password"
|
|
33
33
|
:model-value="form.password"
|
|
34
34
|
rules="required"
|
|
@@ -37,8 +37,8 @@
|
|
|
37
37
|
ref="passwordField"
|
|
38
38
|
v-model="form.password"
|
|
39
39
|
class="vc-login-page__input--small"
|
|
40
|
-
:label="t('LOGIN.FIELDS.PASSWORD.LABEL')"
|
|
41
|
-
:placeholder="t('LOGIN.FIELDS.PASSWORD.PLACEHOLDER')"
|
|
40
|
+
:label="$t('LOGIN.FIELDS.PASSWORD.LABEL')"
|
|
41
|
+
:placeholder="$t('LOGIN.FIELDS.PASSWORD.PLACEHOLDER')"
|
|
42
42
|
type="password"
|
|
43
43
|
required
|
|
44
44
|
:error="!!errors.length"
|
|
@@ -49,7 +49,6 @@
|
|
|
49
49
|
</Field>
|
|
50
50
|
|
|
51
51
|
<div
|
|
52
|
-
v-if="!!forgotPassword"
|
|
53
52
|
class="vc-login-page__forgot-password-container"
|
|
54
53
|
>
|
|
55
54
|
<VcButton
|
|
@@ -57,7 +56,7 @@
|
|
|
57
56
|
type="button"
|
|
58
57
|
@click="togglePassRequest"
|
|
59
58
|
>
|
|
60
|
-
{{ t("LOGIN.FORGOT_PASSWORD_BUTTON") }}
|
|
59
|
+
{{ $t("LOGIN.FORGOT_PASSWORD_BUTTON") }}
|
|
61
60
|
</VcButton>
|
|
62
61
|
</div>
|
|
63
62
|
<div class="vc-login-page__button-container">
|
|
@@ -66,7 +65,7 @@
|
|
|
66
65
|
class="vc-login-page__submit-button"
|
|
67
66
|
@click="login"
|
|
68
67
|
>
|
|
69
|
-
{{ t("LOGIN.BUTTON") }}
|
|
68
|
+
{{ $t("LOGIN.BUTTON") }}
|
|
70
69
|
</vc-button>
|
|
71
70
|
</div>
|
|
72
71
|
</VcForm>
|
|
@@ -76,24 +75,31 @@
|
|
|
76
75
|
>
|
|
77
76
|
<div class="vc-login-page__separator-line">
|
|
78
77
|
<!-- TODO add to localization -->
|
|
79
|
-
OR
|
|
78
|
+
{{ $t("LOGIN.OR") }}
|
|
80
79
|
</div>
|
|
81
80
|
|
|
82
81
|
<ExternalProviders :providers="loginProviders" />
|
|
83
82
|
</div>
|
|
84
83
|
|
|
85
|
-
<!-- Extensions after form -->
|
|
86
84
|
<!-- Simple extension slot -->
|
|
87
|
-
<div
|
|
85
|
+
<div
|
|
86
|
+
v-if="hasComponents"
|
|
87
|
+
class="vc-login-page__separator"
|
|
88
|
+
>
|
|
89
|
+
<div class="vc-login-page__separator-line">
|
|
90
|
+
<!-- TODO add to localization -->
|
|
91
|
+
{{ $t("LOGIN.OR") }}
|
|
92
|
+
</div>
|
|
93
|
+
|
|
88
94
|
<ExtensionSlot name="login-after-form" />
|
|
89
95
|
</div>
|
|
90
96
|
</template>
|
|
91
97
|
<template v-else>
|
|
92
98
|
<template v-if="!forgotPasswordRequestSent">
|
|
93
|
-
<VcForm
|
|
99
|
+
<VcForm>
|
|
94
100
|
<Field
|
|
95
101
|
v-slot="{ field, errorMessage, handleChange, errors }"
|
|
96
|
-
:label="t('LOGIN.FIELDS.FORGOT_PASSWORD.LABEL')"
|
|
102
|
+
:label="$t('LOGIN.FIELDS.FORGOT_PASSWORD.LABEL')"
|
|
97
103
|
name="loginOrEmail"
|
|
98
104
|
:model-value="forgotPasswordForm.loginOrEmail"
|
|
99
105
|
rules="required|email"
|
|
@@ -103,9 +109,9 @@
|
|
|
103
109
|
ref="forgotPasswordField"
|
|
104
110
|
v-model="forgotPasswordForm.loginOrEmail"
|
|
105
111
|
class="vc-login-page__input"
|
|
106
|
-
:label="t('LOGIN.FIELDS.FORGOT_PASSWORD.LABEL')"
|
|
107
|
-
:placeholder="t('LOGIN.FIELDS.FORGOT_PASSWORD.PLACEHOLDER')"
|
|
108
|
-
:hint="t('LOGIN.RESET_EMAIL_TEXT')"
|
|
112
|
+
:label="$t('LOGIN.FIELDS.FORGOT_PASSWORD.LABEL')"
|
|
113
|
+
:placeholder="$t('LOGIN.FIELDS.FORGOT_PASSWORD.PLACEHOLDER')"
|
|
114
|
+
:hint="$t('LOGIN.RESET_EMAIL_TEXT')"
|
|
109
115
|
required
|
|
110
116
|
:error="!!errors.length"
|
|
111
117
|
:error-message="errorMessage"
|
|
@@ -118,20 +124,20 @@
|
|
|
118
124
|
type="button"
|
|
119
125
|
@click="togglePassRequest"
|
|
120
126
|
>
|
|
121
|
-
{{ t("LOGIN.BACK_BUTTON") }}
|
|
127
|
+
{{ $t("LOGIN.BACK_BUTTON") }}
|
|
122
128
|
</vc-button>
|
|
123
129
|
<vc-button
|
|
124
130
|
:disabled="loading || isDisabled || loadingForgotPassword"
|
|
125
131
|
@click="forgot"
|
|
126
132
|
>
|
|
127
|
-
{{ t("LOGIN.FORGOT_BUTTON") }}
|
|
133
|
+
{{ $t("LOGIN.FORGOT_BUTTON") }}
|
|
128
134
|
</vc-button>
|
|
129
135
|
</div>
|
|
130
136
|
</VcForm>
|
|
131
137
|
</template>
|
|
132
138
|
|
|
133
139
|
<template v-if="requestPassResult.succeeded && forgotPasswordRequestSent">
|
|
134
|
-
<div>{{ t("LOGIN.RESET_EMAIL_SENT") }}</div>
|
|
140
|
+
<div>{{ $t("LOGIN.RESET_EMAIL_SENT") }}</div>
|
|
135
141
|
<div class="vc-login-page__button-container">
|
|
136
142
|
<span
|
|
137
143
|
v-if="$isDesktop.value"
|
|
@@ -141,7 +147,7 @@
|
|
|
141
147
|
:disabled="loading"
|
|
142
148
|
@click="togglePassRequest"
|
|
143
149
|
>
|
|
144
|
-
{{ t("LOGIN.BUTTON_OK") }}
|
|
150
|
+
{{ $t("LOGIN.BUTTON_OK") }}
|
|
145
151
|
</vc-button>
|
|
146
152
|
</div>
|
|
147
153
|
</template>
|
|
@@ -176,7 +182,7 @@ import { ExternalSignInProviderInfo, SignInResult } from "./../../../../../core/
|
|
|
176
182
|
import { useI18n } from "vue-i18n";
|
|
177
183
|
import { default as ExternalProviders } from "./../../../../../shared/components/sign-in/external-providers.vue";
|
|
178
184
|
import { useExternalProvider } from "./../../../../../shared/components/sign-in/useExternalProvider";
|
|
179
|
-
import { ExtensionSlot } from '../../../../../core/plugins/extension-points';
|
|
185
|
+
import { ExtensionSlot, useExtensionSlot } from '../../../../../core/plugins/extension-points';
|
|
180
186
|
|
|
181
187
|
type ForgotPasswordFunc = (args: { loginOrEmail: string }) => Promise<void>;
|
|
182
188
|
|
|
@@ -193,13 +199,13 @@ const router = useRouter();
|
|
|
193
199
|
|
|
194
200
|
const { validateField } = useForm({ validateOnMount: false });
|
|
195
201
|
const { uiSettings, loading: customizationLoading } = useSettings();
|
|
196
|
-
const { t } = useI18n({ useScope: "global" });
|
|
197
202
|
let useLogin;
|
|
198
203
|
const signInResult = ref({ succeeded: true }) as Ref<SignInResult & { status?: number; error?: any }>;
|
|
199
204
|
const requestPassResult = ref<RequestPasswordResult>({ succeeded: true });
|
|
200
205
|
const forgotPasswordRequestSent = ref(false);
|
|
201
206
|
const { signIn, loading, user } = useUserManagement();
|
|
202
207
|
const { getProviders } = useExternalProvider();
|
|
208
|
+
const { hasComponents } = useExtensionSlot('login-after-form');
|
|
203
209
|
|
|
204
210
|
const isLogin = ref(true);
|
|
205
211
|
const isValid = useIsFormValid();
|
|
@@ -1,7 +1,15 @@
|
|
|
1
|
-
<script lang="ts" setup></script>
|
|
2
|
-
|
|
3
1
|
<template>
|
|
4
|
-
<form>
|
|
2
|
+
<form @submit.prevent="submit">
|
|
5
3
|
<slot>vc-form</slot>
|
|
6
4
|
</form>
|
|
7
5
|
</template>
|
|
6
|
+
|
|
7
|
+
<script lang="ts" setup>
|
|
8
|
+
const emit = defineEmits<{
|
|
9
|
+
(e: 'submit'): void;
|
|
10
|
+
}>()
|
|
11
|
+
|
|
12
|
+
const submit = () => {
|
|
13
|
+
emit('submit');
|
|
14
|
+
}
|
|
15
|
+
</script>
|
|
@@ -349,7 +349,6 @@ import { useI18n } from "vue-i18n";
|
|
|
349
349
|
import { useKeyboardNavigation } from "../../../../core/composables/useKeyboardNavigation";
|
|
350
350
|
|
|
351
351
|
export type OptionProp<T> = ((option: T) => string) | string | undefined;
|
|
352
|
-
export type MaybeArray<T> = T | T[];
|
|
353
352
|
type FloatingInstanceType = UseFloatingReturn & {
|
|
354
353
|
middlewareData: {
|
|
355
354
|
sameWidthChangeBorders: {
|
|
@@ -572,7 +571,7 @@ const emit = defineEmits<{
|
|
|
572
571
|
* Emitted when the component needs to change the model; Is also used by v-model
|
|
573
572
|
*/
|
|
574
573
|
|
|
575
|
-
"update:modelValue": [inputValue:
|
|
574
|
+
"update:modelValue": [inputValue: Option | Option[] | string | string[] | null];
|
|
576
575
|
/**
|
|
577
576
|
* Emitted when user wants to filter a value
|
|
578
577
|
*/
|