@vc-shell/framework 1.0.290 → 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.
Files changed (175) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/core/composables/index.ts +1 -0
  3. package/core/composables/useTheme/index.ts +60 -0
  4. package/core/directives/loading/styles.css +6 -1
  5. package/dist/core/composables/index.d.ts +1 -0
  6. package/dist/core/composables/index.d.ts.map +1 -1
  7. package/dist/core/composables/useTheme/index.d.ts +11 -0
  8. package/dist/core/composables/useTheme/index.d.ts.map +1 -0
  9. package/dist/framework.js +27885 -27365
  10. package/dist/index.css +1 -1
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/locales/en.json +6 -0
  13. package/dist/shared/components/app-bar-button/app-bar-button.vue.d.ts +56 -0
  14. package/dist/shared/components/app-bar-button/app-bar-button.vue.d.ts.map +1 -0
  15. package/dist/shared/components/app-bar-button/index.d.ts +2 -0
  16. package/dist/shared/components/app-bar-button/index.d.ts.map +1 -0
  17. package/dist/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue.d.ts.map +1 -1
  18. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts.map +1 -1
  19. package/dist/shared/components/index.d.ts +3 -0
  20. package/dist/shared/components/index.d.ts.map +1 -1
  21. package/dist/shared/components/language-selector/language-selector.vue.d.ts.map +1 -1
  22. package/dist/shared/components/notification-dropdown/notification-dropdown.vue.d.ts.map +1 -1
  23. package/dist/shared/components/notification-template/notification-template.vue.d.ts.map +1 -1
  24. package/dist/shared/components/sidebar/index.d.ts +2 -0
  25. package/dist/shared/components/sidebar/index.d.ts.map +1 -0
  26. package/dist/shared/components/sidebar/sidebar.vue.d.ts +49 -0
  27. package/dist/shared/components/sidebar/sidebar.vue.d.ts.map +1 -0
  28. package/dist/shared/components/theme-selector/index.d.ts +2 -0
  29. package/dist/shared/components/theme-selector/index.d.ts.map +1 -0
  30. package/dist/shared/components/theme-selector/theme-selector.vue.d.ts +3 -0
  31. package/dist/shared/components/theme-selector/theme-selector.vue.d.ts.map +1 -0
  32. package/dist/shared/components/user-dropdown-button/user-dropdown-button.vue.d.ts.map +1 -1
  33. package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts.map +1 -1
  34. package/dist/shared/modules/dynamic/types/index.d.ts +3 -0
  35. package/dist/shared/modules/dynamic/types/index.d.ts.map +1 -1
  36. package/dist/shared/pages/ChangePasswordPage/components/change-password/ChangePassword.vue.d.ts +16 -3
  37. package/dist/shared/pages/ChangePasswordPage/components/change-password/ChangePassword.vue.d.ts.map +1 -1
  38. package/dist/shared/pages/ChangePasswordPage/components/change-password/index.d.ts +7 -7
  39. package/dist/shared/pages/ChangePasswordPage/components/change-password/index.d.ts.map +1 -1
  40. package/dist/shared/pages/InvitePage/components/invite/Invite.vue.d.ts +24 -3
  41. package/dist/shared/pages/InvitePage/components/invite/Invite.vue.d.ts.map +1 -1
  42. package/dist/shared/pages/InvitePage/components/invite/index.d.ts +24 -1
  43. package/dist/shared/pages/InvitePage/components/invite/index.d.ts.map +1 -1
  44. package/dist/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue.d.ts +24 -3
  45. package/dist/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue.d.ts.map +1 -1
  46. package/dist/shared/pages/ResetPasswordPage/components/reset-password/index.d.ts +24 -1
  47. package/dist/shared/pages/ResetPasswordPage/components/reset-password/index.d.ts.map +1 -1
  48. package/dist/tailwind.config.d.ts +42 -15
  49. package/dist/tailwind.config.d.ts.map +1 -1
  50. package/dist/tsconfig.tsbuildinfo +1 -1
  51. package/dist/ui/components/atoms/vc-badge/vc-badge.vue.d.ts.map +1 -1
  52. package/dist/ui/components/atoms/vc-link/vc-link.vue.d.ts.map +1 -1
  53. package/dist/ui/components/atoms/vc-progress/vc-progress.vue.d.ts.map +1 -1
  54. package/dist/ui/components/atoms/vc-status/vc-status.vue.d.ts.map +1 -1
  55. package/dist/ui/components/atoms/vc-tooltip/vc-tooltip.vue.d.ts.map +1 -1
  56. package/dist/ui/components/atoms/vc-video/vc-video.vue.d.ts.map +1 -1
  57. package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue.d.ts.map +1 -1
  58. package/dist/ui/components/molecules/vc-checkbox/vc-checkbox.vue.d.ts.map +1 -1
  59. package/dist/ui/components/molecules/vc-field/_internal/vc-field-type/vc-field-type.vue.d.ts.map +1 -1
  60. package/dist/ui/components/molecules/vc-field/vc-field.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/vc-input.vue.d.ts.map +1 -1
  63. package/dist/ui/components/molecules/vc-slider/vc-slider.vue.d.ts.map +1 -1
  64. 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
  65. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue.d.ts.map +1 -1
  66. package/dist/ui/components/organisms/vc-app/vc-app.stories.d.ts +2 -0
  67. package/dist/ui/components/organisms/vc-app/vc-app.stories.d.ts.map +1 -1
  68. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts +2 -0
  69. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
  70. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue.d.ts.map +1 -1
  71. 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
  72. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue.d.ts.map +1 -1
  73. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue.d.ts.map +1 -1
  74. package/dist/ui/components/organisms/vc-table/_internal/vc-table-add-new/vc-table-add-new.vue.d.ts.map +1 -1
  75. package/dist/ui/components/organisms/vc-table/_internal/vc-table-base-header/vc-table-base-header.vue.d.ts +1 -0
  76. package/dist/ui/components/organisms/vc-table/_internal/vc-table-base-header/vc-table-base-header.vue.d.ts.map +1 -1
  77. package/dist/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue.d.ts.map +1 -1
  78. package/dist/ui/components/organisms/vc-table/_internal/vc-table-empty/vc-table-empty.vue.d.ts.map +1 -1
  79. package/dist/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue.d.ts +1 -0
  80. package/dist/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue.d.ts.map +1 -1
  81. package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue.d.ts.map +1 -1
  82. package/dist/ui/components/organisms/vc-table/vc-table.stories.d.ts +15 -0
  83. package/dist/ui/components/organisms/vc-table/vc-table.stories.d.ts.map +1 -1
  84. package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts +3 -0
  85. package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts.map +1 -1
  86. package/package.json +4 -4
  87. package/shared/components/app-bar-button/app-bar-button.vue +169 -0
  88. package/shared/components/app-bar-button/index.ts +1 -0
  89. package/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue +138 -38
  90. package/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue +10 -1
  91. package/shared/components/blade-navigation/composables/useBladeNavigation/index.ts +55 -30
  92. package/shared/components/change-password/change-password.vue +7 -1
  93. package/shared/components/common/popup/vc-popup-error.vue +1 -1
  94. package/shared/components/common/popup/vc-popup-warning.vue +1 -1
  95. package/shared/components/index.ts +3 -0
  96. package/shared/components/language-selector/language-selector.vue +55 -39
  97. package/shared/components/notification-dropdown/_internal/notification/notification.vue +7 -1
  98. package/shared/components/notification-dropdown/notification-dropdown.vue +96 -83
  99. package/shared/components/notification-template/notification-template.vue +66 -22
  100. package/shared/components/notifications/styles/index.scss +1 -0
  101. package/shared/components/sidebar/index.ts +1 -0
  102. package/shared/components/sidebar/sidebar.vue +96 -0
  103. package/shared/components/theme-selector/index.ts +1 -0
  104. package/shared/components/theme-selector/theme-selector.vue +95 -0
  105. package/shared/components/user-dropdown-button/user-dropdown-button.vue +139 -86
  106. package/shared/modules/assets/components/assets-details/assets-details.vue +9 -2
  107. package/shared/modules/assets-manager/components/assets-manager/assets-manager.vue +16 -6
  108. package/shared/modules/dynamic/composables/useFilterBuilder/index.ts +1 -1
  109. package/shared/modules/dynamic/helpers/nodeBuilder.ts +1 -1
  110. package/shared/modules/dynamic/pages/dynamic-blade-form.vue +6 -2
  111. package/shared/modules/dynamic/pages/dynamic-blade-list.vue +16 -2
  112. package/shared/modules/dynamic/types/index.ts +3 -0
  113. package/shared/pages/ChangePasswordPage/components/change-password/ChangePassword.vue +14 -9
  114. package/shared/pages/InvitePage/components/invite/Invite.vue +59 -15
  115. package/shared/pages/LoginPage/components/login/Login.vue +78 -22
  116. package/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue +67 -15
  117. package/tailwind.config.ts +281 -15
  118. package/ui/components/atoms/vc-badge/vc-badge.vue +38 -23
  119. package/ui/components/atoms/vc-button/vc-button.vue +37 -34
  120. package/ui/components/atoms/vc-card/vc-card.vue +17 -11
  121. package/ui/components/atoms/vc-col/vc-col.vue +4 -6
  122. package/ui/components/atoms/vc-container/vc-container.vue +26 -8
  123. package/ui/components/atoms/vc-hint/vc-hint.vue +8 -2
  124. package/ui/components/atoms/vc-icon/vc-icon.vue +3 -3
  125. package/ui/components/atoms/vc-image/vc-image.vue +33 -9
  126. package/ui/components/atoms/vc-label/vc-label.vue +38 -9
  127. package/ui/components/atoms/vc-link/vc-link.vue +15 -8
  128. package/ui/components/atoms/vc-loading/vc-loading.vue +37 -8
  129. package/ui/components/atoms/vc-progress/vc-progress.vue +29 -21
  130. package/ui/components/atoms/vc-row/vc-row.vue +4 -2
  131. package/ui/components/atoms/vc-status/vc-status.vue +29 -20
  132. package/ui/components/atoms/vc-status-icon/vc-status-icon.vue +20 -3
  133. package/ui/components/atoms/vc-switch/vc-switch.vue +41 -17
  134. package/ui/components/atoms/vc-tooltip/vc-tooltip.vue +35 -9
  135. package/ui/components/atoms/vc-video/vc-video.vue +28 -6
  136. package/ui/components/atoms/vc-widget/vc-widget.vue +59 -28
  137. package/ui/components/molecules/vc-breadcrumbs/_internal/vc-breadcrumbs-item/vc-breadcrumbs-item.vue +29 -27
  138. package/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue +34 -11
  139. package/ui/components/molecules/vc-checkbox/vc-checkbox.vue +43 -21
  140. package/ui/components/molecules/vc-editor/vc-editor.vue +70 -32
  141. package/ui/components/molecules/vc-field/_internal/vc-field-type/vc-field-type.vue +32 -16
  142. package/ui/components/molecules/vc-field/vc-field.vue +36 -13
  143. package/ui/components/molecules/vc-file-upload/vc-file-upload.vue +75 -25
  144. package/ui/components/molecules/vc-input/vc-input.vue +279 -218
  145. package/ui/components/molecules/vc-input-currency/vc-input-currency.vue +24 -2
  146. package/ui/components/molecules/vc-multivalue/vc-multivalue.vue +102 -64
  147. package/ui/components/molecules/vc-notification/vc-notification.vue +40 -15
  148. package/ui/components/molecules/vc-pagination/vc-pagination.vue +19 -15
  149. package/ui/components/molecules/vc-radio-button/vc-radio-button.vue +18 -23
  150. package/ui/components/molecules/vc-rating/vc-rating.vue +9 -5
  151. package/ui/components/molecules/vc-select/vc-select.vue +211 -65
  152. package/ui/components/molecules/vc-slider/vc-slider.vue +32 -13
  153. package/ui/components/molecules/vc-textarea/vc-textarea.vue +17 -12
  154. package/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue +68 -14
  155. package/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue +112 -122
  156. package/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue +213 -96
  157. package/ui/components/organisms/vc-app/vc-app.vue +41 -15
  158. package/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue +78 -30
  159. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue +81 -59
  160. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue +27 -13
  161. package/ui/components/organisms/vc-blade/vc-blade.vue +177 -46
  162. package/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue +40 -11
  163. package/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue +52 -18
  164. package/ui/components/organisms/vc-gallery/vc-gallery.vue +38 -6
  165. package/ui/components/organisms/vc-login-form/vc-login-form.vue +40 -14
  166. package/ui/components/organisms/vc-popup/vc-popup.vue +186 -44
  167. package/ui/components/organisms/vc-table/_internal/vc-table-add-new/vc-table-add-new.vue +25 -6
  168. package/ui/components/organisms/vc-table/_internal/vc-table-base-header/vc-table-base-header.vue +48 -12
  169. package/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue +130 -60
  170. package/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue +55 -7
  171. package/ui/components/organisms/vc-table/_internal/vc-table-counter/vc-table-counter.vue +17 -5
  172. package/ui/components/organisms/vc-table/_internal/vc-table-empty/vc-table-empty.vue +38 -6
  173. package/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue +111 -62
  174. package/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue +139 -46
  175. package/ui/components/organisms/vc-table/vc-table.vue +370 -128
