@vc-shell/framework 1.0.87 → 1.0.89

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/core/api/catalog.ts +8527 -0
  3. package/core/api/platform.ts +83 -17
  4. package/core/composables/useNotifications/index.ts +1 -1
  5. package/core/composables/useSettings/index.ts +1 -1
  6. package/core/composables/useUser/index.ts +3 -3
  7. package/core/plugins/signalR/index.ts +1 -1
  8. package/core/types/index.ts +1 -1
  9. package/dist/core/api/catalog.d.ts +2522 -0
  10. package/dist/core/api/catalog.d.ts.map +1 -0
  11. package/dist/core/api/platform.d.ts +82 -16
  12. package/dist/core/api/platform.d.ts.map +1 -1
  13. package/dist/core/composables/useNotifications/index.d.ts +1 -1
  14. package/dist/core/composables/useNotifications/index.d.ts.map +1 -1
  15. package/dist/core/composables/useUser/index.d.ts +1 -1
  16. package/dist/core/composables/useUser/index.d.ts.map +1 -1
  17. package/dist/core/types/index.d.ts +1 -1
  18. package/dist/core/types/index.d.ts.map +1 -1
  19. package/dist/framework.mjs +18434 -18227
  20. package/dist/index.d.ts +1 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue.d.ts +1 -1
  23. package/dist/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue.d.ts.map +1 -1
  24. package/dist/shared/components/app-switcher/composables/useAppSwitcher/index.d.ts +1 -1
  25. package/dist/shared/components/app-switcher/composables/useAppSwitcher/index.d.ts.map +1 -1
  26. package/dist/shared/components/blade-navigation/types/index.d.ts +1 -1
  27. package/dist/shared/components/blade-navigation/types/index.d.ts.map +1 -1
  28. package/dist/shared/components/change-password/change-password.vue.d.ts.map +1 -1
  29. package/dist/shared/components/language-selector/index.d.ts +5 -5
  30. package/dist/shared/components/language-selector/language-selector.vue.d.ts +1 -1
  31. package/dist/shared/components/notifications/components/notification-container/index.d.ts +1 -1
  32. package/dist/shared/modules/assets/components/assets-details/assets-details.vue.d.ts.map +1 -1
  33. package/dist/shared/modules/assets-manager/components/assets-manager/assets-manager.vue.d.ts.map +1 -1
  34. package/dist/shared/pages/InvitePage/components/invite/Invite.vue.d.ts.map +1 -1
  35. package/dist/shared/pages/LoginPage/components/login/Login.vue.d.ts.map +1 -1
  36. package/dist/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue.d.ts.map +1 -1
  37. package/dist/tsconfig.tsbuildinfo +1 -1
  38. package/dist/ui/components/atoms/index.d.ts +20 -0
  39. package/dist/ui/components/atoms/index.d.ts.map +1 -0
  40. package/dist/ui/components/atoms/vc-button/index.d.ts +10 -10
  41. package/dist/ui/components/atoms/vc-checkbox/index.d.ts +11 -11
  42. package/dist/ui/components/atoms/vc-icon/index.d.ts +6 -6
  43. package/dist/ui/components/atoms/vc-icon/vc-icon.vue.d.ts +1 -1
  44. package/dist/ui/components/atoms/vc-info-row/index.d.ts +8 -8
  45. package/dist/ui/components/atoms/vc-label/index.d.ts +1 -1
  46. package/dist/ui/components/atoms/vc-status/index.d.ts +15 -15
  47. package/dist/ui/components/atoms/vc-status/vc-status.vue.d.ts +1 -1
  48. package/dist/ui/components/index.d.ts +3 -41
  49. package/dist/ui/components/index.d.ts.map +1 -1
  50. package/dist/ui/components/molecules/index.d.ts +14 -0
  51. package/dist/ui/components/molecules/index.d.ts.map +1 -0
  52. package/dist/ui/components/molecules/vc-breadcrumbs/_internal/vc-breadcrumbs-item/vc-breadcrumbs-item.vue.d.ts +1 -1
  53. package/dist/ui/components/molecules/vc-code-editor/index.d.ts +11 -26
  54. package/dist/ui/components/molecules/vc-code-editor/index.d.ts.map +1 -1
  55. package/dist/ui/components/molecules/vc-code-editor/vc-code-editor.vue.d.ts +0 -4
  56. package/dist/ui/components/molecules/vc-code-editor/vc-code-editor.vue.d.ts.map +1 -1
  57. package/dist/ui/components/molecules/vc-editor/index.d.ts +11 -26
  58. package/dist/ui/components/molecules/vc-editor/index.d.ts.map +1 -1
  59. package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts +0 -4
  60. package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts.map +1 -1
  61. package/dist/ui/components/molecules/vc-file-upload/vc-file-upload.vue.d.ts.map +1 -1
  62. package/dist/ui/components/molecules/vc-input/index.d.ts +29 -29
  63. package/dist/ui/components/molecules/vc-input/vc-input.vue.d.ts +1 -1
  64. package/dist/ui/components/molecules/vc-input-currency/index.d.ts +24 -24
  65. package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts.map +1 -1
  66. package/dist/ui/components/molecules/vc-textarea/index.d.ts +20 -20
  67. package/dist/ui/components/organisms/index.d.ts +10 -0
  68. package/dist/ui/components/organisms/index.d.ts.map +1 -0
  69. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue.d.ts.map +1 -1
  70. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue.d.ts +1 -1
  71. package/dist/ui/components/organisms/vc-blade/index.d.ts +12 -12
  72. package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts.map +1 -1
  73. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue.d.ts.map +1 -1
  74. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue.d.ts.map +1 -1
  75. package/dist/ui/components/organisms/vc-gallery/index.d.ts +13 -13
  76. package/dist/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts +1 -1
  77. package/dist/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts.map +1 -1
  78. package/dist/ui/components/organisms/vc-notification-dropdown/_internal/notification/notification.vue.d.ts +1 -1
  79. package/dist/ui/components/organisms/vc-notification-dropdown/_internal/notification/notification.vue.d.ts.map +1 -1
  80. package/dist/ui/components/organisms/vc-notification-dropdown/vc-notification-dropdown.vue.d.ts +1 -1
  81. package/dist/ui/components/organisms/vc-notification-dropdown/vc-notification-dropdown.vue.d.ts.map +1 -1
  82. package/dist/ui/components/organisms/vc-popup/_internal/vc-popup-error/vc-popup-error.vue.d.ts.map +1 -1
  83. package/dist/ui/components/organisms/vc-popup/_internal/vc-popup-warning/vc-popup-warning.vue.d.ts.map +1 -1
  84. package/dist/ui/components/organisms/vc-popup/index.d.ts +9 -9
  85. package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue.d.ts.map +1 -1
  86. package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts.map +1 -1
  87. package/package.json +3 -3
  88. package/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue +1 -1
  89. package/shared/components/app-switcher/composables/useAppSwitcher/index.ts +1 -1
  90. package/shared/components/blade-navigation/types/index.ts +1 -1
  91. package/shared/components/change-password/change-password.vue +16 -14
  92. package/shared/modules/assets/components/assets-details/assets-details.vue +14 -14
  93. package/shared/modules/assets/locales/en.json +1 -0
  94. package/shared/modules/assets-manager/components/assets-manager/assets-manager.vue +7 -7
  95. package/shared/pages/InvitePage/components/invite/Invite.vue +12 -10
  96. package/shared/pages/LoginPage/components/login/Login.vue +19 -17
  97. package/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue +11 -9
  98. package/ui/components/atoms/index.ts +19 -0
  99. package/ui/components/index.ts +3 -41
  100. package/ui/components/molecules/index.ts +13 -0
  101. package/ui/components/molecules/vc-code-editor/vc-code-editor.vue +0 -2
  102. package/ui/components/molecules/vc-editor/vc-editor.vue +0 -2
  103. package/ui/components/molecules/vc-file-upload/vc-file-upload.vue +6 -2
  104. package/ui/components/molecules/vc-select/vc-select.vue +6 -3
  105. package/ui/components/organisms/index.ts +9 -0
  106. package/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue +4 -1
  107. package/ui/components/organisms/vc-blade/vc-blade.vue +1 -1
  108. package/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue +1 -1
  109. package/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue +5 -4
  110. package/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue +5 -2
  111. package/ui/components/organisms/vc-gallery/vc-gallery.vue +3 -2
  112. package/ui/components/organisms/vc-notification-dropdown/_internal/notification/notification.vue +1 -1
  113. package/ui/components/organisms/vc-notification-dropdown/vc-notification-dropdown.vue +5 -4
  114. package/ui/components/organisms/vc-popup/_internal/vc-popup-error/vc-popup-error.vue +4 -1
  115. package/ui/components/organisms/vc-popup/_internal/vc-popup-warning/vc-popup-warning.vue +5 -2
  116. package/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue +3 -1
  117. package/ui/components/organisms/vc-table/vc-table.vue +8 -5
  118. package/ui/locales/en.json +32 -0
  119. package/core/api/index.ts +0 -1
  120. package/dist/core/api/index.d.ts +0 -2
  121. package/dist/core/api/index.d.ts.map +0 -1
