@vc-shell/framework 1.0.39 → 1.0.41

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 (212) hide show
  1. package/core/composables/usePermissions/index.ts +1 -1
  2. package/core/composables/useSettings/index.ts +31 -5
  3. package/core/types/index.ts +12 -12
  4. package/dist/core/composables/useSettings/index.d.ts +10 -1
  5. package/dist/core/composables/useSettings/index.d.ts.map +1 -1
  6. package/dist/core/types/index.d.ts.map +1 -1
  7. package/dist/framework.js +69 -69
  8. package/dist/framework.js.map +1 -1
  9. package/dist/index.d.ts +3 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/shared/blade-navigation/types/index.d.ts.map +1 -1
  12. package/dist/style.css +1 -1
  13. package/dist/tsconfig.tsbuildinfo +1 -1
  14. package/dist/ui/components/atoms/vc-badge/index.d.ts +5 -0
  15. package/dist/ui/components/atoms/vc-badge/index.d.ts.map +1 -0
  16. package/dist/ui/components/atoms/vc-badge/vc-badge-model.d.ts +28 -0
  17. package/dist/ui/components/atoms/vc-badge/vc-badge-model.d.ts.map +1 -0
  18. package/dist/{components → ui/components}/atoms/vc-badge/vc-badge.stories.d.ts +0 -0
  19. package/dist/ui/components/atoms/vc-badge/vc-badge.stories.d.ts.map +1 -0
  20. package/dist/ui/components/atoms/vc-button/index.d.ts +5 -0
  21. package/dist/ui/components/atoms/vc-button/index.d.ts.map +1 -0
  22. package/dist/ui/components/atoms/vc-button/vc-button-model.d.ts +28 -0
  23. package/dist/ui/components/atoms/vc-button/vc-button-model.d.ts.map +1 -0
  24. package/dist/{components → ui/components}/atoms/vc-button/vc-button.stories.d.ts +0 -0
  25. package/dist/ui/components/atoms/vc-button/vc-button.stories.d.ts.map +1 -0
  26. package/dist/{components → ui/components}/atoms/vc-checkbox/vc-checkbox.stories.d.ts +0 -0
  27. package/dist/ui/components/atoms/vc-checkbox/vc-checkbox.stories.d.ts.map +1 -0
  28. package/dist/{components → ui/components}/atoms/vc-container/vc-container.stories.d.ts +0 -0
  29. package/dist/ui/components/atoms/vc-container/vc-container.stories.d.ts.map +1 -0
  30. package/dist/{components → ui/components}/atoms/vc-hint/vc-hint.stories.d.ts +0 -0
  31. package/dist/ui/components/atoms/vc-hint/vc-hint.stories.d.ts.map +1 -0
  32. package/dist/{components → ui/components}/atoms/vc-icon/vc-icon.stories.d.ts +0 -0
  33. package/dist/ui/components/atoms/vc-icon/vc-icon.stories.d.ts.map +1 -0
  34. package/dist/{components → ui/components}/atoms/vc-image/vc-image.stories.d.ts +0 -0
  35. package/dist/ui/components/atoms/vc-image/vc-image.stories.d.ts.map +1 -0
  36. package/dist/{components → ui/components}/atoms/vc-label/vc-label.stories.d.ts +0 -0
  37. package/dist/ui/components/atoms/vc-label/vc-label.stories.d.ts.map +1 -0
  38. package/dist/{components → ui/components}/atoms/vc-link/vc-link.stories.d.ts +0 -0
  39. package/dist/ui/components/atoms/vc-link/vc-link.stories.d.ts.map +1 -0
  40. package/dist/{components → ui/components}/atoms/vc-progress/vc-progress.stories.d.ts +0 -0
  41. package/dist/ui/components/atoms/vc-progress/vc-progress.stories.d.ts.map +1 -0
  42. package/dist/{components → ui/components}/atoms/vc-status/vc-status.stories.d.ts +0 -0
  43. package/dist/ui/components/atoms/vc-status/vc-status.stories.d.ts.map +1 -0
  44. package/dist/{components → ui/components}/atoms/vc-switch/vc-switch.stories.d.ts +0 -0
  45. package/dist/ui/components/atoms/vc-switch/vc-switch.stories.d.ts.map +1 -0
  46. package/dist/{components → ui/components}/index.d.ts +4 -3
  47. package/dist/ui/components/index.d.ts.map +1 -0
  48. package/dist/{components → ui/components}/molecules/vc-breadcrumbs/vc-breadcrumbs.stories.d.ts +0 -0
  49. package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.stories.d.ts.map +1 -0
  50. package/dist/{components → ui/components}/molecules/vc-form/vc-form.stories.d.ts +0 -0
  51. package/dist/ui/components/molecules/vc-form/vc-form.stories.d.ts.map +1 -0
  52. package/dist/ui/components/molecules/vc-input/index.d.ts +5 -0
  53. package/dist/ui/components/molecules/vc-input/index.d.ts.map +1 -0
  54. package/dist/ui/components/molecules/vc-input/vc-input-model.d.ts +140 -0
  55. package/dist/ui/components/molecules/vc-input/vc-input-model.d.ts.map +1 -0
  56. package/dist/ui/components/molecules/vc-input-currency/index.d.ts +5 -0
  57. package/dist/ui/components/molecules/vc-input-currency/index.d.ts.map +1 -0
  58. package/dist/ui/components/molecules/vc-input-currency/vc-input-currency-model.d.ts +124 -0
  59. package/dist/ui/components/molecules/vc-input-currency/vc-input-currency-model.d.ts.map +1 -0
  60. package/dist/{components → ui/components}/molecules/vc-pagination/vc-pagination.stories.d.ts +0 -0
  61. package/dist/ui/components/molecules/vc-pagination/vc-pagination.stories.d.ts.map +1 -0
  62. package/dist/{components → ui/components}/molecules/vc-rating/vc-rating.stories.d.ts +0 -0
  63. package/dist/ui/components/molecules/vc-rating/vc-rating.stories.d.ts.map +1 -0
  64. package/dist/ui/components/molecules/vc-select/index.d.ts +5 -0
  65. package/dist/ui/components/molecules/vc-select/index.d.ts.map +1 -0
  66. package/dist/ui/components/molecules/vc-select/vc-select-model.d.ts +207 -0
  67. package/dist/ui/components/molecules/vc-select/vc-select-model.d.ts.map +1 -0
  68. package/dist/{components → ui/components}/molecules/vc-textarea/vc-textarea.stories.d.ts +0 -0
  69. package/dist/ui/components/molecules/vc-textarea/vc-textarea.stories.d.ts.map +1 -0
  70. package/dist/{components → ui/components}/organisms/vc-app/vc-app.stories.d.ts +0 -0
  71. package/dist/ui/components/organisms/vc-app/vc-app.stories.d.ts.map +1 -0
  72. package/dist/{components → ui/components}/organisms/vc-blade/vc-blade.stories.d.ts +0 -0
  73. package/dist/ui/components/organisms/vc-blade/vc-blade.stories.d.ts.map +1 -0
  74. package/dist/{components → ui/components}/organisms/vc-login-form/vc-login-form.stories.d.ts +0 -0
  75. package/dist/ui/components/organisms/vc-login-form/vc-login-form.stories.d.ts.map +1 -0
  76. package/dist/{components → ui/components}/organisms/vc-popup/vc-popup.stories.d.ts +0 -0
  77. package/dist/ui/components/organisms/vc-popup/vc-popup.stories.d.ts.map +1 -0
  78. package/dist/{components → ui/components}/organisms/vc-table/vc-table.stories.d.ts +0 -0
  79. package/dist/ui/components/organisms/vc-table/vc-table.stories.d.ts.map +1 -0
  80. package/dist/ui/types/index.d.ts +13 -0
  81. package/dist/ui/types/index.d.ts.map +1 -0
  82. package/dist/ui/types/ts-helpers.d.ts +13 -0
  83. package/dist/ui/types/ts-helpers.d.ts.map +1 -0
  84. package/dist/vite.config.d.ts.map +1 -1
  85. package/package.json +27 -10
  86. package/shared/app-switcher/components/vc-app-switcher/vc-app-switcher.vue +13 -10
  87. package/shared/assets/components/assets-details/assets-details.vue +12 -12
  88. package/shared/blade-navigation/composables/useBladeNavigation/index.ts +4 -4
  89. package/shared/blade-navigation/types/index.ts +25 -25
  90. package/tailwind.config.js +4 -3
  91. package/ui/components/atoms/vc-badge/index.ts +7 -0
  92. package/ui/components/atoms/vc-badge/vc-badge-model.ts +30 -0
  93. package/{components → ui/components}/atoms/vc-badge/vc-badge.stories.ts +0 -0
  94. package/ui/components/atoms/vc-badge/vc-badge.vue +57 -0
  95. package/ui/components/atoms/vc-button/index.ts +7 -0
  96. package/ui/components/atoms/vc-button/vc-button-model.ts +30 -0
  97. package/{components → ui/components}/atoms/vc-button/vc-button.stories.ts +0 -0
  98. package/{components → ui/components}/atoms/vc-button/vc-button.vue +54 -54
  99. package/{components → ui/components}/atoms/vc-card/vc-card.vue +15 -15
  100. package/{components → ui/components}/atoms/vc-checkbox/vc-checkbox.stories.ts +0 -0
  101. package/{components → ui/components}/atoms/vc-checkbox/vc-checkbox.vue +21 -21
  102. package/{components → ui/components}/atoms/vc-col/vc-col.vue +2 -2
  103. package/{components → ui/components}/atoms/vc-container/vc-container.stories.ts +0 -0
  104. package/{components → ui/components}/atoms/vc-container/vc-container.vue +21 -19
  105. package/{components → ui/components}/atoms/vc-hint/vc-hint.stories.ts +0 -0
  106. package/{components → ui/components}/atoms/vc-hint/vc-hint.vue +1 -1
  107. package/{components → ui/components}/atoms/vc-icon/vc-icon.stories.ts +0 -0
  108. package/{components → ui/components}/atoms/vc-icon/vc-icon.vue +1 -1
  109. package/{components → ui/components}/atoms/vc-image/vc-image.stories.ts +0 -0
  110. package/{components → ui/components}/atoms/vc-image/vc-image.vue +9 -9
  111. package/{components → ui/components}/atoms/vc-info-row/vc-info-row.vue +3 -3
  112. package/{components → ui/components}/atoms/vc-label/vc-label.stories.ts +0 -0
  113. package/{components → ui/components}/atoms/vc-label/vc-label.vue +6 -6
  114. package/{components → ui/components}/atoms/vc-link/vc-link.stories.ts +0 -0
  115. package/{components → ui/components}/atoms/vc-link/vc-link.vue +3 -3
  116. package/ui/components/atoms/vc-loading/vc-loading.vue +33 -0
  117. package/{components → ui/components}/atoms/vc-progress/vc-progress.stories.ts +0 -0
  118. package/{components → ui/components}/atoms/vc-progress/vc-progress.vue +2 -2
  119. package/{components → ui/components}/atoms/vc-row/vc-row.vue +1 -1
  120. package/{components → ui/components}/atoms/vc-status/vc-status.stories.ts +0 -0
  121. package/{components → ui/components}/atoms/vc-status/vc-status.vue +4 -4
  122. package/{components → ui/components}/atoms/vc-status-icon/vc-status-icon.vue +3 -3
  123. package/{components → ui/components}/atoms/vc-switch/vc-switch.stories.ts +0 -0
  124. package/{components → ui/components}/atoms/vc-switch/vc-switch.vue +10 -10
  125. package/{components → ui/components}/atoms/vc-widget/vc-widget.vue +12 -12
  126. package/{components → ui/components}/index.ts +4 -3
  127. package/{components → ui/components}/molecules/vc-breadcrumbs/_internal/vc-breadcrumbs-item/vc-breadcrumbs-item.vue +17 -17
  128. package/{components → ui/components}/molecules/vc-breadcrumbs/vc-breadcrumbs.stories.ts +0 -0
  129. package/{components → ui/components}/molecules/vc-breadcrumbs/vc-breadcrumbs.vue +1 -1
  130. package/{components/molecules/vc-input → ui/components/molecules/vc-currency-input}/vc-input.vue +30 -37
  131. package/{components → ui/components}/molecules/vc-editor/vc-editor.vue +4 -4
  132. package/{components → ui/components}/molecules/vc-file-upload/vc-file-upload.vue +6 -6
  133. package/{components → ui/components}/molecules/vc-form/vc-form.stories.ts +0 -0
  134. package/{components → ui/components}/molecules/vc-form/vc-form.vue +0 -0
  135. package/ui/components/molecules/vc-input/index.ts +8 -0
  136. package/ui/components/molecules/vc-input/vc-input-model.ts +150 -0
  137. package/ui/components/molecules/vc-input/vc-input.vue +324 -0
  138. package/ui/components/molecules/vc-input-currency/index.ts +8 -0
  139. package/ui/components/molecules/vc-input-currency/vc-input-currency-model.ts +128 -0
  140. package/ui/components/molecules/vc-input-currency/vc-input-currency.vue +86 -0
  141. package/{components → ui/components}/molecules/vc-multivalue/vc-multivalue.vue +41 -41
  142. package/{components → ui/components}/molecules/vc-notification/vc-notification.vue +5 -5
  143. package/{components → ui/components}/molecules/vc-pagination/vc-pagination.stories.ts +0 -0
  144. package/{components → ui/components}/molecules/vc-pagination/vc-pagination.vue +24 -24
  145. package/{components → ui/components}/molecules/vc-rating/vc-rating.stories.ts +0 -0
  146. package/{components → ui/components}/molecules/vc-rating/vc-rating.vue +6 -6
  147. package/ui/components/molecules/vc-select/index.ts +7 -0
  148. package/ui/components/molecules/vc-select/vc-select-model.ts +216 -0
  149. package/ui/components/molecules/vc-select/vc-select.vue +727 -0
  150. package/{components → ui/components}/molecules/vc-slider/vc-slider.vue +12 -12
  151. package/{components → ui/components}/molecules/vc-textarea/vc-textarea.stories.ts +0 -0
  152. package/{components → ui/components}/molecules/vc-textarea/vc-textarea.vue +17 -17
  153. package/{components → ui/components}/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue +20 -16
  154. package/{components → ui/components}/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue +31 -31
  155. package/{components → ui/components}/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/vc-app-menu-item.vue +9 -9
  156. package/{components → ui/components}/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue +11 -11
  157. package/{components → ui/components}/organisms/vc-app/vc-app.stories.ts +0 -0
  158. package/{components → ui/components}/organisms/vc-app/vc-app.vue +9 -11
  159. package/{components → ui/components}/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue +10 -10
  160. package/{components → ui/components}/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue +17 -17
  161. package/{components → ui/components}/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue +4 -4
  162. package/{components → ui/components}/organisms/vc-blade/vc-blade.stories.ts +0 -0
  163. package/{components → ui/components}/organisms/vc-blade/vc-blade.vue +5 -5
  164. package/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue +426 -0
  165. package/{components → ui/components}/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue +12 -12
  166. package/{components → ui/components}/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue +9 -9
  167. package/{components → ui/components}/organisms/vc-gallery/vc-gallery.vue +6 -6
  168. package/{components → ui/components}/organisms/vc-login-form/vc-login-form.stories.ts +6 -6
  169. package/{components → ui/components}/organisms/vc-login-form/vc-login-form.vue +5 -5
  170. package/{components → ui/components}/organisms/vc-popup/vc-popup.stories.ts +0 -0
  171. package/{components → ui/components}/organisms/vc-popup/vc-popup.vue +13 -13
  172. package/{components → ui/components}/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue +6 -6
  173. package/{components → ui/components}/organisms/vc-table/_internal/vc-table-counter/vc-table-counter.vue +3 -3
  174. package/{components → ui/components}/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue +13 -13
  175. package/{components → ui/components}/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue +23 -23
  176. package/{components → ui/components}/organisms/vc-table/vc-table.stories.ts +3 -3
  177. package/{components → ui/components}/organisms/vc-table/vc-table.vue +42 -42
  178. package/ui/types/index.ts +38 -0
  179. package/ui/types/ts-helpers.ts +46 -0
  180. package/components/atoms/vc-badge/vc-badge.vue +0 -63
  181. package/components/atoms/vc-loading/vc-loading.vue +0 -30
  182. package/components/molecules/vc-input/vc-input.stories.ts +0 -26
  183. package/components/molecules/vc-select/vc-select.stories.ts +0 -25
  184. package/components/molecules/vc-select/vc-select.vue +0 -402
  185. package/components/organisms/vc-dynamic-property/vc-dynamic-property.vue +0 -292
  186. package/dist/components/atoms/vc-badge/vc-badge.stories.d.ts.map +0 -1
  187. package/dist/components/atoms/vc-button/vc-button.stories.d.ts.map +0 -1
  188. package/dist/components/atoms/vc-checkbox/vc-checkbox.stories.d.ts.map +0 -1
  189. package/dist/components/atoms/vc-container/vc-container.stories.d.ts.map +0 -1
  190. package/dist/components/atoms/vc-hint/vc-hint.stories.d.ts.map +0 -1
  191. package/dist/components/atoms/vc-icon/vc-icon.stories.d.ts.map +0 -1
  192. package/dist/components/atoms/vc-image/vc-image.stories.d.ts.map +0 -1
  193. package/dist/components/atoms/vc-label/vc-label.stories.d.ts.map +0 -1
  194. package/dist/components/atoms/vc-link/vc-link.stories.d.ts.map +0 -1
  195. package/dist/components/atoms/vc-progress/vc-progress.stories.d.ts.map +0 -1
  196. package/dist/components/atoms/vc-status/vc-status.stories.d.ts.map +0 -1
  197. package/dist/components/atoms/vc-switch/vc-switch.stories.d.ts.map +0 -1
  198. package/dist/components/index.d.ts.map +0 -1
  199. package/dist/components/molecules/vc-breadcrumbs/vc-breadcrumbs.stories.d.ts.map +0 -1
  200. package/dist/components/molecules/vc-form/vc-form.stories.d.ts.map +0 -1
  201. package/dist/components/molecules/vc-input/vc-input.stories.d.ts +0 -7
  202. package/dist/components/molecules/vc-input/vc-input.stories.d.ts.map +0 -1
  203. package/dist/components/molecules/vc-pagination/vc-pagination.stories.d.ts.map +0 -1
  204. package/dist/components/molecules/vc-rating/vc-rating.stories.d.ts.map +0 -1
  205. package/dist/components/molecules/vc-select/vc-select.stories.d.ts +0 -7
  206. package/dist/components/molecules/vc-select/vc-select.stories.d.ts.map +0 -1
  207. package/dist/components/molecules/vc-textarea/vc-textarea.stories.d.ts.map +0 -1
  208. package/dist/components/organisms/vc-app/vc-app.stories.d.ts.map +0 -1
  209. package/dist/components/organisms/vc-blade/vc-blade.stories.d.ts.map +0 -1
  210. package/dist/components/organisms/vc-login-form/vc-login-form.stories.d.ts.map +0 -1
  211. package/dist/components/organisms/vc-popup/vc-popup.stories.d.ts.map +0 -1
  212. package/dist/components/organisms/vc-table/vc-table.stories.d.ts.map +0 -1