@@ -14,7 +14,7 @@
14
14
  background="contain"
15
15
  ></VcImage>
16
16
  <div class="vc-gallery-item__overlay">
17
- <div class="tw-flex">
17
+ <div class="vc-gallery-item__overlay-content">
18
18
  <VcIcon
19
19
  v-if="!readonly && !disableDrag"
20
20
  class="vc-gallery-item__move"
@@ -22,13 +22,13 @@
22
22
  size="s"
23
23
  ></VcIcon>
24
24
  <div
25
- class="tw-truncate"
25
+ class="vc-gallery-item__image-name"
26
26
  :title="image.name"
27
27
  >
28
28
  {{ image.name }}
29
29
  </div>
30
30
  </div>
31
- <div class="tw-flex tw-grow tw-basis-0 tw-items-center tw-justify-around">
31
+ <div class="vc-gallery-item__actions">
32
32
  <div
33
33
  v-if="actions && actions.preview"
34
34
  class="vc-gallery-item__button"
@@ -38,7 +38,9 @@
38
38
  class="vc-gallery-item__button-icon"
39
39
  icon="fas fa-eye"
40
40
  ></VcIcon>
41
- <div class="tw-mt-2">{{ t("COMPONENTS.ORGANISMS.VC_GALLERY.INTERNAL.VC_GALLERY_ITEM.FULLSCREEN") }}</div>
41
+ <div class="vc-gallery-item__button-text">
42
+ {{ t("COMPONENTS.ORGANISMS.VC_GALLERY.INTERNAL.VC_GALLERY_ITEM.FULLSCREEN") }}
43
+ </div>
42
44
  </div>
