@vc-shell/framework 1.0.289 → 1.0.291
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 +18 -0
- package/core/composables/index.ts +1 -0
- package/core/composables/useTheme/index.ts +60 -0
- package/core/directives/loading/styles.css +6 -1
- package/dist/core/composables/index.d.ts +1 -0
- package/dist/core/composables/index.d.ts.map +1 -1
- package/dist/core/composables/useTheme/index.d.ts +11 -0
- package/dist/core/composables/useTheme/index.d.ts.map +1 -0
- package/dist/framework.js +27889 -27362
- package/dist/index.css +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/locales/en.json +6 -0
- package/dist/shared/components/app-bar-button/app-bar-button.vue.d.ts +56 -0
- package/dist/shared/components/app-bar-button/app-bar-button.vue.d.ts.map +1 -0
- package/dist/shared/components/app-bar-button/index.d.ts +2 -0
- package/dist/shared/components/app-bar-button/index.d.ts.map +1 -0
- package/dist/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue.d.ts.map +1 -1
- package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts.map +1 -1
- package/dist/shared/components/index.d.ts +3 -0
- package/dist/shared/components/index.d.ts.map +1 -1
- package/dist/shared/components/language-selector/language-selector.vue.d.ts.map +1 -1
- package/dist/shared/components/notification-dropdown/notification-dropdown.vue.d.ts.map +1 -1
- package/dist/shared/components/notification-template/notification-template.vue.d.ts.map +1 -1
- package/dist/shared/components/sidebar/index.d.ts +2 -0
- package/dist/shared/components/sidebar/index.d.ts.map +1 -0
- package/dist/shared/components/sidebar/sidebar.vue.d.ts +49 -0
- package/dist/shared/components/sidebar/sidebar.vue.d.ts.map +1 -0
- package/dist/shared/components/theme-selector/index.d.ts +2 -0
- package/dist/shared/components/theme-selector/index.d.ts.map +1 -0
- package/dist/shared/components/theme-selector/theme-selector.vue.d.ts +3 -0
- package/dist/shared/components/theme-selector/theme-selector.vue.d.ts.map +1 -0
- package/dist/shared/components/user-dropdown-button/index.d.ts +6 -0
- package/dist/shared/components/user-dropdown-button/index.d.ts.map +1 -1
- package/dist/shared/components/user-dropdown-button/user-dropdown-button.vue.d.ts +1 -0
- package/dist/shared/components/user-dropdown-button/user-dropdown-button.vue.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/types/index.d.ts +3 -0
- package/dist/shared/modules/dynamic/types/index.d.ts.map +1 -1
- package/dist/shared/pages/ChangePasswordPage/components/change-password/ChangePassword.vue.d.ts +16 -3
- package/dist/shared/pages/ChangePasswordPage/components/change-password/ChangePassword.vue.d.ts.map +1 -1
- package/dist/shared/pages/ChangePasswordPage/components/change-password/index.d.ts +7 -7
- package/dist/shared/pages/ChangePasswordPage/components/change-password/index.d.ts.map +1 -1
- package/dist/shared/pages/InvitePage/components/invite/Invite.vue.d.ts +24 -3
- package/dist/shared/pages/InvitePage/components/invite/Invite.vue.d.ts.map +1 -1
- package/dist/shared/pages/InvitePage/components/invite/index.d.ts +24 -1
- package/dist/shared/pages/InvitePage/components/invite/index.d.ts.map +1 -1
- package/dist/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue.d.ts +24 -3
- package/dist/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue.d.ts.map +1 -1
- package/dist/shared/pages/ResetPasswordPage/components/reset-password/index.d.ts +24 -1
- package/dist/shared/pages/ResetPasswordPage/components/reset-password/index.d.ts.map +1 -1
- package/dist/tailwind.config.d.ts +42 -15
- package/dist/tailwind.config.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/ui/components/atoms/vc-badge/vc-badge.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-link/vc-link.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-progress/vc-progress.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-status/vc-status.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-tooltip/vc-tooltip.vue.d.ts.map +1 -1
- package/dist/ui/components/atoms/vc-video/vc-video.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-checkbox/vc-checkbox.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-field/_internal/vc-field-type/vc-field-type.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-field/vc-field.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-file-upload/vc-file-upload.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-input/vc-input.vue.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-slider/vc-slider.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/vc-app.stories.d.ts +26 -0
- package/dist/ui/components/organisms/vc-app/vc-app.stories.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts +26 -0
- package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-add-new/vc-table-add-new.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-base-header/vc-table-base-header.vue.d.ts +1 -0
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-base-header/vc-table-base-header.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-empty/vc-table-empty.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue.d.ts +1 -0
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/vc-table.stories.d.ts +15 -0
- package/dist/ui/components/organisms/vc-table/vc-table.stories.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts +3 -0
- package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts.map +1 -1
- package/package.json +4 -4
- package/shared/components/app-bar-button/app-bar-button.vue +169 -0
- package/shared/components/app-bar-button/index.ts +1 -0
- package/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue +138 -38
- package/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue +10 -1
- package/shared/components/blade-navigation/composables/useBladeNavigation/index.ts +55 -30
- package/shared/components/change-password/change-password.vue +7 -1
- package/shared/components/common/popup/vc-popup-error.vue +1 -1
- package/shared/components/common/popup/vc-popup-warning.vue +1 -1
- package/shared/components/index.ts +3 -0
- package/shared/components/language-selector/language-selector.vue +55 -39
- package/shared/components/notification-dropdown/_internal/notification/notification.vue +7 -1
- package/shared/components/notification-dropdown/notification-dropdown.vue +96 -83
- package/shared/components/notification-template/notification-template.vue +66 -22
- package/shared/components/notifications/styles/index.scss +1 -0
- package/shared/components/sidebar/index.ts +1 -0
- package/shared/components/sidebar/sidebar.vue +96 -0
- package/shared/components/theme-selector/index.ts +1 -0
- package/shared/components/theme-selector/theme-selector.vue +95 -0
- package/shared/components/user-dropdown-button/user-dropdown-button.vue +155 -86
- package/shared/modules/assets/components/assets-details/assets-details.vue +9 -2
- package/shared/modules/assets-manager/components/assets-manager/assets-manager.vue +16 -6
- package/shared/modules/dynamic/composables/useFilterBuilder/index.ts +1 -1
- package/shared/modules/dynamic/helpers/nodeBuilder.ts +1 -1
- package/shared/modules/dynamic/pages/dynamic-blade-form.vue +6 -2
- package/shared/modules/dynamic/pages/dynamic-blade-list.vue +16 -2
- package/shared/modules/dynamic/types/index.ts +3 -0
- package/shared/pages/ChangePasswordPage/components/change-password/ChangePassword.vue +14 -9
- package/shared/pages/InvitePage/components/invite/Invite.vue +59 -15
- package/shared/pages/LoginPage/components/login/Login.vue +78 -22
- package/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue +67 -15
- package/tailwind.config.ts +281 -15
- package/ui/components/atoms/vc-badge/vc-badge.vue +38 -23
- package/ui/components/atoms/vc-button/vc-button.vue +37 -34
- package/ui/components/atoms/vc-card/vc-card.vue +17 -11
- package/ui/components/atoms/vc-col/vc-col.vue +4 -6
- package/ui/components/atoms/vc-container/vc-container.vue +26 -8
- package/ui/components/atoms/vc-hint/vc-hint.vue +8 -2
- package/ui/components/atoms/vc-icon/vc-icon.vue +3 -3
- package/ui/components/atoms/vc-image/vc-image.vue +33 -9
- package/ui/components/atoms/vc-label/vc-label.vue +38 -9
- package/ui/components/atoms/vc-link/vc-link.vue +15 -8
- package/ui/components/atoms/vc-loading/vc-loading.vue +37 -8
- package/ui/components/atoms/vc-progress/vc-progress.vue +29 -21
- package/ui/components/atoms/vc-row/vc-row.vue +4 -2
- package/ui/components/atoms/vc-status/vc-status.vue +29 -20
- package/ui/components/atoms/vc-status-icon/vc-status-icon.vue +20 -3
- package/ui/components/atoms/vc-switch/vc-switch.vue +41 -17
- package/ui/components/atoms/vc-tooltip/vc-tooltip.vue +35 -9
- package/ui/components/atoms/vc-video/vc-video.vue +28 -6
- package/ui/components/atoms/vc-widget/vc-widget.vue +59 -28
- package/ui/components/molecules/vc-breadcrumbs/_internal/vc-breadcrumbs-item/vc-breadcrumbs-item.vue +29 -27
- package/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue +34 -11
- package/ui/components/molecules/vc-checkbox/vc-checkbox.vue +43 -21
- package/ui/components/molecules/vc-editor/vc-editor.vue +70 -32
- package/ui/components/molecules/vc-field/_internal/vc-field-type/vc-field-type.vue +32 -16
- package/ui/components/molecules/vc-field/vc-field.vue +36 -13
- package/ui/components/molecules/vc-file-upload/vc-file-upload.vue +75 -25
- package/ui/components/molecules/vc-input/vc-input.vue +279 -218
- package/ui/components/molecules/vc-input-currency/vc-input-currency.vue +24 -2
- package/ui/components/molecules/vc-multivalue/vc-multivalue.vue +102 -64
- package/ui/components/molecules/vc-notification/vc-notification.vue +40 -15
- package/ui/components/molecules/vc-pagination/vc-pagination.vue +19 -15
- package/ui/components/molecules/vc-radio-button/vc-radio-button.vue +18 -23
- package/ui/components/molecules/vc-rating/vc-rating.vue +9 -5
- package/ui/components/molecules/vc-select/vc-select.vue +211 -65
- package/ui/components/molecules/vc-slider/vc-slider.vue +32 -13
- package/ui/components/molecules/vc-textarea/vc-textarea.vue +17 -12
- package/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue +68 -14
- package/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue +112 -122
- package/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue +213 -96
- package/ui/components/organisms/vc-app/vc-app.vue +41 -15
- package/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue +78 -30
- package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue +81 -59
- package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue +27 -13
- package/ui/components/organisms/vc-blade/vc-blade.vue +177 -46
- package/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue +40 -11
- package/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue +52 -18
- package/ui/components/organisms/vc-gallery/vc-gallery.vue +38 -6
- package/ui/components/organisms/vc-login-form/vc-login-form.vue +40 -14
- package/ui/components/organisms/vc-popup/vc-popup.vue +186 -44
- package/ui/components/organisms/vc-table/_internal/vc-table-add-new/vc-table-add-new.vue +25 -6
- package/ui/components/organisms/vc-table/_internal/vc-table-base-header/vc-table-base-header.vue +48 -12
- package/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue +130 -60
- package/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue +55 -7
- package/ui/components/organisms/vc-table/_internal/vc-table-counter/vc-table-counter.vue +17 -5
- package/ui/components/organisms/vc-table/_internal/vc-table-empty/vc-table-empty.vue +38 -6
- package/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue +111 -62
- package/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue +139 -46
- package/ui/components/organisms/vc-table/vc-table.vue +370 -128
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
`vc-multivalue_${type}`,
|
|
6
6
|
{
|
|
7
7
|
'vc-multivalue_opened': isOpened,
|
|
8
|
-
'vc-multivalue_error
|
|
8
|
+
'vc-multivalue_error vc-multivalue__error-padding': error,
|
|
9
9
|
'vc-multivalue_disabled': disabled,
|
|
10
10
|
},
|
|
11
11
|
]"
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
<!-- Input label -->
|
|
14
14
|
<VcLabel
|
|
15
15
|
v-if="label"
|
|
16
|
-
class="
|
|
16
|
+
class="vc-multivalue__label"
|
|
17
17
|
:required="required"
|
|
18
18
|
:multilanguage="multilanguage"
|
|
19
19
|
:current-language="currentLanguage"
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
ref="dropdownToggleRef"
|
|
32
32
|
class="vc-multivalue__field-wrapper"
|
|
33
33
|
>
|
|
34
|
-
<div class="
|
|
34
|
+
<div class="vc-multivalue__content">
|
|
35
35
|
<div
|
|
36
36
|
v-for="(item, i) in modelValue"
|
|
37
37
|
:key="`${item?.id}_${generateId()}`"
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
:item="item"
|
|
48
48
|
:remove="() => onDelete(i)"
|
|
49
49
|
>
|
|
50
|
-
<span class="
|
|
50
|
+
<span class="vc-multivalue__truncate">{{ formatValue(item) }}</span>
|
|
51
51
|
</slot>
|
|
52
52
|
<VcIcon
|
|
53
53
|
v-if="!disabled"
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
</div>
|
|
61
61
|
|
|
62
62
|
<template v-if="multivalue">
|
|
63
|
-
<div class="vc-multivalue__field vc-multivalue__field_dictionary
|
|
63
|
+
<div class="vc-multivalue__field vc-multivalue__field_dictionary">
|
|
64
64
|
<VcButton
|
|
65
65
|
small
|
|
66
66
|
:disabled="disabled"
|
|
@@ -105,7 +105,7 @@
|
|
|
105
105
|
<template v-else>
|
|
106
106
|
<input
|
|
107
107
|
v-model="value"
|
|
108
|
-
class="vc-multivalue__field
|
|
108
|
+
class="vc-multivalue__field vc-multivalue__input"
|
|
109
109
|
:placeholder="placeholder"
|
|
110
110
|
:type="internalTypeComputed"
|
|
111
111
|
:disabled="disabled"
|
|
@@ -115,13 +115,14 @@
|
|
|
115
115
|
/>
|
|
116
116
|
</template>
|
|
117
117
|
</div>
|
|
118
|
-
<!-- Loading-->
|
|
118
|
+
<!-- Loading -->
|
|
119
119
|
<div
|
|
120
120
|
v-if="loading"
|
|
121
|
-
class="
|
|
121
|
+
class="vc-multivalue__loading"
|
|
122
122
|
>
|
|
123
123
|
<VcIcon
|
|
124
|
-
icon="fas fa-circle-notch
|
|
124
|
+
icon="fas fa-circle-notch"
|
|
125
|
+
class="vc-multivalue__loading-icon"
|
|
125
126
|
size="m"
|
|
126
127
|
></VcIcon>
|
|
127
128
|
</div>
|
|
@@ -136,24 +137,23 @@
|
|
|
136
137
|
<VcHint
|
|
137
138
|
v-if="errorMessage"
|
|
138
139
|
class="vc-multivalue__error"
|
|
140
|
+
>{{ errorMessage }}</VcHint
|
|
139
141
|
>
|
|
140
|
-
{{ errorMessage }}
|
|
141
|
-
</VcHint>
|
|
142
142
|
</slot>
|
|
143
143
|
</div>
|
|
144
144
|
<div v-else>
|
|
145
145
|
<slot name="hint">
|
|
146
146
|
<VcHint
|
|
147
147
|
v-if="hint"
|
|
148
|
-
class="
|
|
148
|
+
class="vc-multivalue__hint"
|
|
149
|
+
>{{ hint }}</VcHint
|
|
149
150
|
>
|
|
150
|
-
{{ hint }}
|
|
151
|
-
</VcHint>
|
|
152
151
|
</slot>
|
|
153
152
|
</div>
|
|
154
153
|
</Transition>
|
|
155
154
|
</div>
|
|
156
155
|
</template>
|
|
156
|
+
|
|
157
157
|
<!-- eslint-disable @typescript-eslint/no-explicit-any -->
|
|
158
158
|
<script lang="ts" setup generic="T extends { id?: string }">
|
|
159
159
|
import { unref, nextTick, ref, computed } from "vue";
|
|
@@ -315,13 +315,13 @@ function sameWidthChangeBorders() {
|
|
|
315
315
|
let borderBottom;
|
|
316
316
|
let borderRadius;
|
|
317
317
|
if (placement === "top") {
|
|
318
|
-
borderTop = "1px solid var(--select-border-color)";
|
|
319
|
-
borderBottom = "1px solid var(--select-background-color)";
|
|
320
|
-
borderRadius = "var(--select-border-radius) var(--select-border-radius) 0 0";
|
|
318
|
+
borderTop = "1px solid var(--multivalue-select-border-color)";
|
|
319
|
+
borderBottom = "1px solid var(--multivalue-select-background-color)";
|
|
320
|
+
borderRadius = "var(--multivalue-select-border-radius) var(--multivalue-select-border-radius) 0 0";
|
|
321
321
|
} else {
|
|
322
|
-
borderBottom = "1px solid var(--select-border-color)";
|
|
323
|
-
borderTop = "1px solid var(--select-background-color)";
|
|
324
|
-
borderRadius = "0 0 var(--select-border-radius) var(--select-border-radius)";
|
|
322
|
+
borderBottom = "1px solid var(--multivalue-select-border-color)";
|
|
323
|
+
borderTop = "1px solid var(--multivalue-select-background-color)";
|
|
324
|
+
borderRadius = "0 0 var(--multivalue-select-border-radius) var(--multivalue-select-border-radius)";
|
|
325
325
|
}
|
|
326
326
|
|
|
327
327
|
const width = `${rects.reference.width}px`;
|
|
@@ -368,20 +368,28 @@ function onSearch(event: Event) {
|
|
|
368
368
|
:root {
|
|
369
369
|
--multivalue-height: 38px;
|
|
370
370
|
--multivalue-border-radius: 3px;
|
|
371
|
-
--multivalue-border-color:
|
|
372
|
-
--multivalue-border-color-error:
|
|
373
|
-
--multivalue-background-color:
|
|
374
|
-
--multivalue-placeholder-color:
|
|
375
|
-
|
|
376
|
-
--select-
|
|
377
|
-
--select-border-
|
|
378
|
-
--select-border-color:
|
|
379
|
-
--select-
|
|
380
|
-
--select-background-color:
|
|
381
|
-
--select-
|
|
382
|
-
--select-
|
|
383
|
-
--select-chevron-color:
|
|
384
|
-
|
|
371
|
+
--multivalue-border-color: var(--secondary-200);
|
|
372
|
+
--multivalue-border-color-error: var(--base-error-color, var(--danger-500));
|
|
373
|
+
--multivalue-background-color: var(--additional-50);
|
|
374
|
+
--multivalue-placeholder-color: var(--neutrals-400);
|
|
375
|
+
|
|
376
|
+
--multivalue-select-border-radius: 3px;
|
|
377
|
+
--multivalue-select-border-color: var(--secondary-200);
|
|
378
|
+
--multivalue-select-border-color-error: var(--base-error-color, var(--danger-500));
|
|
379
|
+
--multivalue-select-background-color: var(--additional-50);
|
|
380
|
+
--multivalue-select-background-color-disabled: var(--neutrals-50);
|
|
381
|
+
--multivalue-select-placeholder-color: var(--neutrals-400);
|
|
382
|
+
--multivalue-select-chevron-color: var(--primary-500);
|
|
383
|
+
--multivalue-select-chevron-color-hover: var(--primary-600);
|
|
384
|
+
|
|
385
|
+
--multivalue-search-border-color: var(--secondary-200);
|
|
386
|
+
--multivalue-item-hover-background-color: var(--accent-50);
|
|
387
|
+
--multivalue-hint-color: var(--base-error-color, var(--danger-500));
|
|
388
|
+
--multivalue-field-value-background-color: var(--additional-50);
|
|
389
|
+
--multivalue-field-value-border-color: var(--secondary-200);
|
|
390
|
+
--multivalue-clear-icon-color: var(--primary-500);
|
|
391
|
+
--multivalue-disabled-text-color: var(--neutrals-400);
|
|
392
|
+
--multivalue-disabled-background-color: var(--neutrals-50);
|
|
385
393
|
}
|
|
386
394
|
|
|
387
395
|
.vc-multivalue {
|
|
@@ -396,37 +404,66 @@ function onSearch(event: Event) {
|
|
|
396
404
|
}
|
|
397
405
|
}
|
|
398
406
|
|
|
407
|
+
&__label {
|
|
408
|
+
@apply tw-mb-2;
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
&__error-padding {
|
|
412
|
+
@apply tw-pb-[20px];
|
|
413
|
+
}
|
|
414
|
+
|
|
399
415
|
&__field-wrapper {
|
|
400
416
|
@apply tw-border tw-border-solid
|
|
401
417
|
tw-border-[color:var(--multivalue-border-color)]
|
|
402
418
|
tw-rounded-[var(--multivalue-border-radius)]
|
|
403
|
-
tw-bg-[color:var(--multivalue-background-color)]
|
|
404
419
|
tw-items-center
|
|
405
420
|
tw-flex tw-justify-between;
|
|
406
421
|
}
|
|
407
422
|
|
|
423
|
+
&__content {
|
|
424
|
+
@apply tw-items-center tw-flex tw-flex-wrap tw-flex-grow;
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
&__field-value-wrapper {
|
|
428
|
+
@apply tw-ml-2 tw-flex tw-items-center;
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
&__field-value {
|
|
432
|
+
@apply tw-bg-[color:var(--multivalue-background-color)] tw-border tw-border-solid tw-border-[color:var(--multivalue-border-color)]
|
|
433
|
+
tw-rounded-[2px] tw-flex tw-items-center tw-h-[28px] tw-box-border tw-px-2 tw-max-w-[150px];
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
&__truncate {
|
|
437
|
+
@apply tw-truncate tw-text-sm;
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
&__field-value-clear {
|
|
441
|
+
@apply tw-text-[color:var(--multivalue-clear-icon-color)] tw-ml-2 tw-cursor-pointer;
|
|
442
|
+
}
|
|
443
|
+
|
|
408
444
|
&__dropdown {
|
|
409
445
|
@apply tw-flex tw-flex-col tw-box-border
|
|
410
446
|
tw-max-h-[300px] tw-z-10 tw-overflow-hidden
|
|
411
|
-
tw-absolute tw-bg-[color:var(--select-background-color)]
|
|
412
|
-
tw-border tw-border-solid tw-border-[color:var(--select-border-color)]
|
|
413
|
-
tw-border-t-[color:var(--select-background-color)]
|
|
414
|
-
tw-rounded-b-[var(--select-border-radius)]
|
|
447
|
+
tw-absolute tw-bg-[color:var(--multivalue-select-background-color)]
|
|
448
|
+
tw-border tw-border-solid tw-border-[color:var(--multivalue-select-border-color)]
|
|
449
|
+
tw-border-t-[color:var(--multivalue-select-background-color)]
|
|
450
|
+
tw-rounded-b-[var(--multivalue-select-border-radius)]
|
|
415
451
|
tw-p-2;
|
|
416
452
|
}
|
|
417
453
|
|
|
418
454
|
&__search {
|
|
419
|
-
@apply tw-w-full tw-box-border tw-border tw-border-solid
|
|
420
|
-
|
|
421
|
-
|
|
455
|
+
@apply tw-w-full tw-box-border tw-border tw-border-solid
|
|
456
|
+
tw-border-[color:var(--multivalue-search-border-color)]
|
|
457
|
+
tw-rounded-[4px] tw-h-8 tw-leading-[32px]
|
|
458
|
+
tw-outline-none tw-mb-3 tw-px-2 tw-bg-[color:var(--multivalue-background-color)];
|
|
422
459
|
}
|
|
423
460
|
|
|
424
461
|
&__item {
|
|
425
|
-
@apply tw-flex tw-items-center tw-min-h-[36px] tw-px-2 tw-rounded-[3px] tw-cursor-pointer hover:tw-bg-[
|
|
462
|
+
@apply tw-flex tw-items-center tw-min-h-[36px] tw-px-2 tw-rounded-[3px] tw-cursor-pointer hover:tw-bg-[color:var(--multivalue-item-hover-background-color)];
|
|
426
463
|
}
|
|
427
464
|
|
|
428
465
|
&_opened &__field-wrapper {
|
|
429
|
-
@apply tw-rounded-t-[var(--select-border-radius)];
|
|
466
|
+
@apply tw-rounded-t-[var(--multivalue-select-border-radius)];
|
|
430
467
|
}
|
|
431
468
|
|
|
432
469
|
&_error &__field-wrapper {
|
|
@@ -434,12 +471,12 @@ function onSearch(event: Event) {
|
|
|
434
471
|
}
|
|
435
472
|
|
|
436
473
|
&__error {
|
|
437
|
-
@apply tw-mt-1 [--hint-color:var(--multivalue-
|
|
474
|
+
@apply tw-mt-1 [--hint-color:var(--multivalue-hint-color)];
|
|
438
475
|
}
|
|
439
476
|
|
|
440
477
|
&__field {
|
|
441
|
-
@apply tw-border-none tw-outline-none tw-min-h-[var(--multivalue-height)]
|
|
442
|
-
tw-min-w-[120px] tw-box-border placeholder:tw-text-[color:var(--multivalue-placeholder-color)];
|
|
478
|
+
@apply tw-border-none tw-outline-none tw-min-h-[var(--multivalue-height)] tw-bg-[color:var(--multivalue-background-color)]
|
|
479
|
+
tw-min-w-[120px] tw-box-border placeholder:tw-text-[color:var(--multivalue-placeholder-color)] tw-text-sm;
|
|
443
480
|
|
|
444
481
|
&::-webkit-input-placeholder {
|
|
445
482
|
@apply tw-text-[color:var(--multivalue-placeholder-color)];
|
|
@@ -464,37 +501,38 @@ function onSearch(event: Event) {
|
|
|
464
501
|
}
|
|
465
502
|
|
|
466
503
|
&-value {
|
|
467
|
-
@apply tw-bg-[
|
|
468
|
-
tw-flex tw-items-center tw-h-[28px] tw-box-border tw-px-2 tw-max-w-[150px];
|
|
504
|
+
@apply tw-bg-[color:var(--multivalue-field-value-background-color)] tw-border tw-border-solid tw-border-[color:var(--multivalue-field-value-border-color)]
|
|
505
|
+
tw-rounded-[2px] tw-flex tw-items-center tw-h-[28px] tw-box-border tw-px-2 tw-max-w-[150px];
|
|
469
506
|
|
|
470
507
|
&-clear {
|
|
471
|
-
@apply tw-text-[
|
|
508
|
+
@apply tw-text-[color:var(--multivalue-clear-icon-color)] tw-ml-2 tw-cursor-pointer;
|
|
472
509
|
}
|
|
473
510
|
}
|
|
474
511
|
|
|
475
512
|
&_dictionary {
|
|
476
|
-
@apply tw-h-auto tw-min-w-[auto];
|
|
513
|
+
@apply tw-h-auto tw-min-w-[auto] tw-grow tw-basis-0 tw-p-2;
|
|
477
514
|
}
|
|
478
515
|
}
|
|
479
516
|
|
|
480
517
|
&_disabled &__field-wrapper,
|
|
481
518
|
&_disabled &__field {
|
|
482
|
-
@apply tw-bg-[
|
|
519
|
+
@apply tw-bg-[color:var(--multivalue-disabled-background-color)] tw-text-[color:var(--multivalue-disabled-text-color)];
|
|
483
520
|
}
|
|
484
|
-
}
|
|
485
521
|
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
}
|
|
522
|
+
&__input {
|
|
523
|
+
@apply tw-px-3;
|
|
524
|
+
}
|
|
490
525
|
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
}
|
|
526
|
+
&__loading {
|
|
527
|
+
@apply tw-flex tw-items-center tw-flex-nowrap tw-px-3 tw-text-[color:var(--select-clear-color)];
|
|
528
|
+
}
|
|
495
529
|
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
530
|
+
&__loading-icon {
|
|
531
|
+
@apply tw-animate-spin;
|
|
532
|
+
}
|
|
533
|
+
|
|
534
|
+
&__hint {
|
|
535
|
+
@apply tw-text-[color:var(--multivalue-placeholder-color)] tw-mt-1 tw-break-words tw-p-0;
|
|
536
|
+
}
|
|
499
537
|
}
|
|
500
538
|
</style>
|
|
@@ -2,20 +2,20 @@
|
|
|
2
2
|
<div
|
|
3
3
|
:id="String(notificationId)"
|
|
4
4
|
ref="nodeRef"
|
|
5
|
-
class="vc-notification
|
|
5
|
+
class="vc-notification"
|
|
6
6
|
@mouseenter="onMouseEnter"
|
|
7
7
|
@mouseleave="onMouseLeave"
|
|
8
8
|
>
|
|
9
|
-
<div class="
|
|
9
|
+
<div class="vc-notification__content-wrapper">
|
|
10
10
|
<VcIcon
|
|
11
11
|
:icon="types[type ?? 'default']?.icon"
|
|
12
12
|
:style="{ color: types[type ?? 'default']?.color }"
|
|
13
13
|
size="l"
|
|
14
|
-
class="
|
|
14
|
+
class="vc-notification__icon"
|
|
15
15
|
></VcIcon>
|
|
16
16
|
<div
|
|
17
17
|
v-if="typeof content === 'string'"
|
|
18
|
-
class="vc-notification__content
|
|
18
|
+
class="vc-notification__content"
|
|
19
19
|
>
|
|
20
20
|
{{ content }}
|
|
21
21
|
</div>
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
</div>
|
|
26
26
|
<VcIcon
|
|
27
27
|
icon="fas fa-times"
|
|
28
|
-
class="
|
|
28
|
+
class="vc-notification__dismiss-icon"
|
|
29
29
|
size="s"
|
|
30
30
|
@click.stop="closeNotification"
|
|
31
31
|
></VcIcon>
|
|
@@ -123,21 +123,46 @@ function onMouseLeave() {
|
|
|
123
123
|
|
|
124
124
|
<style lang="scss">
|
|
125
125
|
:root {
|
|
126
|
-
--notification-background:
|
|
127
|
-
--notification-border-radius:
|
|
128
|
-
--notification-
|
|
129
|
-
--notification-dismiss-color:
|
|
130
|
-
--notification-content-color:
|
|
131
|
-
|
|
132
|
-
--notification-warning:
|
|
133
|
-
--notification-error:
|
|
134
|
-
--notification-success:
|
|
135
|
-
--notification-info:
|
|
126
|
+
--notification-background: var(--additional-50);
|
|
127
|
+
--notification-border-radius: var(--multivalue-border-radius);
|
|
128
|
+
--notification-border-color: var(--base-border-color, var(--neutrals-200));
|
|
129
|
+
--notification-dismiss-color: var(--secondary-500);
|
|
130
|
+
--notification-content-color: var(--neutrals-600);
|
|
131
|
+
|
|
132
|
+
--notification-warning: var(--warning-500);
|
|
133
|
+
--notification-error: var(--danger-500);
|
|
134
|
+
--notification-success: var(--success-500);
|
|
135
|
+
--notification-info: var(--info-500);
|
|
136
|
+
|
|
137
|
+
--notification-shadow-color: var(--neutrals-300);
|
|
138
|
+
--notification-shadow: 2px 2px 11px rgb(from var(--notification-shadow-color) r g b / 40%);
|
|
136
139
|
}
|
|
137
140
|
|
|
138
141
|
.vc-notification {
|
|
142
|
+
@apply tw-flex tw-items-center tw-box-border;
|
|
143
|
+
@apply tw-bg-[color:var(--notification-background)] tw-border tw-border-solid tw-border-[color:var(--notification-border-color)];
|
|
144
|
+
@apply tw-rounded-[var(--notification-border-radius)] tw-overflow-hidden tw-py-2 tw-px-4;
|
|
145
|
+
@apply tw-max-w-[600px] tw-justify-between;
|
|
146
|
+
@apply tw-shadow-[var(--notification-shadow)];
|
|
139
147
|
pointer-events: all;
|
|
140
148
|
|
|
149
|
+
&__content-wrapper {
|
|
150
|
+
@apply tw-flex tw-items-center tw-flex-row;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
&__icon {
|
|
154
|
+
@apply tw-mr-2;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
&__content {
|
|
158
|
+
@apply tw-text-[color:var(--notification-content-color)] tw-whitespace-pre-line tw-overflow-auto;
|
|
159
|
+
@apply tw-max-h-[100px];
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
&__dismiss-icon {
|
|
163
|
+
@apply tw-cursor-pointer tw-text-[color:var(--notification-dismiss-color)] tw-ml-2;
|
|
164
|
+
}
|
|
165
|
+
|
|
141
166
|
.vc-app_mobile {
|
|
142
167
|
@apply tw-max-w-[80%];
|
|
143
168
|
}
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
<template #control="{ modelValue }">
|
|
54
54
|
<input
|
|
55
55
|
:value="modelValue"
|
|
56
|
-
class="
|
|
56
|
+
class="vc-pagination__input"
|
|
57
57
|
:max="props.pages"
|
|
58
58
|
@input="(event) => handleInputChange((event.target as HTMLInputElement)?.value)"
|
|
59
59
|
@keyup.enter="setPage(jumpPage)"
|
|
@@ -166,19 +166,19 @@ const pagesToShow = computed(() => {
|
|
|
166
166
|
:root {
|
|
167
167
|
--pagination-item-width: 30px;
|
|
168
168
|
--pagination-item-height: 30px;
|
|
169
|
-
--pagination-item-color:
|
|
170
|
-
--pagination-item-color-hover:
|
|
171
|
-
--pagination-item-color-current:
|
|
172
|
-
--pagination-item-color-disabled:
|
|
173
|
-
--pagination-item-background-color:
|
|
174
|
-
--pagination-item-background-color-hover:
|
|
175
|
-
--pagination-item-background-color-current:
|
|
176
|
-
--pagination-item-background-color-disabled:
|
|
169
|
+
--pagination-item-color: var(--base-text-color, var(--neutrals-950));
|
|
170
|
+
--pagination-item-color-hover: var(--primary-500);
|
|
171
|
+
--pagination-item-color-current: var(--additional-50);
|
|
172
|
+
--pagination-item-color-disabled: var(--neutrals-400);
|
|
173
|
+
--pagination-item-background-color: var(--additional-50);
|
|
174
|
+
--pagination-item-background-color-hover: var(--primary-100);
|
|
175
|
+
--pagination-item-background-color-current: var(--primary-500);
|
|
176
|
+
--pagination-item-background-color-disabled: var(--neutrals-100);
|
|
177
177
|
--pagination-item-border-radius: 3px;
|
|
178
|
-
--pagination-item-border-color:
|
|
179
|
-
--pagination-item-border-color-hover:
|
|
180
|
-
--pagination-item-border-color-current:
|
|
181
|
-
--pagination-item-border-color-disabled:
|
|
178
|
+
--pagination-item-border-color: var(--secondary-100);
|
|
179
|
+
--pagination-item-border-color-hover: var(--neutrals-200);
|
|
180
|
+
--pagination-item-border-color-current: var(--neutrals-200);
|
|
181
|
+
--pagination-item-border-color-disabled: var(--neutrals-200);
|
|
182
182
|
}
|
|
183
183
|
|
|
184
184
|
.vc-pagination {
|
|
@@ -207,8 +207,8 @@ const pagesToShow = computed(() => {
|
|
|
207
207
|
tw-rounded-[var(--pagination-item-border-radius)]
|
|
208
208
|
tw-text-[color:var(--pagination-item-color)]
|
|
209
209
|
tw-box-border
|
|
210
|
-
tw-transition
|
|
211
|
-
tw-mr-3 tw-select-none last:tw-mr-0;
|
|
210
|
+
tw-transition tw-duration-200
|
|
211
|
+
tw-mr-3 tw-select-none last:tw-mr-0 tw-text-xs;
|
|
212
212
|
|
|
213
213
|
&_current,
|
|
214
214
|
&_current:hover {
|
|
@@ -243,5 +243,9 @@ const pagesToShow = computed(() => {
|
|
|
243
243
|
width: 50px;
|
|
244
244
|
text-align: center;
|
|
245
245
|
}
|
|
246
|
+
|
|
247
|
+
&__input {
|
|
248
|
+
@apply tw-w-full;
|
|
249
|
+
}
|
|
246
250
|
}
|
|
247
251
|
</style>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="vc-radio-button">
|
|
3
|
-
<label class="
|
|
3
|
+
<label class="vc-radio-button__label">
|
|
4
4
|
<input
|
|
5
5
|
type="radio"
|
|
6
6
|
:name="name"
|
|
@@ -13,18 +13,19 @@
|
|
|
13
13
|
@change="onChange"
|
|
14
14
|
/>
|
|
15
15
|
|
|
16
|
-
{{ label }}
|
|
17
|
-
>
|
|
16
|
+
{{ label }}
|
|
17
|
+
</label>
|
|
18
18
|
<slot
|
|
19
19
|
v-if="errorMessage"
|
|
20
20
|
name="error"
|
|
21
21
|
>
|
|
22
|
-
<VcHint class="vc-radio-button__error
|
|
22
|
+
<VcHint class="vc-radio-button__error">
|
|
23
23
|
{{ errorMessage }}
|
|
24
24
|
</VcHint>
|
|
25
25
|
</slot>
|
|
26
26
|
</div>
|
|
27
27
|
</template>
|
|
28
|
+
|
|
28
29
|
<!-- eslint-disable @typescript-eslint/no-explicit-any -->
|
|
29
30
|
<script lang="ts" setup>
|
|
30
31
|
import * as _ from "lodash-es";
|
|
@@ -96,19 +97,22 @@ function onChange() {
|
|
|
96
97
|
|
|
97
98
|
<style lang="scss">
|
|
98
99
|
:root {
|
|
99
|
-
--radio-active:
|
|
100
|
-
--radio-active-inner:
|
|
101
|
-
--radio-
|
|
102
|
-
--radio-border:
|
|
103
|
-
--radio-
|
|
104
|
-
--radio-
|
|
105
|
-
--radio-disabled:
|
|
106
|
-
--radio-
|
|
107
|
-
--radio-error: #f14e4e;
|
|
100
|
+
--radio-active: var(--primary-400);
|
|
101
|
+
--radio-active-inner: var(--additional-50);
|
|
102
|
+
--radio-border: var(--secondary-300);
|
|
103
|
+
--radio-border-hover: var(--primary-400);
|
|
104
|
+
--radio-background: var(--additional-50);
|
|
105
|
+
--radio-disabled: var(--secondary-100);
|
|
106
|
+
--radio-disabled-inner: var(--secondary-200);
|
|
107
|
+
--radio-error: var(--base-error-color, var(--danger-500));
|
|
108
108
|
--radio-size: 14px;
|
|
109
109
|
}
|
|
110
110
|
|
|
111
111
|
.vc-radio-button {
|
|
112
|
+
&__label {
|
|
113
|
+
@apply tw-text-base tw-flex tw-items-center tw-gap-1.5;
|
|
114
|
+
}
|
|
115
|
+
|
|
112
116
|
input[type="radio"] {
|
|
113
117
|
border-radius: 50%;
|
|
114
118
|
appearance: none;
|
|
@@ -176,22 +180,13 @@ function onChange() {
|
|
|
176
180
|
}
|
|
177
181
|
}
|
|
178
182
|
|
|
179
|
-
& + label {
|
|
180
|
-
font-size: 14px;
|
|
181
|
-
line-height: 21px;
|
|
182
|
-
display: inline-block;
|
|
183
|
-
vertical-align: top;
|
|
184
|
-
cursor: pointer;
|
|
185
|
-
margin-left: 4px;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
183
|
&.vc-radio-button_error {
|
|
189
184
|
--radio-border-color: var(--radio-error);
|
|
190
185
|
}
|
|
191
186
|
}
|
|
192
187
|
|
|
193
188
|
&__error {
|
|
194
|
-
--hint-color:
|
|
189
|
+
@apply tw-mt-1 [--hint-color:var(--radio-error)];
|
|
195
190
|
}
|
|
196
191
|
}
|
|
197
192
|
</style>
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<!-- Rating label -->
|
|
4
4
|
<VcLabel
|
|
5
5
|
v-if="label"
|
|
6
|
-
class="
|
|
6
|
+
class="vc-rating__label"
|
|
7
7
|
>
|
|
8
8
|
<span>{{ label }}</span>
|
|
9
9
|
<template
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
<!-- Rating icon -->
|
|
18
18
|
<template v-if="modelValue">
|
|
19
|
-
<template v-if="variant
|
|
19
|
+
<template v-if="variant === 'stars'">
|
|
20
20
|
<VcIcon
|
|
21
21
|
v-for="index in modelValue"
|
|
22
22
|
:key="index"
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
</template>
|
|
33
33
|
<template v-else>
|
|
34
34
|
<VcIcon
|
|
35
|
-
v-if="variant
|
|
35
|
+
v-if="variant === 'star-and-text'"
|
|
36
36
|
icon="fas fa-star"
|
|
37
37
|
class="vc-rating__icon"
|
|
38
38
|
></VcIcon>
|
|
@@ -68,7 +68,11 @@ defineSlots<{
|
|
|
68
68
|
|
|
69
69
|
<style lang="scss">
|
|
70
70
|
:root {
|
|
71
|
-
--rating-placeholder-color:
|
|
71
|
+
--rating-placeholder-color: var(--neutrals-400);
|
|
72
|
+
|
|
73
|
+
--rating-special-color: var(--warning-500);
|
|
74
|
+
--rating-special-color-hover: var(--warning-600);
|
|
75
|
+
--rating-special-color-disabled: var(--warning-200);
|
|
72
76
|
}
|
|
73
77
|
|
|
74
78
|
.vc-rating {
|
|
@@ -78,7 +82,7 @@ defineSlots<{
|
|
|
78
82
|
@apply tw-text-[color:var(--rating-placeholder-color)];
|
|
79
83
|
}
|
|
80
84
|
&__icon {
|
|
81
|
-
@apply tw-text-[color:var(--special-color)] tw-mr-1;
|
|
85
|
+
@apply tw-text-[color:var(--rating-special-color)] tw-mr-1;
|
|
82
86
|
font-size: inherit;
|
|
83
87
|
}
|
|
84
88
|
&__rating {
|