@@ -8,19 +8,19 @@
8
8
  <VcLoginForm
9
9
  logo="/assets/logo-white.svg"
10
10
  background="/assets/background.jpg"
11
- :title="$t('INVITATION.TITLE')"
11
+ :title="t('INVITATION.TITLE')"
12
12
  >
13
13
  <VcForm>
14
14
  <VcInput
15
15
  class="tw-mb-4 tw-mt-1"
16
- :label="$t('INVITATION.FIELDS.EMAIL.LABEL')"
16
+ :label="t('INVITATION.FIELDS.EMAIL.LABEL')"
17
17
  :model-value="userName"
18
18
  name="username"
19
19
  disabled
20
20
  ></VcInput>
21
21
  <Field
22
22
  v-slot="{ field, errorMessage, handleChange, errors }"
23
- :label="$t('INVITATION.FIELDS.PASSWORD.LABEL')"
23
+ :label="t('INVITATION.FIELDS.PASSWORD.LABEL')"
24
24
  :model-value="form.password"
25
25
  rules="required"
26
26
  name="password"
@@ -30,8 +30,8 @@
30
30
  ref="passwordField"
31
31
  v-model="form.password"
32
32
  class="tw-mb-4 tw-mt-1"
33
- :label="$t('INVITATION.FIELDS.PASSWORD.LABEL')"
34
- :placeholder="$t('INVITATION.FIELDS.PASSWORD.PLACEHOLDER')"
33
+ :label="t('INVITATION.FIELDS.PASSWORD.LABEL')"
34
+ :placeholder="t('INVITATION.FIELDS.PASSWORD.PLACEHOLDER')"
35
35
  type="password"