43
45
  <div
44
46
  v-if="!readonly && actions && actions.edit"
@@ -49,7 +51,9 @@
49
51
  class="vc-gallery-item__button-icon"
50
52
  icon="fas fa-pen"
51
53
  ></VcIcon>
52
- <div class="tw-mt-2">{{ $t("COMPONENTS.ORGANISMS.VC_GALLERY.INTERNAL.VC_GALLERY_ITEM.EDIT") }}</div>
54
+ <div class="vc-gallery-item__button-text">
55
+ {{ $t("COMPONENTS.ORGANISMS.VC_GALLERY.INTERNAL.VC_GALLERY_ITEM.EDIT") }}
56
+ </div>
53
57
  </div>
54
58
  <div
55
59
  v-if="!readonly && actions && actions.remove"
@@ -60,7 +64,9 @@
60
64
  class="vc-gallery-item__button-icon"
61
65
  icon="fas fa-trash"
62
66
  ></VcIcon>
63
- <div class="tw-mt-2">{{ $t("COMPONENTS.ORGANISMS.VC_GALLERY.INTERNAL.VC_GALLERY_ITEM.DELETE") }}</div>
67
+ <div class="vc-gallery-item__button-text">
68
+ {{ $t("COMPONENTS.ORGANISMS.VC_GALLERY.INTERNAL.VC_GALLERY_ITEM.DELETE") }}
69
+ </div>
64
70
  </div>