@@ -1,11 +1,11 @@
1
1
  <template>
2
- <div class="vc-slider relative">
2
+ <div class="vc-slider tw-relative">
3
3
  <swiper-component
4
4
  :class="[
5
5
  'vc-slider__swiper',
6
6
  {
7
- 'overflow-visible': overflow,
8
- 'px-[40px]': navigation,
7
+ 'tw-overflow-visible': overflow,
8
+ 'tw-px-[40px]': navigation,
9
9
  },
10
10
  ]"
11
11
  :space-between="spaceBetweenSlides"
@@ -19,14 +19,14 @@
19
19
  </swiper-component>
20
20
  <!-- Navigation buttons-->
21
21
  <div v-show="navigation">
22
- <div class="vc-slider__prev left-0">
22
+ <div class="vc-slider__prev tw-left-0">
23
23
  <slot name="prevBtn">
24
24
  <div class="vc-slider__btn">
25
25
  <VcIcon icon="fas fa-chevron-left"></VcIcon>
26
26
  </div>
27
27
  </slot>
28
28
  </div>
29
- <div class="vc-slider__next right-0">
29
+ <div class="vc-slider__next tw-right-0">
30
30
  <slot name="nextBtn">
31
31
  <div class="vc-slider__btn">
32
32
  <VcIcon icon="fas fa-chevron-right"></VcIcon>