36
36
  :disabled="!form.tokenIsValid"
37
37
  :error="!!errors.length"
@@ -47,7 +47,7 @@
47
47
  </Field>
48
48
  <Field
49
49
  v-slot="{ field, errorMessage, handleChange, errors }"
50
- :label="$t('INVITATION.FIELDS.CONFIRM_PASSWORD.LABEL')"
50
+ :label="t('INVITATION.FIELDS.CONFIRM_PASSWORD.LABEL')"
51
51
  :model-value="form.confirmPassword"
52
52
  rules="required"
53
53
  name="confirm_password"
@@ -57,8 +57,8 @@
57
57
  ref="confirmPasswordField"
58
58
  v-model="form.confirmPassword"
59
59
  class="tw-mb-4"
60
- :label="$t('INVITATION.FIELDS.CONFIRM_PASSWORD.LABEL')"
61
- :placeholder="$t('INVITATION.FIELDS.CONFIRM_PASSWORD.PLACEHOLDER')"
60
+ :label="t('INVITATION.FIELDS.CONFIRM_PASSWORD.LABEL')"
61
+ :placeholder="t('INVITATION.FIELDS.CONFIRM_PASSWORD.PLACEHOLDER')"
62
62
  :disabled="!form.tokenIsValid"
63
63
  type="password"
64
64
  :error="!!errors.length"
@@ -82,7 +82,7 @@
82
82
  :disabled="loading || !form.isValid || !form.tokenIsValid"
83
83
  @click="acceptInvitation"
84
84
  >
85
- {{ $t("INVITATION.ACCEPT_INVITATION") }}
85
+ {{ t("INVITATION.ACCEPT_INVITATION") }}
86
86
  </vc-button>
87
87
  </div>
88
88
 
@@ -93,7 +93,7 @@
93
93
  style="color: #f14e4e"
94
94
  >
95
95
  <!-- TODO: stylizing-->
96
- {{ $t(`INVITATION.ERRORS.${error}`) }}
96
+ {{ t(`INVITATION.ERRORS.${error}`) }}
97
97
  </VcHint>
98
98
  </VcForm>
99
99
  </VcLoginForm>
@@ -105,6 +105,7 @@ import { reactive, onMounted, computed } from "vue";
105
105
  import { useRouter } from "vue-router";
106
106
  import { useIsFormValid, Field, useIsFormDirty, useForm } from "vee-validate";
107
107
  import { useUser } from "./../../../../../core/composables";
108
+ import { useI18n } from "vue-i18n";
108
109
 
109
110
  useForm({ validateOnMount: false });
110
111
 
@@ -124,6 +125,7 @@ const props = defineProps({
124
125
  });
125
126
  const { validateToken, validatePassword, resetPasswordByToken, signIn, loading } = useUser();
126
127
  const router = useRouter();
128
+ const { t } = useI18n({ useScope: "global" });
127
129
  const isFormValid = useIsFormValid();
128
130
  const isDirty = useIsFormDirty();
