@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
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
|
-
class="vc-select
|
|
3
|
+
class="vc-select"
|
|
4
4
|
:class="{
|
|
5
5
|
'vc-select_opened': isOpened,
|
|
6
6
|
'vc-select_error': error,
|
|
7
7
|
'vc-select_disabled': disabled,
|
|
8
|
-
'
|
|
8
|
+
'vc-select_has-hint-or-error': error || hint,
|
|
9
9
|
}"
|
|
10
10
|
>
|
|
11
11
|
<!-- Select label -->
|
|
12
12
|
<VcLabel
|
|
13
13
|
v-if="label"
|
|
14
|
-
class="
|
|
14
|
+
class="vc-select__label"
|
|
15
15
|
:required="required"
|
|
16
16
|
:multilanguage="multilanguage"
|
|
17
17
|
:current-language="currentLanguage"
|
|
@@ -26,70 +26,66 @@
|
|
|
26
26
|
</VcLabel>
|
|
27
27
|
|
|
28
28
|
<!-- Select field -->
|
|
29
|
-
<div class="
|
|
29
|
+
<div class="vc-select__field-container">
|
|
30
30
|
<div
|
|
31
31
|
ref="dropdownToggleRef"
|
|
32
|
-
class="
|
|
32
|
+
class="vc-select__dropdown-toggle"
|
|
33
33
|
>
|
|
34
34
|
<slot
|
|
35
35
|
name="control"
|
|
36
36
|
:toggle-handler="toggleDropdown"
|
|
37
37
|
>
|
|
38
|
-
<div class="
|
|
38
|
+
<div class="vc-select__control">
|
|
39
39
|
<div
|
|
40
40
|
v-if="$slots['prepend']"
|
|
41
|
-
class="
|
|
41
|
+
class="vc-select__prepend"
|
|
42
42
|
>
|
|
43
43
|
<slot name="prepend"></slot>
|
|
44
44
|
</div>
|
|
45
|
-
<div class="
|
|
46
|
-
<div
|
|
47
|
-
class="
|
|
48
|
-
|
|
49
|
-
<div class="tw-flex tw-flex-col tw-flex-nowrap tw-flex-auto tw-relative">
|
|
50
|
-
<div class="tw-flex tw-flex-nowrap tw-flex-auto tw-h-full tw-px-3">
|
|
45
|
+
<div class="vc-select__field-wrapper">
|
|
46
|
+
<div class="vc-select__field">
|
|
47
|
+
<div class="vc-select__field-inner">
|
|
48
|
+
<div class="vc-select__field-content">
|
|
51
49
|
<div
|
|
52
50
|
v-if="$slots['prepend-inner']"
|
|
53
|
-
class="
|
|
51
|
+
class="vc-select__prepend-inner"
|
|
54
52
|
>
|
|
55
53
|
<slot name="prepend-inner"></slot>
|
|
56
54
|
</div>
|
|
57
|
-
<div class="
|
|
55
|
+
<div class="vc-select__field-main">
|
|
58
56
|
<div
|
|
59
57
|
v-if="prefix"
|
|
60
|
-
class="
|
|
58
|
+
class="vc-select__prefix"
|
|
61
59
|
>
|
|
62
60
|
{{ prefix }}
|
|
63
61
|
</div>
|
|
64
62
|
<div
|
|
65
63
|
data-test-id="dropdown-toggle"
|
|
66
|
-
class="
|
|
64
|
+
class="vc-select__input"
|
|
67
65
|
:class="{
|
|
68
|
-
'
|
|
69
|
-
'
|
|
66
|
+
'vc-select__input--default': size === 'default',
|
|
67
|
+
'vc-select__input--small': size === 'small',
|
|
70
68
|
}"
|
|
71
69
|
@click.stop="toggleDropdown"
|
|
72
70
|
>
|
|
73
71
|
<div
|
|
74
72
|
v-if="!hasValue"
|
|
75
|
-
class="
|
|
73
|
+
class="vc-select__placeholder"
|
|
76
74
|
>
|
|
77
75
|
<template v-if="placeholder">{{ placeholder }}</template>
|
|
78
76
|
<template v-else>{{ t("COMPONENTS.MOLECULES.VC_SELECT.CLICK_TO_SELECT") }}</template>
|
|
79
77
|
</div>
|
|
80
78
|
<template v-else-if="selectedScope && selectedScope.length && hasValue">
|
|
81
|
-
<div class="
|
|
79
|
+
<div class="vc-select__selected">
|
|
82
80
|
<div
|
|
83
81
|
v-for="(item, i) in selectedScope"
|
|
84
82
|
:key="i"
|
|
85
|
-
class="
|
|
83
|
+
class="vc-select__selected-item"
|
|
86
84
|
>
|
|
87
85
|
<template v-if="multiple">
|
|
88
|
-
<div
|
|
89
|
-
class="tw-bg-[#fbfdfe] tw-border tw-border-solid tw-border-[color:#bdd1df] tw-rounded-[2px] tw-flex tw-items-center tw-h-[28px] tw-box-border tw-px-2"
|
|
90
|
-
>
|
|
86
|
+
<div class="vc-select__multiple-item">
|
|
91
87
|
<template v-if="loading">
|
|
92
|
-
<span class="
|
|
88
|
+
<span class="vc-select__loading">{{
|
|
93
89
|
t("COMPONENTS.MOLECULES.VC_SELECT.LOADING")
|
|
94
90
|
}}</span>
|
|
95
91
|
</template>
|
|
@@ -103,7 +99,7 @@
|
|
|
103
99
|
</template>
|
|
104
100
|
<VcIcon
|
|
105
101
|
v-if="!disabled"
|
|
106
|
-
class="
|
|
102
|
+
class="vc-select__icon-remove"
|
|
107
103
|
icon="fas fa-times"
|
|
108
104
|
size="s"
|
|
109
105
|
@click.stop="removeAtIndex(item.index)"
|
|
@@ -112,7 +108,7 @@
|
|
|
112
108
|
</template>
|
|
113
109
|
<template v-else-if="!multiple">
|
|
114
110
|
<template v-if="loading">
|
|
115
|
-
<span class="
|
|
111
|
+
<span class="vc-select__loading">{{
|
|
116
112
|
t("COMPONENTS.MOLECULES.VC_SELECT.LOADING")
|
|
117
113
|
}}</span>
|
|
118
114
|
</template>
|
|
@@ -135,13 +131,13 @@
|
|
|
135
131
|
</div>
|
|
136
132
|
<div
|
|
137
133
|
v-if="suffix"
|
|
138
|
-
class="
|
|
134
|
+
class="vc-select__suffix"
|
|
139
135
|
>
|
|
140
136
|
{{ suffix }}
|
|
141
137
|
</div>
|
|
142
138
|
<div
|
|
143
139
|
v-if="clearable && hasValue && !disabled"
|
|
144
|
-
class="
|
|
140
|
+
class="vc-select__clear"
|
|
145
141
|
@click="onReset"
|
|
146
142
|
>
|
|
147
143
|
<VcIcon
|
|
@@ -152,14 +148,14 @@
|
|
|
152
148
|
</div>
|
|
153
149
|
<div
|
|
154
150
|
v-if="$slots['append-inner']"
|
|
155
|
-
class="
|
|
151
|
+
class="vc-select__append-inner"
|
|
156
152
|
>
|
|
157
153
|
<slot name="append-inner"></slot>
|
|
158
154
|
</div>
|
|
159
155
|
<!-- Loading-->
|
|
160
156
|
<div
|
|
161
157
|
v-if="loading || listLoading"
|
|
162
|
-
class="
|
|
158
|
+
class="vc-select__loading-icon"
|
|
163
159
|
>
|
|
164
160
|
<VcIcon
|
|
165
161
|
icon="fas fa-circle-notch tw-animate-spin"
|
|
@@ -169,12 +165,10 @@
|
|
|
169
165
|
<!-- Select chevron-->
|
|
170
166
|
<div
|
|
171
167
|
v-if="!disabled"
|
|
172
|
-
class="
|
|
168
|
+
class="vc-select__chevron-container"
|
|
173
169
|
@click.stop="toggleDropdown"
|
|
174
170
|
>
|
|
175
|
-
<div
|
|
176
|
-
class="vc-select__chevron tw-flex-nowrap tw-text-[color:var(--select-chevron-color)] hover:tw-text-[color:var(--select-chevron-color-hover)]"
|
|
177
|
-
>
|
|
171
|
+
<div class="vc-select__chevron">
|
|
178
172
|
<VcIcon
|
|
179
173
|
size="s"
|
|
180
174
|
icon="fas fa-chevron-down"
|
|
@@ -184,7 +178,7 @@
|
|
|
184
178
|
</div>
|
|
185
179
|
</div>
|
|
186
180
|
</div>
|
|
187
|
-
<div class="
|
|
181
|
+
<div class="vc-select__hint-error">
|
|
188
182
|
<Transition
|
|
189
183
|
name="slide-up"
|
|
190
184
|
mode="out-in"
|
|
@@ -193,7 +187,7 @@
|
|
|
193
187
|
<slot name="error">
|
|
194
188
|
<VcHint
|
|
195
189
|
v-if="errorMessage"
|
|
196
|
-
class="
|
|
190
|
+
class="vc-select__error-message"
|
|
197
191
|
>
|
|
198
192
|
{{ errorMessage }}
|
|
199
193
|
</VcHint>
|
|
@@ -203,7 +197,7 @@
|
|
|
203
197
|
<slot name="hint">
|
|
204
198
|
<VcHint
|
|
205
199
|
v-if="hint"
|
|
206
|
-
class="
|
|
200
|
+
class="vc-select__hint"
|
|
207
201
|
>
|
|
208
202
|
{{ hint }}
|
|
209
203
|
</VcHint>
|
|
@@ -215,7 +209,7 @@
|
|
|
215
209
|
|
|
216
210
|
<div
|
|
217
211
|
v-if="$slots['append']"
|
|
218
|
-
class="
|
|
212
|
+
class="vc-select__append"
|
|
219
213
|
>
|
|
220
214
|
<slot name="append"></slot>
|
|
221
215
|
</div>
|
|
@@ -229,13 +223,13 @@
|
|
|
229
223
|
ref="dropdownRef"
|
|
230
224
|
v-on-click-outside="[toggleDropdown, { ignore: [dropdownToggleRef] }]"
|
|
231
225
|
data-test-id="dropdown"
|
|
232
|
-
class="
|
|
226
|
+
class="vc-select__dropdown"
|
|
233
227
|
:style="dropdownStyle"
|
|
234
228
|
>
|
|
235
229
|
<input
|
|
236
230
|
v-if="searchable"
|
|
237
231
|
ref="searchRef"
|
|
238
|
-
class="
|
|
232
|
+
class="vc-select__search-input"
|
|
239
233
|
@input="onInput"
|
|
240
234
|
/>
|
|
241
235
|
|
|
@@ -245,19 +239,19 @@
|
|
|
245
239
|
>
|
|
246
240
|
<div
|
|
247
241
|
v-if="!(optionsList && optionsList.length)"
|
|
248
|
-
class="
|
|
242
|
+
class="vc-select__no-options"
|
|
249
243
|
>
|
|
250
244
|
<slot name="no-options">
|
|
251
|
-
<span class="
|
|
245
|
+
<span class="vc-select__no-options-text">No options</span>
|
|
252
246
|
</slot>
|
|
253
247
|
</div>
|
|
254
248
|
<div
|
|
255
249
|
v-for="(item, i) in optionScope"
|
|
256
250
|
v-else
|
|
257
251
|
:key="i"
|
|
258
|
-
class="
|
|
252
|
+
class="vc-select__option"
|
|
259
253
|
data-test-id="option"
|
|
260
|
-
:class="{ '
|
|
254
|
+
:class="{ 'vc-select__option--selected': item.selected }"
|
|
261
255
|
@click="item.toggleOption(item.opt)"
|
|
262
256
|
>
|
|
263
257
|
<slot
|
|
@@ -948,37 +942,189 @@ function onReset() {
|
|
|
948
942
|
--select-height: 38px;
|
|
949
943
|
--select-height-small: 28px;
|
|
950
944
|
--select-border-radius: 3px;
|
|
951
|
-
--select-border-color:
|
|
952
|
-
--select-border-color-error:
|
|
953
|
-
--select-background-color:
|
|
954
|
-
--select-background-color-disabled:
|
|
955
|
-
--select-placeholder-color:
|
|
956
|
-
--select-chevron-color:
|
|
957
|
-
--select-chevron-color-hover:
|
|
958
|
-
--select-clear-color:
|
|
959
|
-
--select-clear-color-hover:
|
|
945
|
+
--select-border-color: var(--secondary-200);
|
|
946
|
+
--select-border-color-error: var(--base-error-color, var(--danger-500));
|
|
947
|
+
--select-background-color: var(--additional-50);
|
|
948
|
+
--select-background-color-disabled: var(--neutrals-50);
|
|
949
|
+
--select-placeholder-color: var(--neutrals-400);
|
|
950
|
+
--select-chevron-color: var(--primary-500);
|
|
951
|
+
--select-chevron-color-hover: var(--primary-600);
|
|
952
|
+
--select-clear-color: var(--primary-500);
|
|
953
|
+
--select-clear-color-hover: var(--primary-600);
|
|
954
|
+
--select-disabled-field-color: var(--neutrals-700);
|
|
955
|
+
|
|
956
|
+
--select-loading-color: var(--info-500);
|
|
957
|
+
--select-option-background-color-hover: var(--accent-100);
|
|
958
|
+
--select-option-background-color-selected: var(--accent-200);
|
|
959
|
+
--select-border-color-input: var(--secondary-200);
|
|
960
|
+
|
|
961
|
+
--select-search-background-color: var(--additional-50);
|
|
960
962
|
}
|
|
961
963
|
|
|
962
964
|
.vc-select {
|
|
963
|
-
&
|
|
964
|
-
|
|
965
|
-
@apply tw-bg-[color:var(--select-background-color-disabled)] tw-text-[#424242];
|
|
965
|
+
&__container {
|
|
966
|
+
@apply tw-box-border tw-w-full;
|
|
966
967
|
}
|
|
967
968
|
|
|
968
|
-
&
|
|
969
|
-
@apply tw-
|
|
969
|
+
&__label {
|
|
970
|
+
@apply tw-mb-2;
|
|
971
|
+
}
|
|
972
|
+
|
|
973
|
+
&__field-container {
|
|
974
|
+
@apply tw-flex tw-flex-nowrap tw-items-start tw-relative;
|
|
975
|
+
}
|
|
976
|
+
|
|
977
|
+
&__dropdown-toggle {
|
|
978
|
+
@apply tw-flex tw-flex-auto tw-text-left tw-max-w-full;
|
|
979
|
+
}
|
|
980
|
+
|
|
981
|
+
&__control {
|
|
982
|
+
@apply tw-relative tw-flex tw-flex-auto tw-text-left tw-max-w-full;
|
|
983
|
+
}
|
|
984
|
+
|
|
985
|
+
&__prepend,
|
|
986
|
+
&__append {
|
|
987
|
+
@apply tw-flex tw-items-center tw-flex-nowrap tw-pr-3;
|
|
988
|
+
}
|
|
989
|
+
|
|
990
|
+
&__field-wrapper {
|
|
991
|
+
@apply tw-relative tw-flex tw-flex-auto tw-overflow-x-clip tw-truncate;
|
|
992
|
+
}
|
|
993
|
+
|
|
994
|
+
&__field {
|
|
995
|
+
@apply tw-truncate tw-relative tw-box-border tw-border tw-border-solid tw-border-[color:var(--select-border-color)] tw-rounded-sm tw-bg-[color:var(--select-background-color)] tw-flex tw-flex-col tw-flex-nowrap tw-flex-auto tw-items-stretch;
|
|
996
|
+
}
|
|
997
|
+
|
|
998
|
+
&__field-inner {
|
|
999
|
+
@apply tw-flex tw-flex-col tw-flex-nowrap tw-flex-auto tw-relative;
|
|
1000
|
+
}
|
|
1001
|
+
|
|
1002
|
+
&__field-content {
|
|
1003
|
+
@apply tw-flex tw-flex-nowrap tw-flex-auto tw-h-full tw-px-3;
|
|
1004
|
+
}
|
|
1005
|
+
|
|
1006
|
+
&__prepend-inner,
|
|
1007
|
+
&__append-inner {
|
|
1008
|
+
@apply tw-flex tw-items-center tw-flex-nowrap tw-pr-3;
|
|
1009
|
+
}
|
|
1010
|
+
|
|
1011
|
+
&__field-main {
|
|
1012
|
+
@apply tw-flex tw-flex-nowrap tw-flex-auto tw-h-full tw-truncate;
|
|
1013
|
+
}
|
|
1014
|
+
|
|
1015
|
+
&__prefix,
|
|
1016
|
+
&__suffix {
|
|
1017
|
+
@apply tw-flex tw-items-center tw-flex-wrap tw-pr-3 tw-pointer-events-none tw-text-sm;
|
|
1018
|
+
}
|
|
1019
|
+
|
|
1020
|
+
&__input {
|
|
1021
|
+
@apply tw-appearance-none tw-border-none tw-outline-none tw-flex tw-items-center tw-w-full tw-box-border tw-cursor-pointer invalid:tw-text-[color:var(--select-placeholder-color)] tw-truncate;
|
|
1022
|
+
|
|
1023
|
+
&--default {
|
|
1024
|
+
@apply tw-min-h-10;
|
|
1025
|
+
}
|
|
1026
|
+
|
|
1027
|
+
&--small {
|
|
1028
|
+
@apply tw-min-h-7;
|
|
1029
|
+
}
|
|
1030
|
+
}
|
|
1031
|
+
|
|
1032
|
+
&__placeholder {
|
|
1033
|
+
@apply tw-text-[color:var(--select-placeholder-color)] tw-text-sm;
|
|
1034
|
+
}
|
|
1035
|
+
|
|
1036
|
+
&__selected {
|
|
1037
|
+
@apply tw-flex tw-flex-wrap tw-gap-1 tw-py-1;
|
|
1038
|
+
}
|
|
1039
|
+
|
|
1040
|
+
&__selected-item {
|
|
1041
|
+
@apply tw-flex tw-items-center tw-text-sm;
|
|
970
1042
|
}
|
|
971
1043
|
|
|
972
|
-
&
|
|
973
|
-
@apply tw-
|
|
1044
|
+
&__multiple-item {
|
|
1045
|
+
@apply tw-bg-[color:var(--select-option-background-color-selected)] tw-border tw-border-solid tw-border-[color:var(--select-border-color)] tw-rounded-sm tw-flex tw-items-center tw-h-7 tw-box-border tw-px-2;
|
|
974
1046
|
}
|
|
975
1047
|
|
|
976
|
-
&
|
|
1048
|
+
&__loading {
|
|
1049
|
+
@apply tw-text-[color:var(--select-loading-color)];
|
|
1050
|
+
}
|
|
1051
|
+
|
|
1052
|
+
&__icon-remove {
|
|
1053
|
+
@apply tw-text-[color:var(--select-clear-color)] tw-ml-2 tw-cursor-pointer hover:tw-text-[color:var(--select-clear-color-hover)];
|
|
1054
|
+
}
|
|
1055
|
+
|
|
1056
|
+
&__clear {
|
|
1057
|
+
@apply tw-cursor-pointer tw-flex tw-items-center tw-pl-3 tw-text-[color:var(--select-clear-color)] hover:tw-text-[color:var(--select-clear-color-hover)];
|
|
1058
|
+
}
|
|
1059
|
+
|
|
1060
|
+
&__loading-icon {
|
|
1061
|
+
@apply tw-flex tw-items-center tw-flex-nowrap tw-pl-3 tw-text-[color:var(--select-loading-color)];
|
|
1062
|
+
}
|
|
1063
|
+
|
|
1064
|
+
&__chevron-container {
|
|
1065
|
+
@apply tw-flex tw-items-center tw-flex-nowrap tw-pl-3 tw-cursor-pointer;
|
|
1066
|
+
}
|
|
1067
|
+
|
|
1068
|
+
&__chevron {
|
|
1069
|
+
@apply tw-flex-nowrap tw-text-[color:var(--select-chevron-color)] hover:tw-text-[color:var(--select-chevron-color-hover)];
|
|
1070
|
+
}
|
|
1071
|
+
|
|
1072
|
+
&__hint-error {
|
|
1073
|
+
@apply tw-absolute tw-translate-y-full tw-left-0 tw-right-0 tw-bottom-0 tw-min-h-5;
|
|
1074
|
+
}
|
|
1075
|
+
|
|
1076
|
+
&__error-message {
|
|
1077
|
+
@apply tw-mt-1 tw-text-[color:var(--select-border-color-error)];
|
|
1078
|
+
}
|
|
1079
|
+
|
|
1080
|
+
&__hint {
|
|
1081
|
+
@apply tw-text-[color:var(--select-placeholder-color)] tw-mt-1 tw-break-words tw-p-0;
|
|
1082
|
+
}
|
|
1083
|
+
|
|
1084
|
+
&__dropdown {
|
|
1085
|
+
@apply tw-flex tw-flex-col tw-box-border tw-max-h-72 tw-h-auto tw-z-[101] tw-overflow-hidden tw-absolute tw-bg-[color:var(--select-background-color)] tw-border tw-border-solid tw-border-[color:var(--select-border-color)] tw-border-t-[color:var(--select-background-color)] tw-rounded-b-sm tw-p-2;
|
|
1086
|
+
}
|
|
1087
|
+
|
|
1088
|
+
&__search-input {
|
|
1089
|
+
@apply tw-w-full tw-box-border tw-border tw-border-solid tw-border-[color:var(--select-border-color-input)] tw-bg-[color:var(--select-search-background-color)] tw-rounded-md tw-h-8 tw-leading-8 tw-outline-none tw-mb-3 tw-px-2;
|
|
1090
|
+
}
|
|
1091
|
+
|
|
1092
|
+
&__no-options {
|
|
1093
|
+
@apply tw-w-full tw-h-full tw-box-border tw-flex tw-flex-col tw-items-center tw-justify-center;
|
|
1094
|
+
}
|
|
1095
|
+
|
|
1096
|
+
&__no-options-text {
|
|
1097
|
+
@apply tw-m-4 tw-text-lg tw-font-medium;
|
|
1098
|
+
}
|
|
1099
|
+
|
|
1100
|
+
&__option {
|
|
1101
|
+
@apply tw-flex tw-items-center tw-min-h-9 tw-my-1 tw-box-border tw-px-2 tw-rounded-sm tw-cursor-pointer hover:tw-bg-[color:var(--select-option-background-color-hover)] tw-text-sm;
|
|
1102
|
+
|
|
1103
|
+
&--selected {
|
|
1104
|
+
@apply tw-bg-[color:var(--select-option-background-color-selected)];
|
|
1105
|
+
}
|
|
1106
|
+
}
|
|
1107
|
+
|
|
1108
|
+
&.vc-select_opened &__chevron {
|
|
977
1109
|
@apply tw-rotate-180;
|
|
978
1110
|
}
|
|
979
1111
|
|
|
980
|
-
|
|
981
|
-
@apply tw-rounded-t-
|
|
1112
|
+
&.vc-select_opened &__field {
|
|
1113
|
+
@apply tw-rounded-t-sm tw-rounded-b-none;
|
|
1114
|
+
}
|
|
1115
|
+
|
|
1116
|
+
&.vc-select_error &__field-wrapper {
|
|
1117
|
+
@apply tw-border tw-border-solid tw-border-[color:var(--select-border-color-error)];
|
|
1118
|
+
}
|
|
1119
|
+
|
|
1120
|
+
&.vc-select_disabled &__field-wrapper,
|
|
1121
|
+
&.vc-select_disabled &__field,
|
|
1122
|
+
&.vc-select_disabled &__input {
|
|
1123
|
+
@apply tw-bg-[color:var(--select-background-color-disabled)] tw-text-[color:var(--select-disabled-field-color)] tw-cursor-auto;
|
|
1124
|
+
}
|
|
1125
|
+
|
|
1126
|
+
&.vc-select_has-hint-or-error {
|
|
1127
|
+
@apply tw-pb-5;
|
|
982
1128
|
}
|
|
983
1129
|
}
|
|
984
1130
|
</style>
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="vc-slider tw-relative">
|
|
3
3
|
<swiper
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
},
|
|
10
|
-
]"
|
|
4
|
+
class="vc-slider__swiper"
|
|
5
|
+
:class="{
|
|
6
|
+
'vc-slider__swiper_overflow-visible': overflow,
|
|
7
|
+
'vc-slider__swiper_navigation': navigation,
|
|
8
|
+
}"
|
|
11
9
|
:space-between="spaceBetweenSlides"
|
|
12
10
|
:navigation="buttonsList as any"
|
|
13
11
|
:slides-per-view="slidesPerView as any"
|
|
@@ -72,12 +70,27 @@ const buttonsList = computed(() => ({
|
|
|
72
70
|
}));
|
|
73
71
|
</script>
|
|
74
72
|
|
|
75
|
-
<style lang="scss"
|
|
73
|
+
<style lang="scss">
|
|
74
|
+
:root {
|
|
75
|
+
--slider-button-background: var(--additional-50);
|
|
76
|
+
--slider-button-border: var(--neutrals-300);
|
|
77
|
+
--slider-button-text: var(--primary-500);
|
|
78
|
+
--slider-button-text-disabled: var(--neutrals-400);
|
|
79
|
+
}
|
|
80
|
+
|
|
76
81
|
.vc-slider {
|
|
77
82
|
&__swiper {
|
|
78
83
|
.swiper-slide {
|
|
79
84
|
@apply tw-w-auto;
|
|
80
85
|
}
|
|
86
|
+
|
|
87
|
+
&.vc-slider__swiper_overflow-visible {
|
|
88
|
+
@apply tw-overflow-visible;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
&.vc-slider__swiper_navigation {
|
|
92
|
+
@apply tw-px-10;
|
|
93
|
+
}
|
|
81
94
|
}
|
|
82
95
|
|
|
83
96
|
&__next,
|
|
@@ -85,15 +98,21 @@ const buttonsList = computed(() => ({
|
|
|
85
98
|
@apply tw-absolute tw-top-2/4 -tw-translate-y-2/4 tw-z-[2];
|
|
86
99
|
|
|
87
100
|
&.swiper-button-disabled .vc-slider__btn {
|
|
88
|
-
@apply tw-text-[
|
|
101
|
+
@apply tw-text-[var(--slider-button-text-disabled)];
|
|
89
102
|
}
|
|
90
103
|
}
|
|
91
104
|
|
|
92
105
|
&__btn {
|
|
93
|
-
@apply tw-bg-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
106
|
+
@apply tw-bg-[var(--slider-button-background)] tw-border tw-border-solid tw-border-[var(--slider-button-border)];
|
|
107
|
+
@apply tw-box-border tw-rounded tw-flex tw-items-center tw-justify-center;
|
|
108
|
+
@apply tw-text-[var(--slider-button-text)] tw-w-8 tw-h-8;
|
|
109
|
+
@apply tw-transition tw-duration-200;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
&__prev {
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
&__next {
|
|
97
116
|
}
|
|
98
117
|
}
|
|
99
118
|
</style>
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<!-- Textarea label -->
|
|
10
10
|
<VcLabel
|
|
11
11
|
v-if="label"
|
|
12
|
-
class="
|
|
12
|
+
class="vc-textarea__label"
|
|
13
13
|
:required="required"
|
|
14
14
|
:multilanguage="multilanguage"
|
|
15
15
|
:current-language="currentLanguage"
|
|
@@ -87,19 +87,24 @@ function onInput(e: Event) {
|
|
|
87
87
|
<style lang="scss">
|
|
88
88
|
:root {
|
|
89
89
|
--textarea-height: 120px;
|
|
90
|
-
--textarea-border-color:
|
|
91
|
-
--textarea-border-color-error:
|
|
90
|
+
--textarea-border-color: var(--secondary-200);
|
|
91
|
+
--textarea-border-color-error: var(--base-error-color, var(--danger-500));
|
|
92
92
|
--textarea-border-radius: 3px;
|
|
93
|
-
--textarea-background-color:
|
|
94
|
-
--textarea-placeholder-color:
|
|
93
|
+
--textarea-background-color: var(--additional-50);
|
|
94
|
+
--textarea-placeholder-color: var(--neutrals-400);
|
|
95
|
+
--textarea-disabled-background-color: var(--neutrals-100);
|
|
96
|
+
--textarea-disabled-text-color: var(--neutrals-700);
|
|
95
97
|
}
|
|
96
98
|
|
|
97
99
|
.vc-textarea {
|
|
100
|
+
&__label {
|
|
101
|
+
@apply tw-mb-2;
|
|
102
|
+
}
|
|
103
|
+
|
|
98
104
|
&__field-wrapper {
|
|
99
105
|
@apply tw-border tw-border-solid
|
|
100
106
|
tw-border-[color:var(--textarea-border-color)]
|
|
101
|
-
tw-rounded-
|
|
102
|
-
tw-box-border
|
|
107
|
+
tw-rounded-sm tw-box-border
|
|
103
108
|
tw-bg-[color:var(--textarea-background-color)] tw-flex tw-items-stretch;
|
|
104
109
|
}
|
|
105
110
|
|
|
@@ -108,14 +113,14 @@ function onInput(e: Event) {
|
|
|
108
113
|
}
|
|
109
114
|
|
|
110
115
|
&__error {
|
|
111
|
-
@apply tw-text-[color:var(--textarea-border-color-error)] tw-mt-1
|
|
116
|
+
@apply tw-text-[color:var(--textarea-border-color-error)] tw-mt-1;
|
|
112
117
|
}
|
|
113
118
|
|
|
114
119
|
&__field {
|
|
115
120
|
@apply tw-w-full tw-resize-y tw-box-border tw-border-none tw-outline-none
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
121
|
+
tw-min-h-32
|
|
122
|
+
placeholder:tw-text-[color:var(--textarea-placeholder-color)]
|
|
123
|
+
tw-px-3 tw-py-2 tw-bg-[color:var(--textarea-background-color)] tw-text-sm;
|
|
119
124
|
|
|
120
125
|
&::-webkit-input-placeholder {
|
|
121
126
|
@apply tw-text-[color:var(--textarea-placeholder-color)];
|
|
@@ -132,7 +137,7 @@ function onInput(e: Event) {
|
|
|
132
137
|
|
|
133
138
|
&_disabled &__field-wrapper,
|
|
134
139
|
&_disabled &__field {
|
|
135
|
-
@apply tw-bg-[
|
|
140
|
+
@apply tw-bg-[var(--textarea-disabled-background-color)] tw-text-[var(--textarea-disabled-text-color)];
|
|
136
141
|
}
|
|
137
142
|
}
|
|
138
143
|
</style>
|