@@ -83,24 +83,24 @@ const buttonsList = computed(() => ({
83
83
  .vc-slider {
84
84
  &__swiper {
85
85
  .swiper-slide {
86
- @apply w-auto;
86
+ @apply tw-w-auto;
87
87
  }
88
88
  }
89
89
 
90
90
  &__next,
91
91
  &__prev {
92
- @apply absolute top-2/4 -translate-y-2/4 z-[2];
92
+ @apply tw-absolute tw-top-2/4 -tw-translate-y-2/4 tw-z-[2];
93
93
 
94
94
  &.swiper-button-disabled .vc-slider__btn {
95
- @apply text-[#999999];
95
+ @apply tw-text-[#999999];
96
96
  }
97
97
  }
98
98
 
99
99
  &__btn {
100
- @apply bg-white border border-solid border-[#eaecf2]
101
- box-border rounded-[3px]
102
- flex items-center justify-center
103
- text-[#43b0e6] w-[30px] h-[30px];
100
+ @apply tw-bg-white tw-border tw-border-solid tw-border-[#eaecf2]
101
+ tw-box-border tw-rounded-[3px]
102
+ tw-flex tw-items-center tw-justify-center
103
+ tw-text-[#43b0e6] tw-w-[30px] tw-h-[30px];
104
104
  }
105
105
  }
106
106
  </style>
@@ -7,7 +7,7 @@
7
7
  }"
8
8
  >
9
9
  <!-- Textarea label -->
10
- <VcLabel v-if="label" class="mb-2" :required="isRequired">
10
+ <VcLabel v-if="label" class="tw-mb-2" :required="isRequired">
11
11
  <span>{{ label }}</span>
12
12
  <template v-if="tooltip" v-slot:tooltip>
13
13
  <span v-html="tooltip"></span>
@@ -36,7 +36,7 @@
36
36
 
37
37
  <script lang="ts" setup>
38
38
  import { watch } from "vue";
39
- import { VcLabel } from "@/components";
39
+ import { VcLabel } from "@/ui/components";
40
40
 
41
41
  const props = defineProps({
42
42
  placeholder: {
@@ -113,43 +113,43 @@ function onInput(e: InputEvent) {
113
113
 
114
114
  .vc-textarea {
115
115
  &__field-wrapper {
116
- @apply border border-solid
117
- border-[color:var(--textarea-border-color)]
118
- rounded-[var(--textarea-border-radius)]
119
- box-border
120
- bg-[color:var(--textarea-background-color)] flex items-stretch;
116
+ @apply tw-border tw-border-solid
117
+ tw-border-[color:var(--textarea-border-color)]
118
+ tw-rounded-[var(--textarea-border-radius)]
119
+ tw-box-border
120
+ tw-bg-[color:var(--textarea-background-color)] tw-flex tw-items-stretch;
121
121
  }
122
122
 
123
123
  &_error &__field-wrapper {
124
- @apply border border-solid border-[color:var(--textarea-border-color-error)];
124
+ @apply tw-border tw-border-solid tw-border-[color:var(--textarea-border-color-error)];
125
125
  }
126
126
 
127
127
  &__error {
128
- @apply text-[color:var(--textarea-border-color-error)] mt-1 #{!important};
128
+ @apply tw-text-[color:var(--textarea-border-color-error)] tw-mt-1 #{!important};
129
129
  }
130
130
 
131
131
  &__field {
132
- @apply w-full resize-y box-border border-none outline-none
133
- min-h-[var(--textarea-height)]
134
- placeholder:text-[color:var(--textarea-placeholder-color)]
135
- px-3 py-2;
132
+ @apply tw-w-full tw-resize-y tw-box-border tw-border-none tw-outline-none
133
+ tw-min-h-[var(--textarea-height)]
134
+ placeholder:tw-text-[color:var(--textarea-placeholder-color)]
135
+ tw-px-3 tw-py-2;
136
136
 
137
137
  &::-webkit-input-placeholder {
138
- @apply text-[color:var(--textarea-placeholder-color)];
138
+ @apply tw-text-[color:var(--textarea-placeholder-color)];
139
139
  }
140
140
 
141
141
  &::-moz-placeholder {
142
- @apply text-[color:var(--textarea-placeholder-color)];
142
+ @apply tw-text-[color:var(--textarea-placeholder-color)];
143
143
  }
144
144
 
145
145
  &::-ms-placeholder {
146
- @apply text-[color:var(--textarea-placeholder-color)];
146
+ @apply tw-text-[color:var(--textarea-placeholder-color)];
147
147
  }
148
148
  }
149
149
 
150
150
  &_disabled &__field-wrapper,
151
151
  &_disabled &__field {
152
- @apply bg-[#fafafa] text-[#424242];
152
+ @apply tw-bg-[#fafafa] tw-text-[#424242];
153
153
  }
154
154
  }
155
155
  </style>
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div
3
- class="relative flex items-center content-between h-[var(--app-bar-height)] bg-[color:var(--app-bar-background-color)] pl-4"
3
+ class="tw-relative tw-flex tw-items-center tw-content-between tw-h-[var(--app-bar-height)] tw-bg-[color:var(--app-bar-background-color)] tw-pl-4"
4
4
  >
5
5
  <slot name="appSwitcher"></slot>
6
6
  <!-- Logo container for mobile devices -->
@@ -8,7 +8,8 @@
8
8
  <!-- Show logo on mobile dashboard -->
9
9
  <img
10
10
  v-if="blades.length === 0"
11
- class="h-3/6 cursor-pointer"
11
+ class="h-3/6 tw-cursor-pointer"
12
+ alt="logo"
12
13
  :src="logo"
13
14
  @click="$emit('logo:click')"
14
15
  />
@@ -16,7 +17,7 @@
16
17
  <!-- Show blades name when at least one blade is opened -->
17
18
  <div
18
19
  v-else-if="blades.length === 1"
19
- class="overflow-ellipsis overflow-hidden whitespace-nowrap text-2xl leading-header"
20
+ class="tw-overflow-ellipsis tw-overflow-hidden tw-whitespace-nowrap tw-text-2xl tw-leading-header"
20
21
  >
21
22
  {{ blades[0].title }}
22
23
  </div>
@@ -24,19 +25,20 @@
24
25
  <!-- Show back link when more than one blade is opened -->
25
26
  <VcLink v-else @click="$emit('backlink:click')">
26
27
  <VcIcon icon="fas fa-chevron-left" size="s"></VcIcon>
27
- <span class="ml-2 text-lg">{{ $t("Back") }}</span>
28
+ <span class="tw-ml-2 tw-text-lg">{{ $t("Back") }}</span>
28
29
  </VcLink>
29
30
  </template>
30
31
 
31
32
  <!-- Logo container for desktop devices -->
32
33
  <template v-else>
33
34
  <img
34
- class="h-3/6 cursor-pointer"
35
+ class="tw-h-3/6 tw-cursor-pointer"
35
36
  :src="logo"
37
+ alt="logo"
36
38
  @click="$emit('logo:click')"
37
39
  />
38
40
  <div
39
- class="text-[color:var(--app-bar-version-color)] text-xs ml-[30px]"
41
+ class="tw-text-[color:var(--app-bar-version-color)] tw-text-xs tw-ml-[30px]"
40
42
  @click="$emit('version:click')"
41
43
  >
42
44
  {{ version }}
@@ -45,17 +47,17 @@
45
47
 
46
48
  <!-- Product name slot -->
47
49
  <div
48
- class="text-[color:var(--app-bar-product-name-color)] text-[length:var(--app-bar-product-name-size)] font-medium ml-[30px]"
49
- v-if="$slots['productName']"
50
+ class="tw-text-[color:var(--app-bar-product-name-color)] tw-text-[length:var(--app-bar-product-name-size)] tw-font-medium tw-ml-[30px]"
51
+ v-if="title"
50
52
  >
51
- <slot name="productName"></slot>
53
+ {{ title }}
52
54
  </div>
53
55
 
54
56
  <!-- Additional spacer -->
55
- <div class="grow basis-0 basis-0"></div>
57
+ <div class="tw-grow tw-basis-0 tw-basis-0"></div>
56
58
 
57
59
  <!-- Toolbar container -->
58
- <div class="flex h-full box-border">
60
+ <div class="tw-flex tw-h-full tw-box-border">
59
61
  <template v-for="(item, index) in buttons" :key="index">
60
62
  <template v-if="item.isVisible === undefined || item.isVisible">
61
63
  <!-- Draw custom component is it is passed -->
@@ -69,7 +71,7 @@
69
71
  <!-- Otherwise draw default toolbar button -->
70
72
  <div
71
73
  v-else
72
- class="relative flex items-center justify-center w-[var(--app-bar-button-width)] border-l border-solid border-[color:var(--app-bar-button-border-color)] cursor-pointer text-[color: var(--app-bar-button-color)] bg-[color:var(--app-bar-button-background-color)] transition-[color] duration-200 hover:text-[color:var(--app-bar-button-color-hover)] hover:bg-[color:var(--app-bar-button-background-color-hover)]"
74
+ class="tw-relative tw-flex tw-items-center tw-justify-center tw-w-[var(--app-bar-button-width)] tw-border-l tw-border-solid tw-border-[color:var(--app-bar-button-border-color)] tw-cursor-pointer tw-text-[color: var(--app-bar-button-color)] tw-bg-[color:var(--app-bar-button-background-color)] tw-transition-[color] tw-duration-200 hover:tw-text-[color:var(--app-bar-button-color-hover)] hover:tw-bg-[color:var(--app-bar-button-background-color-hover)]"
73
75
  :class="{ 'vc-app-bar__button_accent': item.isAccent }"
74
76
  :title="item.title"
75
77
  @click="$emit('button:click', item)"
@@ -86,7 +88,7 @@
86
88
  <!-- Show menu toggler on mobile devices -->
87
89
  <div
88
90
  v-if="$isMobile.value"
89
- class="text-[#319ed4] w-[var(--app-bar-button-width)] flex items-center justify-center h-full box-border"
91
+ class="tw-text-[#319ed4] tw-w-[var(--app-bar-button-width)] tw-flex tw-items-center tw-justify-center tw-h-full tw-box-border tw-cursor-pointer"
90
92
  @click="$emit('menubutton:click')"
91
93
  >
92
94
  <VcIcon icon="fas fa-bars"></VcIcon>
@@ -95,14 +97,16 @@
95
97
  </template>
96
98
 
97
99
  <script lang="ts" setup>
98
- import { VcIcon } from "@/components";
99
- import { IBladeToolbar, IBladeElement } from "@/core/types";
100
+ import { VcIcon } from "@/ui/components";
101
+ import { IBladeToolbar } from "@/core/types";
102
+ import { IBladeElement } from "@/shared";
100
103
 
101
104
  export interface Props {
102
105
  logo: string;
103
106
  version: string;
104
107
  blades: IBladeElement[];
105
108
  buttons: IBladeToolbar[];
109
+ title?: string;
106
110
  }
107
111
 
108
112
  withDefaults(defineProps<Props>(), {
@@ -139,7 +143,7 @@ defineEmits([
139
143
  .vc-app-bar {
140
144
  &__button {
141
145
  &_accent:before {
142
- @apply content-[""] block absolute right-3 top-[18px] w-[7px] h-[7px] bg-[#ff4a4a] rounded-full z-[1];
146
+ @apply tw-content-[""] tw-block tw-absolute tw-right-3 tw-top-[18px] tw-w-[7px] tw-h-[7px] tw-bg-[#ff4a4a] tw-rounded-full tw-z-[1];
143
147
  }
144
148
  }
145
149
  }
@@ -68,80 +68,80 @@ defineEmits<Emits>();
68
68
  }
69
69
 
70
70
  .vc-app-menu-item {
71
- @apply flex items-center w-full h-[var(--app-menu-item-height)]
72
- border-none
73
- flex-nowrap box-border cursor-pointer relative uppercase;
71
+ @apply tw-flex tw-items-center tw-w-full tw-h-[var(--app-menu-item-height)]
72
+ tw-border-none
73
+ tw-flex-nowrap tw-box-border tw-cursor-pointer tw-relative tw-uppercase;
74
74
 
75
75
  &_active {
76
- @apply bg-[color:var(--app-menu-item-background-color-hover)]
77
- rounded-[var(--app-menu-item-hover-radius)]
78
- before:opacity-100;
76
+ @apply tw-bg-[color:var(--app-menu-item-background-color-hover)]
77
+ tw-rounded-[var(--app-menu-item-hover-radius)]
78
+ before:tw-opacity-100;
79
79
  }
80
80
 
81
81
  &__handler {
82
- @apply w-[var(--app-menu-item-handler-width)]
83
- text-[color:var(--app-menu-item-handler-color)]
84
- text-center invisible shrink-0;
82
+ @apply tw-w-[var(--app-menu-item-handler-width)]
83
+ tw-text-[color:var(--app-menu-item-handler-color)]
84
+ tw-text-center tw-invisible tw-shrink-0;
85
85
 
86
86
  &_enabled {
87
- @apply cursor-move;
87
+ @apply tw-cursor-move;
88
88
  }
89
89
  }
90
90
 
91
91
  &__icon {
92
- @apply w-[var(--app-menu-item-icon-width)]
93
- text-[color:var(--app-menu-item-icon-color)]
94
- overflow-hidden flex
95
- justify-center shrink-0 transition-[color] duration-200;
92
+ @apply tw-w-[var(--app-menu-item-icon-width)]
93
+ tw-text-[color:var(--app-menu-item-icon-color)]
94
+ tw-overflow-hidden tw-flex
95
+ tw-justify-center tw-shrink-0 tw-transition-[color] tw-duration-200;
96
96
  }
97
97
 
98
98
  &_active &__icon {
99
- @apply text-[color:var(--app-menu-item-icon-color-active)];
99
+ @apply tw-text-[color:var(--app-menu-item-icon-color-active)];
100
100
  }
101
101
 
102
102
  &__title {
103
- @apply truncate
104
- text-lg
105
- font-medium
106
- px-3
107
- text-[color:var(--app-menu-item-title-color)]
103
+ @apply tw-truncate
104
+ tw-text-lg
105
+ tw-font-medium
106
+ tw-px-3
107
+ tw-text-[color:var(--app-menu-item-title-color)]
108
108
  [transition:color_0.2s_ease] [transition:opacity_0.1s_ease]
109
- opacity-100 w-full;
109
+ tw-opacity-100 tw-w-full;
110
110
  }
111
111
 
112
112
  &__title-icon {
113
- @apply text-[color:var(--app-menu-item-icon-color)] ml-3;
113
+ @apply tw-text-[color:var(--app-menu-item-icon-color)] tw-ml-3;
114
114
  }
115
115
 
116
116
  &_active &__title {
117
- @apply text-[color:var(--app-menu-item-title-color-active)]
118
- font-bold;
117
+ @apply tw-text-[color:var(--app-menu-item-title-color-active)]
118
+ tw-font-bold;
119
119
  }
120
120
 
121
121
  &_active &__title-icon {
122
- @apply text-[color:var(--app-menu-item-icon-color-active)];
122
+ @apply tw-text-[color:var(--app-menu-item-icon-color-active)];
123
123
  }
124
124
 
125
125
  &:hover {
126
- @apply bg-[color:var(--app-menu-item-background-color-hover)]
127
- rounded-[var(--app-menu-item-hover-radius)];
126
+ @apply tw-bg-[color:var(--app-menu-item-background-color-hover)]
127
+ tw-rounded-[var(--app-menu-item-hover-radius)];
128
128
  }
129
129
 
130
130
  &:hover &__title {
131
- @apply text-[color:var(--app-menu-item-title-color-active)];
131
+ @apply tw-text-[color:var(--app-menu-item-title-color-active)];
132
132
  }
133
133
 
134
134
  &:hover &__icon {
135
- @apply text-[color:var(--app-menu-item-icon-color-active)];
135
+ @apply tw-text-[color:var(--app-menu-item-icon-color-active)];
136
136
  }
137
137
 
138
138
  &:hover &__title-icon {
139
- @apply text-[color:var(--app-menu-item-icon-color-active)];
139
+ @apply tw-text-[color:var(--app-menu-item-icon-color-active)];
140
140
  }
141
141
 
142
142
  &:hover &__handler {
143
143
  &_enabled {
144
- @apply invisible;
144
+ @apply tw-invisible;
145
145
  }
146
146
  }
147
147
  }
@@ -8,7 +8,7 @@
8
8
  :sticky="sticky"
9
9
  :icon="icon"
10
10
  :title="title"
11
- @onClick="onMenuItemClick(navigate)"
11
+ @onClick="onMenuItemClick(() => navigate($event))"
12
12
  />
13
13
  </router-link>
14
14
  </template>
@@ -56,7 +56,7 @@
56
56
  import { onMounted, ref, computed } from "vue";
57
57
  import { ExtendedComponent, IMenuItems } from "@/core/types";
58
58
  import VcAppMenuLink from "./_internal/vc-app-menu-link.vue";
59
- import {NavigationFailure, useRoute} from "vue-router";
59
+ import { NavigationFailure, useRoute } from "vue-router";
60
60
 
61
61
  export interface Props {
62
62
  sticky?: boolean;
@@ -102,7 +102,7 @@ const emit = defineEmits<Emits>();
102
102
 
103
103
  const isOpened = ref(false);
104
104
 
105
- const isHomePage = computed(() => route.path === '/')
105
+ const isHomePage = computed(() => route.path === "/");
106
106
 
107
107
  onMounted(() => {
108
108
  if (
@@ -140,17 +140,17 @@ function onMenuItemClick(
140
140
  }
141
141
  .vc-app-menu-item {
142
142
  &__child {
143
- @apply ml-[42px] gap-[4px] flex flex-col;
143
+ @apply tw-ml-[42px] tw-gap-[4px] tw-flex tw-flex-col;
144
144
  }
145
145
 
146
146
  &__child-item {
147
- @apply cursor-pointer w-fit py-[5px] px-[9px] rounded-[4px]
148
- hover:bg-[color:var(--app-menu-item-background-color-hover)]
149
- hover:text-[color:var(--app-menu-item-title-color-active)];
147
+ @apply tw-cursor-pointer tw-w-fit tw-py-[5px] tw-px-[9px] tw-rounded-[4px]
148
+ hover:tw-bg-[color:var(--app-menu-item-background-color-hover)]
149
+ hover:tw-text-[color:var(--app-menu-item-title-color-active)];
150
150
 
151
151
  &_active {
152
- @apply bg-[color:var(--app-menu-item-background-color-hover)]
153
- text-[color:var(--app-menu-item-title-color-active)] font-bold;
152
+ @apply tw-bg-[color:var(--app-menu-item-background-color-hover)]
153
+ tw-text-[color:var(--app-menu-item-title-color-active)] tw-font-bold;
154
154
  }
155
155
  }
156
156
  }
@@ -1,23 +1,23 @@
1
1
  <template>
2
2
  <div
3
- class="relative w-[var(--app-menu-width)] transition duration-100 pt-4"
3
+ class="tw-relative tw-w-[var(--app-menu-width)] tw-transition tw-duration-100 tw-pt-4"
4
4
  :class="{
5
- 'vc-app-menu_mobile hidden !fixed !left-0 !top-0 !w-full !bottom-0 !z-[9999]':
5
+ 'vc-app-menu_mobile tw-hidden !tw-fixed !tw-left-0 !tw-top-0 !tw-w-full !tw-bottom-0 !tw-z-[9999]':
6
6
  $isMobile.value,
7
- '!block': isMobileVisible,
7
+ '!tw-block': isMobileVisible,
8
8
  }"
9
9
  >
10
10
  <!-- Show backdrop overlay on mobile devices -->
11
11
  <div
12
12
  v-if="$isMobile.value"
13
- class="absolute left-0 top-0 right-0 bottom-0 z-[9998] bg-[#808c99] opacity-60"
13
+ class="tw-absolute tw-left-0 tw-top-0 tw-right-0 tw-bottom-0 tw-z-[9998] tw-bg-[#808c99] tw-opacity-60"
14
14
  @click="isMobileVisible = false"
15
15
  ></div>
16
- <div class="vc-app-menu__inner flex flex-col h-full">
16
+ <div class="vc-app-menu__inner tw-flex tw-flex-col tw-h-full">
17
17
  <!-- Show menu close handler on mobile devices -->
18
18
  <div
19
19
  v-if="$isMobile.value"
20
- class="text-[#319ed4] flex justify-end items-center p-4"
20
+ class="tw-text-[#319ed4] tw-flex tw-justify-end tw-items-center tw-p-4"
21
21
  >
22
22
  <VcIcon
23
23
  icon="fas fa-times"
@@ -27,8 +27,8 @@
27
27
  </div>
28
28
 
29
29
  <!-- Show scrollable area with menu items -->
30
- <VcContainer :noPadding="true" class="grow basis-0">
31
- <div class="gap-[5px] flex flex-col px-4">
30
+ <VcContainer :noPadding="true" class="tw-grow tw-basis-0">
31
+ <div class="tw-gap-[5px] tw-flex tw-flex-col tw-px-4">
32
32
  <template
33
33
  v-for="(item, index) in mobileMenuItems"
34
34
  :key="`info_item_${index}`"
@@ -38,7 +38,7 @@
38
38
  v-if="item.component"
39
39
  :is="item.component"
40
40
  v-bind="item.bladeOptions"
41
- class="p-0 mb-2 w-full"
41
+ class="tw-p-0 tw-mb-2 tw-w-full"
42
42
  ></component>
43
43
  </template>
44
44
  </template>
@@ -69,7 +69,7 @@
69
69
  <script lang="ts" setup>
70
70
  import { ref } from "vue";
71
71
  import VcAppMenuItem from "./_internal/vc-app-menu-item/vc-app-menu-item.vue";
72
- import { VcContainer } from "@/components";
72
+ import { VcContainer } from "@/ui/components";
73
73
  import { IMenuItems } from "@/core/types";
74
74
  import { IMenuClickEvent } from "@/shared";
75
75
 
@@ -104,7 +104,7 @@ defineExpose({
104
104
 
105
105
  .vc-app-menu {
106
106
  &_mobile &__inner {
107
- @apply absolute z-[9999] right-0 top-0 bottom-0 w-[300px] max-w-[60%] bg-[color:var(--app-menu-background-color)];
107
+ @apply tw-absolute tw-z-[9999] tw-right-0 tw-top-0 tw-bottom-0 tw-w-[300px] tw-max-w-[60%] tw-bg-[color:var(--app-menu-background-color)];
108
108
  }
109
109
  }
110
110
  </style>
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div
3
- class="vc-app flex flex-col w-full h-full box-border m-0 overflow-hidden text-base"
3
+ class="vc-app tw-flex tw-flex-col tw-w-full tw-h-full tw-box-border tw-m-0 tw-overflow-hidden tw-text-base"
4
4
  :class="[
5
5
  `vc-theme_${theme}`,
6
6
  {
@@ -12,7 +12,7 @@
12
12
  >
13
13
  <!-- Init application top bar -->
14
14
  <VcAppBar
15
- class="shrink-0"
15
+ class="tw-shrink-0"
16
16
  :logo="logo"
17
17
  :blades="bladesRefs"
18
18
  :version="version"
@@ -21,21 +21,18 @@
21
21
  @menubutton:click="$refs.menu.isMobileVisible = true"
22
22
  @backlink:click="$emit('backlink:click', bladesRefs.length - 2)"
23
23
  @logo:click="openDashboard"
24
+ :title="title"
24
25
  >
25
26
  <template v-slot:appSwitcher>
26
27
  <slot name="appSwitcher"></slot>
27
28
  </template>
28
-
29
- <template v-slot:productName v-if="$slots['productName']">
30
- <slot name="productName"></slot>
31
- </template>
32
29
  </VcAppBar>
33
30
 
34
- <div class="overflow-hidden flex grow basis-0">
31
+ <div class="tw-overflow-hidden tw-flex tw-grow tw-basis-0">
35
32
  <!-- Init main menu -->
36
33
  <VcAppMenu
37
34
  ref="menu"
38
- class="shrink-0"
35
+ class="tw-shrink-0"
39
36
  :items="menuItems"
40
37
  :mobileMenuItems="mobileMenuItems"
41
38
  @item:click="onMenuItemClick"
@@ -43,13 +40,13 @@
43
40
 
44
41
  <!-- Workspace blades -->
45
42
  <div
46
- class="vc-app__workspace px-2 w-full overflow-hidden flex grow basis-0"
43
+ class="vc-app__workspace tw-px-2 tw-w-full tw-overflow-hidden !tw-flex tw-grow tw-basis-0"
47
44
  >
48
45
  <slot name="bladeNavigation"></slot>
49
46
  </div>
50
47
 
51
48
  <div
52
- class="[pointer-events:painted] absolute flex z-[1000] overflow-hidden top-0 left-2/4 -translate-x-2/4 flex-col items-center p-2 box-border"
49
+ class="[pointer-events:painted] tw-absolute tw-flex tw-z-[1000] tw-overflow-hidden tw-top-0 tw-left-2/4 -tw-translate-x-2/4 tw-flex-col tw-items-center tw-p-2 tw-box-border"
53
50
  >
54
51
  <slot name="notifications"></slot>
55
52
  </div>
@@ -91,6 +88,7 @@ export interface Props {
91
88
  version: string;
92
89
  theme?: "light" | "dark";
93
90
  bladesRefs: IBladeElement[];
91
+ title?: string;
94
92
  }
95
93
 
96
94
  export interface Emits {
@@ -164,7 +162,7 @@ defineExpose({
164
162
 
165
163
  &__workspace {
166
164
  .vc-app_mobile & {
167
- @apply p-0;
165
+ @apply tw-p-0;
168
166
  }
169
167
  }
170
168
  }
@@ -1,16 +1,16 @@
1
1
  <template>
2
2
  <div
3
- class="shrink-0 h-[var(--blade-header-height)] bg-[color:var(--blade-header-background-color)] flex items-center py-0 px-4 border-solid border-b border-b-[color:#eaedf3]"
3
+ class="tw-shrink-0 tw-h-[var(--blade-header-height)] tw-bg-[color:var(--blade-header-background-color)] tw-flex tw-items-center tw-py-0 tw-px-4 tw-border-solid tw-border-b tw-border-b-[color:#eaedf3]"
4
4
  >
5
- <div v-if="icon" class="text-[color:var(--blade-header-icon-color)] mr-3">
5
+ <div v-if="icon" class="tw-text-[color:var(--blade-header-icon-color)] tw-mr-3">
6
6
  <VcIcon :icon="icon" size="xxl"></VcIcon>
7
7
  </div>
8
8
 
9
- <div class="overflow-hidden grow basis-0">
9
+ <div class="tw-overflow-hidden tw-grow tw-basis-0">
10
10
  <div
11
- class="text-[color:var(--blade-header-title-color)] text-lg truncate"
11
+ class="tw-text-[color:var(--blade-header-title-color)] tw-text-lg tw-truncate"
12
12
  :class="{
13
- '!text-[length:var(--blade-header-title-font-size)] font-medium':
13
+ '!tw-text-[length:var(--blade-header-title-font-size)] tw-font-medium':
14
14
  !subtitle,
15
15
  }"
16
16
  >
@@ -18,7 +18,7 @@
18
18
  </div>
19
19
  <div
20
20
  v-if="subtitle"
21
- class="text-[color:var(--blade-header-subtitle-color)] text-xs mt-1"
21
+ class="tw-text-[color:var(--blade-header-subtitle-color)] tw-text-xs tw-mt-1"
22
22
  >
23
23
  {{ subtitle }}
24
24
  </div>
@@ -28,11 +28,11 @@
28
28
  <slot name="actions"></slot>
29
29
  </div>
30
30
 
31
- <div v-if="!$isMobile.value" class="flex items-center">
31
+ <div v-if="!$isMobile.value" class= "tw-flex tw-items-center">
32
32
  <template v-if="expandable">
33
33
  <div
34
34
  v-if="expanded"
35
- class="text-[color:var(--blade-header-button-color)] ml-4 cursor-pointer hover:text-[color:var(--blade-header-button-color-hover)]"
35
+ class="tw-text-[color:var(--blade-header-button-color)] tw-ml-4 tw-cursor-pointer hover:tw-text-[color:var(--blade-header-button-color-hover)]"
36
36
  @click="onCollapse"
37
37
  >
38
38
  <VcIcon icon="fas fa-window-minimize" size="s"></VcIcon>
@@ -43,7 +43,7 @@
43
43
  </template>
44
44
  <div
45
45
  v-if="closable"
46
- class="text-[color:var(--blade-header-button-color)] ml-4 cursor-pointer hover:text-[color:var(--blade-header-button-color-hover)]"
46
+ class="tw-text-[color:var(--blade-header-button-color)] tw-ml-4 tw-cursor-pointer hover:tw-text-[color:var(--blade-header-button-color-hover)]"
47
47
  @click="onClose"
48
48
  >
49
49
  <VcIcon icon="fas fa-times"></VcIcon>
@@ -53,7 +53,7 @@
53
53
  </template>
54
54
 
55
55
  <script lang="ts" setup>
56
- import { VcIcon } from "@/components";
56
+ import { VcIcon } from "@/ui/components";
57
57
 
58
58
  const props = defineProps({
59
59
  expandable: {