129
131
  const form = reactive({
@@ -8,7 +8,7 @@
8
8
  <VcForm @submit.prevent="login">
9
9
  <Field
10
10
  v-slot="{ field, errorMessage, handleChange, errors }"
11
- :label="$t('LOGIN.FIELDS.LOGIN.LABEL')"
11
+ :label="t('LOGIN.FIELDS.LOGIN.LABEL')"
12
12
  name="username"
13
13
  :model-value="form.username"
14
14
  rules="required"
@@ -18,8 +18,8 @@
18
18
  ref="loginField"
19
19
  v-model="form.username"
20
20
  class="tw-mb-4 tw-mt-1"
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="{ field, 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"
@@ -38,8 +38,8 @@
38
38
  ref="passwordField"
39
39
  v-model="form.password"
40
40
  class="tw-mb-4"
41
- :label="$t('LOGIN.FIELDS.PASSWORD.LABEL')"
42
- :placeholder="$t('LOGIN.FIELDS.PASSWORD.PLACEHOLDER')"
41
+ :label="t('LOGIN.FIELDS.PASSWORD.LABEL')"
42
+ :placeholder="t('LOGIN.FIELDS.PASSWORD.PLACEHOLDER')"
43
43
  type="password"
44
44
  required
45
45
  :error="!!errors.length"
@@ -58,7 +58,7 @@
58
58
  type="button"
59
59
  @click="togglePassRequest"
60
60
  >
61
- {{ $t("LOGIN.FORGOT_PASSWORD_BUTTON") }}
61
+ {{ t("LOGIN.FORGOT_PASSWORD_BUTTON") }}
62
62
  </VcButton>
63
63
  </div>
64
64
  <div class="tw-flex tw-justify-center tw-items-center tw-pt-2">
@@ -67,7 +67,7 @@
67
67
  class="tw-w-28"
68
68
  @click="login"
69
69
  >
70
- {{ $t("LOGIN.BUTTON") }}
70
+ {{ t("LOGIN.BUTTON") }}
71
71
  </vc-button>
72
72
  </div>
73
73
  </VcForm>
@@ -102,7 +102,7 @@
102
102
  <VcForm @submit.prevent="forgot">
103
103
  <Field
104
104
  v-slot="{ field, errorMessage, handleChange, errors }"
105
- :label="$t('LOGIN.FIELDS.FORGOT_PASSWORD.LABEL')"
105
+ :label="t('LOGIN.FIELDS.FORGOT_PASSWORD.LABEL')"
106
106
  name="loginOrEmail"
107
107
  :model-value="forgotPasswordForm.loginOrEmail"
108
108
  rules="required|email"
@@ -112,9 +112,9 @@
112
112
  ref="forgotPasswordField"
113
113
  v-model="forgotPasswordForm.loginOrEmail"
114
114
  class="tw-mb-4 tw-mt-1"
115
- :label="$t('LOGIN.FIELDS.FORGOT_PASSWORD.LABEL')"
116
- :placeholder="$t('LOGIN.FIELDS.FORGOT_PASSWORD.PLACEHOLDER')"
117
- :hint="$t('LOGIN.RESET_EMAIL_TEXT')"
115
+ :label="t('LOGIN.FIELDS.FORGOT_PASSWORD.LABEL')"
116
+ :placeholder="t('LOGIN.FIELDS.FORGOT_PASSWORD.PLACEHOLDER')"
117
+ :hint="t('LOGIN.RESET_EMAIL_TEXT')"
118
118
  required
119
119
  :error="!!errors.length"
120
120
  :error-message="errorMessage"
@@ -127,20 +127,20 @@
127
127
  type="button"
128
128
  @click="togglePassRequest"
129
129
  >
130
- {{ $t("LOGIN.BACK_BUTTON") }}
130
+ {{ t("LOGIN.BACK_BUTTON") }}
131
131
  </vc-button>
132
132
  <vc-button
133
133
  :disabled="loading || isDisabled || loadingForgotPassword"
134
134
  @click="forgot"
135
135
  >
136
- {{ $t("LOGIN.FORGOT_BUTTON") }}
136
+ {{ t("LOGIN.FORGOT_BUTTON") }}
137
137
  </vc-button>
138
138
  </div>
139
139
  </VcForm>
140
140
  </template>
141
141
 
142
142
  <template v-if="requestPassResult.succeeded && forgotPasswordRequestSent">
143
- <div>{{ $t("LOGIN.RESET_EMAIL_SENT") }}</div>
143
+ <div>{{ t("LOGIN.RESET_EMAIL_SENT") }}</div>
144
144
  <div class="tw-flex tw-justify-center tw-items-center tw-pt-2">
145
145
  <span
146
146
  v-if="$isDesktop.value"
@@ -150,7 +150,7 @@
150
150
  :disabled="loading"
151
151
  @click="togglePassRequest"
152
152
  >
153
- {{ $t("LOGIN.BUTTON_OK") }}
153
+ {{ t("LOGIN.BUTTON_OK") }}
154
154
  </vc-button>
155
155
  </div>
156
156
  </template>
@@ -183,7 +183,8 @@ import { useSettings, useUser } from "./../../../../../core/composables";
183
183
  import { RequestPasswordResult, SignInResults } from "./../../../../../core/types";
184
184
  import { CommonPageComposables } from "./../../../../../typings";
185
185
  import AzureAdIcon from "./../../../../../assets/img/AzureAd.svg";
186
- import { ExternalSignInProviderInfo } from "./../../../../../core/api";
186
+ import { ExternalSignInProviderInfo } from "./../../../../../core/api/platform";
187
+ import { useI18n } from "vue-i18n";
187
188
 
188
189
  export interface Props {
189
190
  logo: string;
@@ -197,6 +198,7 @@ const router = useRouter();
197
198
 
198
199
  useForm({ validateOnMount: false });
199
200
  const { getUiCustomizationSettings, uiSettings } = useSettings();
201
+ const { t } = useI18n({ useScope: "global" });
200
202
  let useLogin;
201
203
  const injected = inject<CommonPageComposables>("commonPageComposables");
202
204
  const signInResult = ref<SignInResults>({ succeeded: true });
@@ -8,12 +8,12 @@
8
8
  <VcLoginForm
9
9
  logo="/assets/logo-white.svg"
10
10
  background="/assets/background.jpg"
11
- :title="$t('PASSWORDRESET.TITLE')"
11
+ :title="t('PASSWORDRESET.TITLE')"
12
12
  >
13
13
  <VcForm>
14
14
  <Field
15
15
  v-slot="{ field, errorMessage, handleChange, errors }"
16
- :label="$t('PASSWORDRESET.FIELDS.PASSWORD.LABEL')"
16
+ :label="t('PASSWORDRESET.FIELDS.PASSWORD.LABEL')"
17
17
  name="password"
18
18
  :model-value="form.password"
19
19
  rules="required"
@@ -23,8 +23,8 @@
23
23
  ref="passwordField"
24
24
  v-model="form.password"
25
25
  class="tw-mb-4 tw-mt-1"
26
- :label="$t('PASSWORDRESET.FIELDS.PASSWORD.LABEL')"
27
- :placeholder="$t('PASSWORDRESET.FIELDS.PASSWORD.PLACEHOLDER')"
26
+ :label="t('PASSWORDRESET.FIELDS.PASSWORD.LABEL')"
27
+ :placeholder="t('PASSWORDRESET.FIELDS.PASSWORD.PLACEHOLDER')"
28
28
  type="password"
29
29
  :disabled="!form.tokenIsValid"
30
30
  required
@@ -40,7 +40,7 @@
40
40
  </Field>
41
41
  <Field
42
42
  v-slot="{ field, errorMessage, handleChange, errors }"
43
- :label="$t('PASSWORDRESET.FIELDS.CONFIRM_PASSWORD.LABEL')"
43
+ :label="t('PASSWORDRESET.FIELDS.CONFIRM_PASSWORD.LABEL')"
44
44
  name="confirm_password"
45
45
  :model-value="form.confirmPassword"
46
46
  rules="required"
@@ -50,8 +50,8 @@
50
50
  ref="confirmPasswordField"
51
51
  v-model="form.confirmPassword"
52
52
  class="tw-mb-4"
53
- :label="$t('PASSWORDRESET.FIELDS.CONFIRM_PASSWORD.LABEL')"
54
- :placeholder="$t('PASSWORDRESET.FIELDS.CONFIRM_PASSWORD.PLACEHOLDER')"
53
+ :label="t('PASSWORDRESET.FIELDS.CONFIRM_PASSWORD.LABEL')"
54
+ :placeholder="t('PASSWORDRESET.FIELDS.CONFIRM_PASSWORD.PLACEHOLDER')"
55
55
  :disabled="!form.tokenIsValid"
56
56
  type="password"
57
57
  required
@@ -76,7 +76,7 @@
76
76
  :disabled="disableButton"
77
77
  @click="resetPassword"
78
78
  >
79
- {{ $t("PASSWORDRESET.SAVE_PASSWORD") }}
79
+ {{ t("PASSWORDRESET.SAVE_PASSWORD") }}
80
80
  </vc-button>
81
81
  </div>
82
82
 
@@ -86,7 +86,7 @@
86
86
  class="tw-mt-3 !tw-text-[#f14e4e]"
87
87
  >
88
88
  <!-- TODO: stylizing-->
89
- {{ $t(`PASSWORDRESET.ERRORS.${error}`) }}
89
+ {{ t(`PASSWORDRESET.ERRORS.${error}`) }}
90
90
  </VcHint>
91
91
  </VcForm>
92
92
  </VcLoginForm>
@@ -98,6 +98,7 @@ import { reactive, onMounted, computed } from "vue";
98
98
  import { useRouter } from "vue-router";
99
99
  import { Field, useForm } from "vee-validate";
100
100
  import { useUser } from "./../../../../../core/composables";
101
+ import { useI18n } from "vue-i18n";
101
102
 
102
103
  const props = defineProps({
103
104
  userId: {
@@ -115,6 +116,7 @@ const props = defineProps({
115
116
  });
116
117
  const { validateToken, validatePassword, resetPasswordByToken, signIn, loading } = useUser();
117
118
  const router = useRouter();
119
+ const { t } = useI18n({ useScope: "global" });
118
120
  const { validate: veeValidate } = useForm({ validateOnMount: false });
119
121
 
120
122
  const form = reactive({
@@ -0,0 +1,19 @@
1
+ export * from "./vc-badge";
2
+ export * from "./vc-button";
3
+ export * from "./vc-card";
4
+ export * from "./vc-checkbox";
5
+ export * from "./vc-col";
6
+ export * from "./vc-container";
7
+ export * from "./vc-hint";
8
+ export * from "./vc-icon";
9
+ export * from "./vc-info-row";
10
+ export * from "./vc-image";
11
+ export * from "./vc-label";
12
+ export * from "./vc-link";
13
+ export * from "./vc-loading";
14
+ export * from "./vc-progress";
15
+ export * from "./vc-row";
16
+ export * from "./vc-status";
17
+ export * from "./vc-status-icon";
18
+ export * from "./vc-switch";
19
+ export * from "./vc-widget";
@@ -1,46 +1,8 @@
1
1
  /* Atoms */
2
- export * from "./atoms/vc-badge";
3
- export * from "./atoms/vc-button";
4
- export * from "./atoms/vc-card";
5
- export * from "./atoms/vc-checkbox";
6
- export * from "./atoms/vc-col";
7
- export * from "./atoms/vc-container";
8
- export * from "./atoms/vc-hint";
9
- export * from "./atoms/vc-icon";
10
- export * from "./atoms/vc-info-row";
11
- export * from "./atoms/vc-image";
12
- export * from "./atoms/vc-label";
13
- export * from "./atoms/vc-link";
14
- export * from "./atoms/vc-loading";
15
- export * from "./atoms/vc-progress";
16
- export * from "./atoms/vc-row";
17
- export * from "./atoms/vc-status";
18
- export * from "./atoms/vc-status-icon";
19
- export * from "./atoms/vc-switch";
20
- export * from "./atoms/vc-widget";
2
+ export * from "./atoms";
21
3
 
22
4
  /* Molecules */
23
- export * from "./molecules/vc-breadcrumbs";
24
- export * from "./molecules/vc-code-editor";
25
- export * from "./molecules/vc-editor";
26
- export * from "./molecules/vc-form";
27
- export * from "./molecules/vc-file-upload";
28
- export * from "./molecules/vc-input";
29
- export * from "./molecules/vc-input-currency";
30
- export * from "./molecules/vc-notification";
31
- export * from "./molecules/vc-pagination";
32
- export * from "./molecules/vc-rating";
33
- export * from "./molecules/vc-select";
34
- export * from "./molecules/vc-slider";
35
- export * from "./molecules/vc-textarea";
5
+ export * from "./molecules";
36
6
 
37
7
  /* Organisms */
38
- export * from "./organisms/vc-app";
39
- export * from "./organisms/vc-blade";
40
- export * from "./organisms/vc-dynamic-property";
41
- export * from "./organisms/vc-gallery";
42
- export * from "./organisms/vc-login-form";
43
- export * from "./organisms/vc-popup";
44
- export * from "./organisms/vc-table";
45
- export * from "./organisms/vc-notification-dropdown";
46
- export * from "./organisms/vc-notification-template";
8
+ export * from "./organisms";
@@ -0,0 +1,13 @@
1
+ export * from "./vc-breadcrumbs";
2
+ export * from "./vc-code-editor";
3
+ export * from "./vc-editor";
4
+ export * from "./vc-form";
5
+ export * from "./vc-file-upload";
6
+ export * from "./vc-input";
7
+ export * from "./vc-input-currency";
8
+ export * from "./vc-notification";
9
+ export * from "./vc-pagination";
10
+ export * from "./vc-rating";
11
+ export * from "./vc-select";
12
+ export * from "./vc-slider";
13
+ export * from "./vc-textarea";
@@ -55,7 +55,6 @@ export interface Props {
55
55
  disabled?: boolean;
56
56
  label?: string;
57
57
  tooltip?: string;
58
- name?: string;
59
58
  errorMessage?: string;
60
59
  }
61
60
 
@@ -65,7 +64,6 @@ export interface Emits {
65
64
 
66
65
  const props = withDefaults(defineProps<Props>(), {
67
66
  modelValue: null,
68
- name: "Field",
69
67
  });
70
68
 
71
69
  const emit = defineEmits<Emits>();
@@ -60,7 +60,6 @@ export interface Props {
60
60
  disabled?: boolean;
61
61
  label?: string;
62
62
  tooltip?: string;
63
- name?: string;
64
63
  errorMessage?: string;
65
64
  assetsFolder: string;
66
65
  }
@@ -73,7 +72,6 @@ const { getAccessToken } = useUser();
73
72
 
74
73
  const props = withDefaults(defineProps<Props>(), {
75
74
  modelValue: null,
76
- name: "Field",
77
75
  });
78
76
 
79
77
  const emit = defineEmits<Emits>();
@@ -24,9 +24,10 @@
24
24
  ></VcIcon>
25
25
 
26
26
  <div class="tw-text-[#9db0be] tw-text-center tw-text-lg tw-leading-lg tw-mt-4">
27
- <span>Drag and drop file here or</span>&nbsp;
27
+ <span>{{ t("COMPONENTS.MOLECULES.VC_FILE_UPLOAD.DRAG_HERE") }}</span
28
+ >&nbsp;
28
29
  <br />
29
- <VcLink @click="toggleUploader">browse your files</VcLink>
30
+ <VcLink @click="toggleUploader">{{ t("COMPONENTS.MOLECULES.VC_FILE_UPLOAD.BROWSE") }}</VcLink>
30
31
  </div>
31
32
 
32
33
  <input
@@ -54,6 +55,7 @@
54
55
  import { getCurrentInstance, ref, unref } from "vue";
55
56
  import { useField } from "vee-validate";
56
57
  import { VcLoading, VcIcon, VcLink, VcHint } from "./../../";
58
+ import { useI18n } from "vue-i18n";
57
59
 
58
60
  export interface Props {
59
61
  variant?: "gallery" | "file-upload";
@@ -76,6 +78,8 @@ const props = withDefaults(defineProps<Props>(), {
76
78
 
77
79
  const emit = defineEmits<Emits>();
78
80
 
81
+ const { t } = useI18n({ useScope: "global" });
82
+
79
83
  const instance = getCurrentInstance();
80
84
  // Prepare validation rules using required and rules props combination
81
85
  const internalRules = unref(props.rules) || "";
@@ -67,7 +67,8 @@
67
67
  v-if="!hasValue"
68
68
  class="tw-text-[#a5a5a5]"
69
69
  >
70
- {{ placeholder }}
70
+ <template v-if="placeholder">{{ placeholder }}</template>
71
+ <template v-else>{{ t("COMPONENTS.MOLECULES.VC_SELECT.CLICK_TO_SELECT") }}</template>
71
72
  </div>
72
73
  <template v-else-if="selectedScope && selectedScope.length && hasValue">
73
74
  <template v-if="$slots['selected-item']">
@@ -258,6 +259,7 @@ import * as _ from "lodash-es";
258
259
  import { useIntersectionObserver } from "@vueuse/core";
259
260
  import { useFloating, UseFloatingReturn, offset, flip, shift, autoUpdate } from "@floating-ui/vue";
260
261
  import { VcLabel, VcContainer, VcHint, VcIcon } from "./../../";
262
+ import { useI18n } from "vue-i18n";
261
263
 
262
264
  export type OptionProp<T> = ((option: T) => string) | string | undefined;
263
265
 
@@ -485,7 +487,6 @@ const props = withDefaults(
485
487
  name: "Field",
486
488
  emitValue: true,
487
489
  mapOptions: true,
488
- placeholder: "Click to select...",
489
490
  options: () => [],
490
491
  }
491
492
  );
@@ -506,6 +507,8 @@ const emit = defineEmits<{
506
507
  (event: "close"): void;
507
508
  }>();
508
509
 
510
+ const { t } = useI18n({ useScope: "global" });
511
+
509
512
  const { modelValue, options } = toRefs(props);
510
513
 
511
514
  const isOpened = ref(false);
@@ -870,7 +873,7 @@ async function onSearch(value: string) {
870
873
  }
871
874
  } else {
872
875
  optionsTemp.value = optionsList.value.filter((x) => {
873
- return x[getOptionLabel.value(x)].toLowerCase().includes(filterString.value.toLowerCase());
876
+ return x[props.optionLabel as string].toLowerCase().includes(filterString.value.toLowerCase());
874
877
  });
875
878
  }
876
879
  }
@@ -0,0 +1,9 @@
1
+ export * from "./vc-app";
2
+ export * from "./vc-blade";
3
+ export * from "./vc-dynamic-property";
4
+ export * from "./vc-gallery";
5
+ export * from "./vc-login-form";
6
+ export * from "./vc-popup";
7
+ export * from "./vc-table";
8
+ export * from "./vc-notification-dropdown";
9
+ export * from "./vc-notification-template";
@@ -42,7 +42,7 @@
42
42
  icon="fas fa-chevron-left"
43
43
  size="s"
44
44
  ></VcIcon>
45
- <span class="tw-ml-2 tw-text-lg">{{ $t("Back") }}</span>
45
+ <span class="tw-ml-2 tw-text-lg">{{ t("COMPONENTS.ORGANISMS.VC_APP.INTERNAL.VC_APP_BAR.BACK") }}</span>
46
46
  </VcLink>
47
47
  </template>
48
48
 
@@ -98,6 +98,7 @@
98
98
  </template>
99
99
 
100
100
  <script lang="ts" setup>
101
+ import { useI18n } from "vue-i18n";
101
102
  import { VcIcon, VcLink } from "./../../../../";
102
103
  import { IBladeToolbar } from "./../../../../../../core/types";
103
104
  import { IBladeRef } from "./../../../../../../shared";
@@ -120,6 +121,8 @@ export interface Emits {
120
121
  defineProps<Props>();
121
122
 
122
123
  defineEmits<Emits>();
124
+
125
+ const { t } = useI18n({ useScope: "global" });
123
126
  </script>
124
127
 
125
128
  <style lang="scss">
@@ -45,7 +45,7 @@
45
45
  text
46
46
  class="tw-shrink-0 tw-opacity-80 tw-text-white hover:!tw-opacity-100 hover:!tw-text-white"
47
47
  @click="open()"
48
- >{{ $t("COMPONENTS.ORGANISMS.VC_BLADE.SEE_DETAILS") }}</VcButton
48
+ >{{ t("COMPONENTS.ORGANISMS.VC_BLADE.SEE_DETAILS") }}</VcButton
49
49
  >
50
50
  </div>
51
51
  </template>
@@ -381,7 +381,7 @@ const props = withDefaults(defineProps<Props>(), {
381
381
  culture: "en-US",
382
382
  });
383
383
 
384
- const { locale, te, t } = useI18n();
384
+ const { locale, te, t } = useI18n({ useScope: "global" });
385
385
 
386
386
  const rules: IValidationRules = {};
387
387
  const items = ref<PropertyItem[]>([]);
@@ -38,7 +38,7 @@
38
38
  class="vc-gallery-item__button-icon"
39
39
  icon="fas fa-eye"
40
40
  ></VcIcon>
41
- <div class="tw-mt-2">Fullscreen</div>
41
+ <div class="tw-mt-2">{{ t("COMPONENTS.ORGANISMS.VC_GALLERY.INTERNAL.VC_GALLERY_ITEM.FULLSCREEN") }}</div>
42
42
  </div>
43
43
  <div
44
44
  v-if="!readonly && actions && actions.edit"
@@ -49,7 +49,7 @@
49
49
  class="vc-gallery-item__button-icon"
50
50
  icon="fas fa-pen"
51
51
  ></VcIcon>
52
- <div class="tw-mt-2">Edit</div>
52
+ <div class="tw-mt-2">{{ $t("COMPONENTS.ORGANISMS.VC_GALLERY.INTERNAL.VC_GALLERY_ITEM.EDIT") }}</div>
53
53
  </div>
54
54
  <div
55
55
  v-if="!readonly && actions && actions.remove"
@@ -60,7 +60,7 @@
60
60
  class="vc-gallery-item__button-icon"
61
61
  icon="fas fa-trash"
62
62
  ></VcIcon>
63
- <div class="tw-mt-2">Delete</div>
63
+ <div class="tw-mt-2">{{ $t("COMPONENTS.ORGANISMS.VC_GALLERY.INTERNAL.VC_GALLERY_ITEM.DELETE") }}</div>
64
64
  </div>
65
65
  </div>
66
66
  </div>
@@ -72,6 +72,7 @@ import { ref } from "vue";
72
72
  import { vOnClickOutside } from "@vueuse/components";
73
73
  import { IImage } from "./../../../../../../core/types";
74
74
  import { VcImage, VcIcon } from "./../../../../";
75
+ import { useI18n } from "vue-i18n";
75
76
 
76
77
  export interface Props {
77
78
  image: IImage;
@@ -99,7 +100,7 @@ withDefaults(defineProps<Props>(), {
99
100
  });
100
101
 
101
102
  defineEmits(["preview", "edit", "remove"]);
102
-
103
+ const { t } = useI18n({ useScope: "global" });
103
104
  const hover = ref(false);
104
105
 
105
106
  function onClose() {
@@ -6,7 +6,9 @@
6
6
  <template #title>
7
7
  <div>
8
8
  <span>{{ currentImage.name }} (</span>
9
- <VcLink @click="copyLink(currentImage.url)">copy image link</VcLink>
9
+ <VcLink @click="copyLink(currentImage.url)">{{
10
+ t("COMPONENTS.ORGANISMS.VC_GALLERY.INTERNAL.VC_GALLERY_PREVIEW.COPY_IMAGE_LINK")
11
+ }}</VcLink>
10
12
  <span>)</span>
11
13
  </div>
12
14
  </template>
@@ -63,6 +65,7 @@
63
65
  import { computed, ref, ComputedRef } from "vue";
64
66
  import { VcPopup, VcLink, VcIcon, VcImage } from "../../../../";
65
67
  import { IImage } from "./../../../../../../core/types";
68
+ import { useI18n } from "vue-i18n";
66
69
 
67
70
  export interface Props {
68
71
  images?: IImage[];
@@ -79,7 +82,7 @@ const props = withDefaults(defineProps<Props>(), {
79
82
  images: () => [],
80
83
  index: 0,
81
84
  });
82
-
85
+ const { t } = useI18n({ useScope: "global" });
83
86
  const localIndex = ref(props.index);
84
87
  const currentImage = computed(() => props.images[localIndex.value]);
85
88
 
@@ -53,7 +53,7 @@
53
53
  v-else
54
54
  class="tw-flex tw-justify-center tw-p-5"
55
55
  >
56
- <VcHint>Gallery is empty</VcHint>
56
+ <VcHint>{{ t("COMPONENTS.ORGANISMS.VC_GALLERY.GALLERY_IS_EMPTY") }}</VcHint>
57
57
  </div>
58
58
  </div>
59
59
  </template>
@@ -65,6 +65,7 @@ import { VcLabel, VcFileUpload, VcHint } from "./../../";
65
65
  import VcGalleryItem from "./_internal/vc-gallery-item/vc-gallery-item.vue";
66
66
  import VcGalleryPreview from "./_internal/vc-gallery-preview/vc-gallery-preview.vue";
67
67
  import { usePopup } from "./../../../../shared/components/popup-handler/composables/usePopup";
68
+ import { useI18n } from "vue-i18n";
68
69
 
69
70
  export interface Props {
70
71
  images?: IImage[];
@@ -109,7 +110,7 @@ const props = withDefaults(defineProps<Props>(), {
109
110
  });
110
111
 
111
112
  const emit = defineEmits<Emits>();
112
-
113
+ const { t } = useI18n({ useScope: "global" });
113
114
  const previewImageIndex = ref<number>();
114
115
 
115
116
  const defaultImages = ref<IImage[]>([]);
@@ -29,7 +29,7 @@
29
29
  <script lang="ts" setup>
30
30
  import { computed, h } from "vue";
31
31
  import moment from "moment";
32
- import { PushNotification } from "./../../../../../../core/api";
32
+ import { PushNotification } from "./../../../../../../core/api/platform";
33
33
  import { VcRow, VcNotificationTemplate } from "./../../../../";
34
34
  import { NotificationTemplateConstructor } from "./../../../../../../core/types";
35
35