65
71
  </div>
66
72
  </div>
@@ -107,28 +113,51 @@ function onClose() {
107
113
  </script>
108
114
 
109
115
  <style lang="scss">
116
+ :root {
117
+ --gallery-item-border-color: var(--secondary-200);
118
+ --gallery-item-overlay-bg-color: var(--primary-100);
119
+ --gallery-item-move-icon-color: var(--secondary-300);
120
+ --gallery-item-button-icon-color: var(--primary-500);
121
+ }
122
+
110
123
  .vc-gallery-item {
111
- @apply tw-relative tw-w-[155px] tw-h-[155px] tw-box-border tw-border tw-border-solid tw-border-[#d3dae9] tw-rounded-md tw-p-1;
124
+ @apply tw-relative tw-w-[155px] tw-h-[155px] tw-box-border tw-border tw-border-solid tw-border-[var(--gallery-item-border-color)] tw-rounded-md tw-p-1;
112
125
 
113
126
  &__overlay {
114
- @apply tw-bg-[rgba(238,246,252,0.97)] tw-flex-col tw-p-2 tw-opacity-0 tw-flex tw-absolute tw-left-0 tw-top-0 tw-right-0 tw-bottom-0 tw-transition tw-duration-200;
127
+ @apply tw-bg-[var(--gallery-item-overlay-bg-color)] tw-opacity-0 tw-flex tw-flex-col tw-p-2 tw-absolute tw-left-0 tw-top-0 tw-right-0 tw-bottom-0 tw-transition-opacity tw-duration-200;
115
128
  }
116
129
 
117
130
  &:hover &__overlay,
118
- .vc-app_touch &_hover &__overlay {
131
+ .vc-app_touch &__hover &__overlay {
119
132
  @apply tw-opacity-100;
120
133
  }
121
134
 
122
135
  &__move {
123
- @apply tw-text-[#a1c0d4] tw-cursor-move tw-mr-2;
136
+ @apply tw-text-[var(--gallery-item-move-icon-color)] tw-cursor-move tw-mr-2;
124
137
  }
125
138
 
126
139
  &__button {
127
140
  @apply tw-cursor-pointer tw-flex tw-flex-col tw-items-center;
128
141
 
129
142
  &-icon {
130
- @apply tw-text-[#319ed4];
143
+ @apply tw-text-[var(--gallery-item-button-icon-color)];
131
144
  }
145
+
146
+ &-text {
147
+ @apply tw-mt-2 tw-text-sm;
148
+ }
149
+ }
150
+
151
+ &__overlay-content {
152
+ @apply tw-flex;
153
+ }
154
+
155
+ &__image-name {
156
+ @apply tw-truncate tw-text-sm;
157
+ }
158
+
159
+ &__actions {
160
+ @apply tw-flex tw-grow tw-basis-0 tw-items-center tw-justify-around;
132
161
  }
133
162
  }
134
163
  </style>
@@ -11,22 +11,22 @@
11
11
  <template #header>
12
12
  <div>
13
13
  <span>{{ currentImage.name }} (</span>
14
- <VcLink @click="copyLink(currentImage.url ?? '')">{{
15
- t("COMPONENTS.ORGANISMS.VC_GALLERY.INTERNAL.VC_GALLERY_PREVIEW.COPY_IMAGE_LINK")
16
- }}</VcLink>
14
+ <VcLink @click="copyLink(currentImage.url ?? '')">
15
+ {{ t("COMPONENTS.ORGANISMS.VC_GALLERY.INTERNAL.VC_GALLERY_PREVIEW.COPY_IMAGE_LINK") }}
16
+ </VcLink>
17
17
  <span>)</span>
18
18
  </div>
19
19
  </template>
20
20
  <template #content>
21
- <div class="tw-w-full tw-h-full tw-box-border tw-flex tw-flex-col tw-items-center">
22
- <div class="tw-box-border p-5 tw-grow tw-basis-0 tw-w-full">
21
+ <div class="vc-gallery-preview__content">
22
+ <div class="vc-gallery-preview__image-container">
23
23
  <div
24
- class="tw-w-full tw-h-full tw-box-border"
24
+ class="vc-gallery-preview__image-handler"
25
25
  :style="imageHandler"
26
26
  ></div>
27
27
  <button
28
28
  v-if="localIndex > 0"
29
- class="tw-absolute tw-top-2/4 -tw-mt-9 tw-h-[72px] tw-w-[72px] tw-flex tw-items-center tw-justify-center tw-rounded-full tw-bg-[#f1f6fa] tw-cursor-pointer tw-text-[#a1c0d4] [--icon-size-xl: 36px] hover:tw-shadow-[0_0_20px_rgba(31,40,50,0.15)] tw-left-[25px]"
29
+ class="vc-gallery-preview__nav-btn vc-gallery-preview__nav-btn_left"
30
30
  @click="localIndex--"
31
31
  >
32
32
  <VcIcon
@@ -36,7 +36,7 @@
36
36
  </button>
37
37
  <button
38
38
  v-if="localIndex < images.length - 1"
39
- class="tw-absolute tw-top-2/4 -tw-mt-9 tw-h-[72px] tw-w-[72px] tw-flex tw-items-center tw-justify-center tw-rounded-full tw-bg-[#f1f6fa] tw-cursor-pointer tw-text-[#a1c0d4] [--icon-size-xl: 36px] hover:tw-shadow-[0_0_20px_rgba(31,40,50,0.15)] tw-right-[25px]"
39
+ class="vc-gallery-preview__nav-btn vc-gallery-preview__nav-btn_right"
40
40
  @click="localIndex++"
41
41
  >
42
42
  <VcIcon
@@ -45,14 +45,12 @@
45
45
  ></VcIcon>
46
46
  </button>
47
47
  </div>
48
- <div class="tw-p-4 tw-pb-[40px] tw-max-w-full tw-overflow-x-auto tw-box-border tw-shrink tw-flex">
48
+ <div class="vc-gallery-preview__thumbnails">
49
49
  <div
50
50
  v-for="(item, i) in images"
51
51
  :key="i"
52
- class="tw-m-1 tw-opacity-60"
53
- :class="{
54
- 'vc-gallery-preview__images-item_current': i === localIndex,
55
- }"
52
+ class="vc-gallery-preview__thumbnail"
53
+ :class="{ 'vc-gallery-preview__thumbnail_current': i === localIndex }"
56
54
  >
57
55
  <VcImage
58
56
  :src="item.url"
@@ -120,12 +118,48 @@ function handleKeyDown(event: KeyboardEvent) {
120
118
  </script>
121
119
 
122
120
  <style lang="scss">
121
+ :root {
122
+ --gallery-preview-btn-bg-color: var(--secondary-50);
123
+ --gallery-preview-btn-icon-color: var(--secondary-400);
124
+ --gallery-preview-btn-shadow-color: var(--base-text-color, var(--neutrals-950));
125
+ --gallery-preview-btn-shadow: 0 0 20px rgb(from var(--gallery-preview-btn-shadow-color) r g b / 15%);
126
+ --gallery-preview-overlay-color: var(--primary-400);
127
+ }
128
+
123
129
  .vc-gallery-preview {
124
- &__images {
125
- &-item {
126
- &_current {
127
- @apply tw-relative tw-opacity-100 after:tw-content-[""] after:tw-bg-[#43b0e6] after:tw-h-1 after:tw-w-full after:tw-rounded-[5px] after:tw-absolute after:tw-left-0 after:-tw-bottom-[12px];
128
- }
130
+ &__content {
131
+ @apply tw-w-full tw-h-full tw-box-border tw-flex tw-flex-col tw-items-center;
132
+ }
133
+
134
+ &__image-container {
135
+ @apply tw-box-border tw-p-5 tw-grow tw-basis-0 tw-w-full tw-relative;
136
+ }
137
+
138
+ &__image-handler {
139
+ @apply tw-w-full tw-h-full tw-box-border;
140
+ }
141
+
142
+ &__nav-btn {
143
+ @apply tw-absolute tw-top-2/4 tw-h-[72px] tw-w-[72px] tw-flex tw-items-center tw-justify-center tw-rounded-full tw-bg-[var(--gallery-preview-btn-bg-color)] tw-cursor-pointer tw-text-[color:var(--gallery-preview-btn-icon-color)] hover:[box-shadow:var(--gallery-preview-btn-shadow)];
144
+
145
+ &_left {
146
+ @apply tw-left-[25px];
147
+ }
148
+
149
+ &_right {
150
+ @apply tw-right-[25px];
151
+ }
152
+ }
153
+
154
+ &__thumbnails {
155
+ @apply tw-p-4 tw-pb-[40px] tw-max-w-full tw-overflow-x-auto tw-box-border tw-shrink tw-flex;
156
+ }
157
+
158
+ &__thumbnail {
159
+ @apply tw-m-1 tw-opacity-60;
160
+
161
+ &_current {
162
+ @apply tw-opacity-100 tw-relative after:tw-content-[''] after:tw-bg-[var(--gallery-preview-overlay-color)] after:tw-h-1 after:tw-w-full after:tw-rounded-[5px] after:tw-absolute after:tw-left-0 after:-tw-bottom-[12px];
129
163
  }
130
164
  }
131
165
  }
@@ -13,15 +13,15 @@
13
13
  </VcLabel>
14
14
 
15
15
  <template v-if="(defaultImages && defaultImages.length) || !disabled">
16
- <div class="tw-flex tw-flex-wrap tw-relative">
16
+ <div class="vc-gallery__container">
17
17
  <div
18
18
  ref="galleryRef"
19
- class="tw-flex tw-flex-wrap tw-w-full"
19
+ class="vc-gallery__wrapper"
20
20
  >
21
21
  <VcGalleryItem
22
22
  v-for="(image, i) in defaultImages"
23
23
  :key="`image_${i}`"
24
- class="tw-m-2 vc-gallery__item"
24
+ class="vc-gallery__item"
25
25
  :image="image"
26
26
  :readonly="disabled"
27
27
  :actions="itemActions"
@@ -37,7 +37,7 @@
37
37
  ></VcGalleryItem>
38
38
  <VcFileUpload
39
39
  v-if="!disabled && !uploadHidden"
40
- class="tw-m-2"
40
+ class="vc-gallery__upload"
41
41
  :icon="uploadIcon"
42
42
  :variant="variant"
43
43
  :multiple="multiple"
@@ -50,13 +50,13 @@
50
50
  </div>
51
51
  <div
52
52
  ref="reorderGalleryRef"
53
- class="tw-w-0.5 tw-bg-[#41afe6] tw-h-full tw-absolute tw-top-0 tw-bottom-0 tw-z-[2] tw-hidden"
53
+ class="vc-gallery__reorder-line"
54
54
  ></div>
55
55
  </div>
56
56
  </template>
57
57
  <div
58
58
  v-else
59
- class="tw-flex tw-justify-center tw-p-5 tw-h-full tw-items-center"
59
+ class="vc-gallery__empty"
60
60
  >
61
61
  <VcHint>{{ t("COMPONENTS.ORGANISMS.VC_GALLERY.GALLERY_IS_EMPTY") }}</VcHint>
62
62
  </div>
@@ -313,3 +313,35 @@ function findParentElement(element: HTMLElement) {
313
313
  }
314
314
  }
315
315
  </script>
316
+
317
+ <style lang="scss">
318
+ :root {
319
+ --gallery-reorder-color: var(--primary-500);
320
+ }
321
+
322
+ .vc-gallery {
323
+ &__container {
324
+ @apply tw-flex tw-flex-wrap tw-relative;
325
+ }
326
+
327
+ &__wrapper {
328
+ @apply tw-flex tw-flex-wrap tw-w-full;
329
+ }
330
+
331
+ &__item {
332
+ @apply tw-m-2;
333
+ }
334
+
335
+ &__upload {
336
+ @apply tw-m-2;
337
+ }
338
+
339
+ &__reorder-line {
340
+ @apply tw-w-0.5 tw-bg-[color:var(--gallery-reorder-color)] tw-h-full tw-absolute tw-top-0 tw-bottom-0 tw-z-[2] tw-hidden;
341
+ }
342
+
343
+ &__empty {
344
+ @apply tw-flex tw-justify-center tw-p-5 tw-h-full tw-items-center;
345
+ }
346
+ }
347
+ </style>
@@ -1,27 +1,21 @@
1
1
  <template>
2
2
  <div
3
- class="tw-w-full tw-h-full tw-box-border tw-flex tw-flex-col tw-items-center tw-justify-center"
3
+ class="vc-login-form__container"
4
4
  :style="backgroundImageHandler"
5
5
  >
6
6
  <div
7
- class="tw-h-[80px] tw-w-[516px] tw-max-w-[90%] tw-mb-[50px] -tw-mt-[90px]"
7
+ class="vc-login-form__logo"
8
8
  :style="logoImageHandler"
9
9
  ></div>
10
- <div
11
- class="tw-w-[516px] tw-max-w-[90%] tw-bg-white tw-rounded-md tw-overflow-hidden tw-shadow-[0_0_0_rgba(0,0,0,0.05)]"
12
- >
13
- <div
14
- class="tw-uppercase tw-text-white tw-bg-[#465769] tw-h-[50px] tw-px-[28px] tw-text-xl tw-flex tw-items-center"
15
- >
10
+ <div class="vc-login-form__box">
11
+ <div class="vc-login-form__header">
16
12
  {{ title }}
17
13
  </div>
18
- <div class="tw-pt-4 tw-px-[28px] tw-pb-[24px]">
14
+ <div class="vc-login-form__content">
19
15
  <slot></slot>
20
16
  </div>
21
17
  </div>
22
- <div
23
- class="tw-absolute tw-bottom-[2px] tw-left-[93px] tw-text-[color:var(--login-version-color)] tw-text-xs tw-mt-auto tw-self-center tw-p-1"
24
- >
18
+ <div class="vc-login-form__version">
25
19
  {{ version }}
26
20
  </div>
27
21
  </div>
@@ -56,7 +50,7 @@ const backgroundImageHandler = computed(() => {
56
50
 
57
51
  const logoImageHandler = computed(() => {
58
52
  if (props.logo) {
59
- return `background: url(${CSS.escape(props.logo)}) center / contain no-repeat`;
53
+ return `background: url(${CSS.escape(props.logo)}) center / contain no-repeat`;
60
54
  }
61
55
  return undefined;
62
56
  });
@@ -68,6 +62,38 @@ console.debug("Init vc-login-form");
68
62
 
69
63
  <style lang="scss">
70
64
  :root {
71
- --login-version-color: #838d9a;
65
+ --login-version-color: var(--neutrals-400);
66
+ --login-header-bg-color: var(--secondary-700);
67
+ --login-box-shadow-color: var(--additional-950);
68
+ --login-box-shadow: rgb(from var(--login-box-shadow-color) r g b / 5%);
69
+ --login-bg-color: var(--additional-50);
70
+ --login-title-color: var(--additional-50);
71
+ --login-title-bg: var(--secondary-700);
72
+ }
73
+
74
+ .vc-login-form {
75
+ &__container {
76
+ @apply tw-w-full tw-h-full tw-box-border tw-flex tw-flex-col tw-items-center tw-justify-center;
77
+ }
78
+
79
+ &__logo {
80
+ @apply tw-h-20 tw-w-[516px] tw-max-w-[90%] tw-mb-12 -tw-mt-24;
81
+ }
82
+
83
+ &__box {
84
+ @apply tw-w-[516px] tw-max-w-[90%] tw-bg-[var(--login-bg-color)] tw-rounded-md tw-overflow-hidden [box-shadow:var(--login-box-shadow)];
85
+ }
86
+
87
+ &__header {
88
+ @apply tw-uppercase tw-text-[var(--login-title-color)] tw-bg-[var(--login-title-bg)] tw-h-12 tw-px-7 tw-text-lg tw-flex tw-items-center;
89
+ }
90
+
91
+ &__content {
92
+ @apply tw-pt-4 tw-px-7 tw-pb-6;
93
+ }
94
+
95
+ &__version {
96
+ @apply tw-absolute tw-bottom-0.5 tw-left-[93px] tw-text-[var(--login-version-color)] tw-text-xs tw-mt-auto tw-self-center tw-p-1;
97
+ }
72
98
  }
73
99
  </style>