@vc-shell/framework 1.0.39 → 1.0.40

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 +9 -9
  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
@@ -0,0 +1,57 @@
1
+ <template>
2
+ <div
3
+ class="tw-inline-block tw-rounded-[var(--badge-border-radius)] tw-py-1 tw-px-2 tw-text-base tw-font-normal tw-bg-[color:var(--badge-background-color)] tw-text-[color:var(--badge-text-color)] tw-border tw-border-solid tw-border-[color:var(--badge-border-color)] tw-transition tw-duration-200"
4
+ :class="{
5
+ 'tw-bg-[color:var(--badge-background-color-active)] tw-text-[color:var(--badge-text-color-active)] tw-border-[color:var(--badge-border-color-active)]':
6
+ active,
7
+ 'tw-cursor-pointer hover:tw-bg-[color:var(--badge-background-color-active)] hover:tw-text-[color:var(--badge-text-color-hover)] hover:tw-border-[color:var(--badge-border-color-hover)]':
8
+ clickable,
9
+ 'cursor-not-allowed tw-bg-[color:var(--badge-background-color-disabled)] tw-text-[color:var(--badge-text-color-disabled)] tw-border-[color:var(--badge-border-color-disabled)] hover:tw-bg-[color:var(--badge-background-color-disabled)] hover:tw-text-[color:var(--badge-text-color-disabled)] hover:tw-border-[color:var(--badge-border-color-disabled)]':
10
+ disabled,
11
+ }"
12
+ @click="onClick"
13
+ >
14
+ <slot name="default"></slot>
15
+ </div>
16
+ </template>
17
+
18
+ <script lang="ts" setup>
19
+ import {
20
+ VcBadgeEmits,
21
+ VcBadgeProps,
22
+ } from "@/ui/components/atoms/vc-badge/vc-badge-model";
23
+
24
+ const props = withDefaults(defineProps<VcBadgeProps>(), {
25
+ active: false,
26
+ disabled: false,
27
+ clickable: true,
28
+ });
29
+ const emit = defineEmits<VcBadgeEmits>();
30
+
31
+ function onClick(): void {
32
+ if (props.clickable && !props.disabled) {
33
+ emit("click");
34
+ }
35
+ }
36
+ </script>
37
+
38
+ <style lang="scss">
39
+ :root {
40
+ --badge-background-color: #ffffff;
41
+ --badge-background-color-hover: #fafafa;
42
+ --badge-background-color-active: #fafafa;
43
+ --badge-background-color-disabled: #f2f2f2;
44
+
45
+ --badge-text-color: #455668;
46
+ --badge-text-color-hover: #3b4959;
47
+ --badge-text-color-active: #3b4959;
48
+ --badge-text-color-disabled: #8296ab;
49
+
50
+ --badge-border-radius: 35px;
51
+
52
+ --badge-border-color: #a1bfd4;
53
+ --badge-border-color-hover: #8fb3cc;
54
+ --badge-border-color-active: #8fb3cc;
55
+ --badge-border-color-disabled: #b2cbdc;
56
+ }
57
+ </style>
@@ -0,0 +1,7 @@
1
+ import { ComponentPublicInstance } from "vue";
2
+ import { VcButtonProps } from "./vc-button-model";
3
+ import { ComponentConstructor } from "@/ui/types/ts-helpers";
4
+ import Button from "./vc-button.vue";
5
+ export const VcBadge: ComponentConstructor<
6
+ ComponentPublicInstance<VcButtonProps>
7
+ > = Button;
@@ -0,0 +1,30 @@
1
+ import { VNode } from "vue";
2
+
3
+ export interface VcButtonProps {
4
+ /**
5
+ * Badge active state
6
+ * */
7
+ icon?: string | undefined;
8
+ /**
9
+ * Put component in disabled state
10
+ * */
11
+ disabled?: boolean | undefined;
12
+ /**
13
+ * Is badge clickable?
14
+ * */
15
+ clickable?: boolean | undefined;
16
+ }
17
+
18
+ export interface VcButtonEmits {
19
+ /**
20
+ * Emitted when component is clicked
21
+ * */
22
+ (event: "click"): void;
23
+ }
24
+
25
+ export interface VcButtonSlots {
26
+ /**
27
+ * Slot for component content
28
+ * */
29
+ default: () => VNode[];
30
+ }
@@ -25,7 +25,7 @@
25
25
  </template>
26
26
 
27
27
  <script lang="ts" setup>
28
- import { VcIcon } from "@/components";
28
+ import { VcIcon } from "@/ui/components";
29
29
 
30
30
  const props = defineProps({
31
31
  icon: {
@@ -131,88 +131,88 @@ function onClick(e: Event): void {
131
131
  $variants: primary, secondary, special, danger, widget;
132
132
 
133
133
  .vc-button {
134
- @apply inline-flex items-center font-medium text-sm cursor-pointer box-border transition duration-200 rounded-[var(--button-border-radius)] px-[var(--button-padding)] h-[var(--button-height)];
134
+ @apply tw-inline-flex tw-items-center tw-font-medium tw-text-sm tw-cursor-pointer tw-box-border tw-transition tw-duration-200 tw-rounded-[var(--button-border-radius)] tw-px-[var(--button-padding)] tw-h-[var(--button-height)];
135
135
 
136
136
  &__icon + &__title {
137
- @apply ml-2;
137
+ @apply tw-ml-2;
138
138
  }
139
139
 
140
140
  @each $variant in $variants {
141
141
  &_#{$variant} {
142
- @apply bg-[color:var(--button-#{$variant}-background-color)]
143
- text-left
144
- text-[color:var(--button-#{$variant}-text-color)]
145
- border border-solid border-[color:var(--button-#{$variant}-background-color)]
146
- hover:bg-[color:var(--button-#{$variant}-background-color-hover)]
147
- hover:text-[color:var(--button-#{$variant}-text-color-hover)]
148
- hover:border-[color:var(--button-#{$variant}-background-color-hover)]
149
- focus:bg-[color:var(--button-#{$variant}-background-color-active)]
150
- focus:text-[color:var(--button-#{$variant}-text-color-active)]
151
- focus:bg-[color:var(--button-#{$variant}-background-color-active)]
152
- disabled:cursor-not-allowed
153
- disabled:bg-[color:var(--button-#{$variant}-background-color-disabled)]
154
- disabled:text-[color:var(--button-#{$variant}-text-color-disabled)]
155
- disabled:border-[color:var(--button-#{$variant}-background-color-disabled)];
142
+ @apply tw-bg-[color:var(--button-#{$variant}-background-color)]
143
+ tw-text-left
144
+ tw-text-[color:var(--button-#{$variant}-text-color)]
145
+ tw-border tw-border-solid tw-border-[color:var(--button-#{$variant}-background-color)]
146
+ hover:tw-bg-[color:var(--button-#{$variant}-background-color-hover)]
147
+ hover:tw-text-[color:var(--button-#{$variant}-text-color-hover)]
148
+ hover:tw-border-[color:var(--button-#{$variant}-background-color-hover)]
149
+ focus:tw-bg-[color:var(--button-#{$variant}-background-color-active)]
150
+ focus:tw-text-[color:var(--button-#{$variant}-text-color-active)]
151
+ focus:tw-bg-[color:var(--button-#{$variant}-background-color-active)]
152
+ disabled:tw-cursor-not-allowed
153
+ disabled:tw-bg-[color:var(--button-#{$variant}-background-color-disabled)]
154
+ disabled:tw-text-[color:var(--button-#{$variant}-text-color-disabled)]
155
+ disabled:tw-border-[color:var(--button-#{$variant}-background-color-disabled)];
156
156
  }
157
157
  }
158
158
 
159
159
  &_widget {
160
- @apply h-auto border-[color:var(--button-widget-border-color)]
161
- shadow-[1px_4px_10px_rgba(197,206,214,0.24)]
162
- rounded-[4px]
163
- p-[15px]
164
- border-[color:var(--button-widget-background-color)]
165
- hover:bg-[color:var(--button-widget-background-color-hover)]
166
- focus:bg-[color:var(--button-widget-background-color-active)]
167
- focus:border-[color:var(--button-widget-border-color-active)]
168
- disabled:cursor-not-allowed
169
- disabled:bg-[color:var(--button-widget-background-color-disabled)]
170
- disabled:border-[color:var(--button-widget-background-color-disabled)];
160
+ @apply tw-h-auto tw-border-[color:var(--button-widget-border-color)]
161
+ tw-shadow-[1px_4px_10px_rgba(197,206,214,0.24)]
162
+ tw-rounded-[4px]
163
+ tw-p-[15px]
164
+ tw-border-[color:var(--button-widget-background-color)]
165
+ hover:tw-bg-[color:var(--button-widget-background-color-hover)]
166
+ focus:tw-bg-[color:var(--button-widget-background-color-active)]
167
+ focus:tw-border-[color:var(--button-widget-border-color-active)]
168
+ disabled:tw-cursor-not-allowed
169
+ disabled:tw-bg-[color:var(--button-widget-background-color-disabled)]
170
+ disabled:tw-border-[color:var(--button-widget-background-color-disabled)];
171
171
 
172
172
  .vc-button__icon {
173
- @apply text-[30px] text-[color:#a9bfd2];
173
+ @apply tw-text-[30px] tw-text-[color:#a9bfd2];
174
174
  }
175
175
  }
176
176
 
177
177
  &_small {
178
- @apply h-[var(--button-height-small)]
179
- px-[var(--button-padding-small)]
180
- font-normal
181
- text-xs;
178
+ @apply tw-h-[var(--button-height-small)]
179
+ tw-px-[var(--button-padding-small)]
180
+ tw-font-normal
181
+ tw-text-xs;
182
182
 
183
183
  .vc-button__icon + .vc-button__title {
184
- @apply ml-1;
184
+ @apply tw-ml-1;
185
185
  }
186
186
  }
187
187
 
188
188
  &_outline {
189
- @apply bg-transparent
190
- text-[color:var(--button-secondary-text-color)]
191
- border-[color:var(--button-secondary-border-color)]
192
- hover:text-[color:var(--button-secondary-text-color-hover)]
193
- hover:border-[color:var(--button-secondary-border-color-hover)]
194
- hover:bg-transparent
195
- focus:text-[color:var(--button-secondary-text-color-hover)]
196
- focus:border-[color:var(--button-secondary-border-color-active)]
197
- focus:bg-transparent
198
- disabled:cursor-not-allowed
199
- disabled:text-[color:var(--button-secondary-text-color-disabled)]
200
- disabled:border-[color:var(--button-secondary-border-color-disabled)]
201
- disabled:bg-transparent;
189
+ @apply tw-bg-transparent
190
+ tw-text-[color:var(--button-secondary-text-color)]
191
+ tw-border-[color:var(--button-secondary-border-color)]
192
+ hover:tw-text-[color:var(--button-secondary-text-color-hover)]
193
+ hover:tw-border-[color:var(--button-secondary-border-color-hover)]
194
+ hover:tw-bg-transparent
195
+ focus:tw-text-[color:var(--button-secondary-text-color-hover)]
196
+ focus:tw-border-[color:var(--button-secondary-border-color-active)]
197
+ focus:tw-bg-transparent
198
+ disabled:tw-cursor-not-allowed
199
+ disabled:tw-text-[color:var(--button-secondary-text-color-disabled)]
200
+ disabled:tw-border-[color:var(--button-secondary-border-color-disabled)]
201
+ disabled:tw-bg-transparent;
202
202
  }
203
203
 
204
204
  &_onlytext {
205
- @apply text-[color:var(--button-secondary-text-color)]
206
- p-0 border-none bg-transparent h-auto
207
- hover:bg-transparent
208
- hover:text-[color:var(--button-secondary-text-color-hover)]
209
- focus:bg-transparent
210
- focus:text-[color:var(--button-secondary-text-color-hover)];
205
+ @apply tw-text-[color:var(--button-secondary-text-color)]
206
+ tw-p-0 tw-border-none tw-bg-transparent tw-h-auto
207
+ hover:tw-bg-transparent
208
+ hover:tw-text-[color:var(--button-secondary-text-color-hover)]
209
+ focus:tw-bg-transparent
210
+ focus:tw-text-[color:var(--button-secondary-text-color-hover)];
211
211
  }
212
212
 
213
213
  &_selected {
214
214
  &.vc-button_widget {
215
- @apply bg-[color:var(--button-widget-background-color-hover)];
215
+ @apply tw-bg-[color:var(--button-widget-background-color-hover)];
216
216
  }
217
217
  }
218
218
  }
@@ -91,45 +91,45 @@ function onHeaderClick() {
91
91
  $variants: success, danger;
92
92
 
93
93
  .vc-card {
94
- @apply bg-[color:var(--card-background)] border
95
- border-[color:#eef0f2] border-solid box-border
96
- shadow-[1px_1px_7px_rgba(126,142,157,0.15)]
97
- rounded-[var(--card-border-radius)] overflow-hidden
98
- flex-grow flex flex-col;
94
+ @apply tw-bg-[color:var(--card-background)] tw-border
95
+ tw-border-[color:#eef0f2] tw-border-solid tw-box-border
96
+ tw-shadow-[1px_1px_7px_rgba(126,142,157,0.15)]
97
+ tw-rounded-[var(--card-border-radius)] tw-overflow-hidden
98
+ tw-flex-grow tw-flex tw-flex-col;
99
99
 
100
100
  &__header {
101
- @apply bg-[color:var(--card-header-background)] px-4 py-3 flex items-center content-between w-full box-border;
101
+ @apply tw-bg-[color:var(--card-header-background)] tw-px-4 tw-py-3 tw-flex tw-items-center tw-content-between tw-w-full tw-box-border;
102
102
  }
103
103
 
104
104
  &_collapsable &__header {
105
- @apply cursor-pointer;
105
+ @apply tw-cursor-pointer;
106
106
  }
107
107
 
108
108
  &__title {
109
- @apply uppercase flex-grow
110
- text-[color:var(--card-header-color)]
111
- text-base font-bold uppercase;
109
+ @apply tw-uppercase tw-flex-grow
110
+ tw-text-[color:var(--card-header-color)]
111
+ tw-text-base tw-font-bold tw-uppercase;
112
112
  }
113
113
 
114
114
  &__icon {
115
- @apply text-[color:var(--card-header-color)] mr-3;
115
+ @apply tw-text-[color:var(--card-header-color)] tw-mr-3;
116
116
  }
117
117
 
118
118
  &__collapse {
119
- @apply text-[color:var(--card-header-color)] ml-3;
119
+ @apply tw-text-[color:var(--card-header-color)] tw-ml-3;
120
120
  }
121
121
 
122
122
  &__body {
123
- @apply flex-grow box-border;
123
+ @apply tw-flex-grow tw-box-border;
124
124
  }
125
125
 
126
126
  @each $variant in $variants {
127
127
  &_#{$variant} {
128
128
  .vc-card__header {
129
- @apply bg-[color:var(--card-header-background-#{$variant})];
129
+ @apply tw-bg-[color:var(--card-header-background-#{$variant})];
130
130
  }
131
131
  .vc-card__title {
132
- @apply text-[color:var(--card-header-color-#{$variant})];
132
+ @apply tw-text-[color:var(--card-header-color-#{$variant})];
133
133
  }
134
134
  }
135
135
  }
@@ -9,18 +9,18 @@
9
9
  @change="onChange"
10
10
  />
11
11
  <span class="vc-checkbox__checkmark"></span>
12
- <span v-if="$slots['default']" class="ml-2">
12
+ <span v-if="$slots['default']" class="tw-ml-2">
13
13
  <slot></slot>
14
14
  </span>
15
15
  <span
16
16
  v-if="required"
17
- class="text-[color:var(--checkbox-required-color)] ml-1"
17
+ class="tw-text-[color:var(--checkbox-required-color)] tw-ml-1"
18
18
  >*</span
19
19
  >
20
20
  </label>
21
21
 
22
22
  <slot v-if="errorMessage" name="error">
23
- <VcHint class="vc-checkbox__error mt-1">
23
+ <VcHint class="vc-checkbox__error tw-mt-1">
24
24
  {{ errorMessage }}
25
25
  </VcHint>
26
26
  </slot>
@@ -85,11 +85,11 @@ function onChange(e: InputEvent) {
85
85
 
86
86
  .vc-checkbox {
87
87
  &__label {
88
- @apply inline-flex select-none cursor-pointer text-base items-center;
88
+ @apply tw-inline-flex tw-select-none tw-cursor-pointer tw-text-base tw-items-center;
89
89
  }
90
90
 
91
91
  &__input {
92
- @apply absolute opacity-0 z-[-1] m-0;
92
+ @apply tw-absolute tw-opacity-0 tw-z-[-1] tw-m-0;
93
93
  }
94
94
 
95
95
  &__error {
@@ -97,34 +97,34 @@ function onChange(e: InputEvent) {
97
97
  }
98
98
 
99
99
  &__checkmark {
100
- @apply h-[var(--checkbox-size)];
100
+ @apply tw-h-[var(--checkbox-size)];
101
101
 
102
102
  &:before {
103
- @apply inline-block box-border
104
- w-[var(--checkbox-size)]
105
- h-[var(--checkbox-size)]
106
- shrink-0
107
- grow-0
108
- rounded-[var(--checkbox-border-radius)]
109
- bg-no-repeat
110
- bg-left-top
111
- bg-[length:auto_var(--checkbox-size)]
112
- bg-[color:var(--checkbox-background-color)]
113
- bg-[image:var(--checkbox-image)]
114
- content-[""];
103
+ @apply tw-inline-block tw-box-border
104
+ tw-w-[var(--checkbox-size)]
105
+ tw-h-[var(--checkbox-size)]
106
+ tw-shrink-0
107
+ tw-grow-0
108
+ tw-rounded-[var(--checkbox-border-radius)]
109
+ tw-bg-no-repeat
110
+ tw-bg-left-top
111
+ tw-bg-[length:auto_var(--checkbox-size)]
112
+ tw-bg-[color:var(--checkbox-background-color)]
113
+ tw-bg-[image:var(--checkbox-image)]
114
+ tw-content-[""];
115
115
  }
116
116
  }
117
117
 
118
118
  &__input:checked ~ &__checkmark:before {
119
- @apply bg-[image:var(--checkbox-image-checked)];
119
+ @apply tw-bg-[image:var(--checkbox-image-checked)];
120
120
  }
121
121
 
122
122
  &_disabled &__checkmark:before {
123
- @apply bg-[#fafafa];
123
+ @apply tw-bg-[#fafafa];
124
124
  }
125
125
 
126
126
  &_disabled &__label {
127
- @apply cursor-auto;
127
+ @apply tw-cursor-auto;
128
128
  }
129
129
  }
130
130
  </style>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class="vc-col flex flex-col min-w-0 basis-0" :style="{ flexGrow: size }">
2
+ <div class="vc-col tw-flex tw-flex-col tw-min-w-0 tw-basis-0" :style="{ flexGrow: size }">
3
3
  <slot></slot>
4
4
  </div>
5
5
  </template>
@@ -16,7 +16,7 @@ defineProps({
16
16
  <style lang="scss">
17
17
  .vc-col {
18
18
  .vc-app_mobile & {
19
- @apply grow #{!important};
19
+ @apply tw-grow #{!important};
20
20
  }
21
21
  }
22
22
  </style>
@@ -25,7 +25,7 @@
25
25
  >
26
26
  <VcIcon
27
27
  icon="fas fa-spinner"
28
- :style="{ 'font-size': `${dist / 2}px` }"
28
+ :style="{ 'tw-font-size': `${dist / 2}px` }"
29
29
  class="vc-container__overscroll-icon"
30
30
  ></VcIcon>
31
31
  </div>
@@ -82,9 +82,6 @@ const scrollTop = () => {
82
82
  component.value.scroll(0, 0);
83
83
  }
84
84
  };
85
- defineExpose({
86
- scrollTop,
87
- });
88
85
 
89
86
  function touchStart(e: TouchEvent): void {
90
87
  if (!touchable.value) {
@@ -161,6 +158,11 @@ function ease(distance: number) {
161
158
  }
162
159
  return Math.round(distance);
163
160
  }
161
+
162
+ defineExpose({
163
+ scrollTop,
164
+ component,
165
+ });
164
166
  </script>
165
167
 
166
168
  <style lang="scss">
@@ -174,47 +176,47 @@ function ease(distance: number) {
174
176
  }
175
177
 
176
178
  .vc-container {
177
- @apply w-full h-full overflow-hidden box-border flex flex-col relative;
179
+ @apply tw-w-full tw-h-full tw-overflow-hidden tw-box-border tw-flex tw-flex-col tw-relative;
178
180
 
179
181
  &_shadow {
180
- @apply shadow-[0_3px_2px_rgba(0,0,0,0.1)_inset];
182
+ @apply tw-shadow-[0_3px_2px_rgba(0,0,0,0.1)_inset];
181
183
  }
182
184
 
183
185
  &__overscroll {
184
- @apply relative w-full flex items-start justify-center overflow-hidden;
186
+ @apply tw-relative tw-w-full tw-flex tw-items-start tw-justify-center tw-overflow-hidden;
185
187
 
186
188
  &-icon {
187
- @apply text-[color:#a1c0d4] animate-spin;
189
+ @apply tw-text-[color:#a1c0d4] tw-animate-spin;
188
190
  }
189
191
 
190
192
  &_passed &-icon {
191
- @apply text-[#43b0e6];
193
+ @apply tw-text-[#43b0e6];
192
194
  }
193
195
  }
194
196
 
195
197
  &__inner {
196
- @apply relative overflow-y-auto overflow-x-hidden
197
- flex-1 p-[var(--container-scroll-padding)]
198
- transition-transform [scrollbar-color:var(--container-scroll-color)] [scrollbar-width:thin];
198
+ @apply tw-relative tw-overflow-y-auto tw-overflow-x-hidden
199
+ tw-flex-1 tw-p-[var(--container-scroll-padding)]
200
+ tw-transition-transform [scrollbar-color:var(--container-scroll-color)] [scrollbar-width:thin];
199
201
 
200
202
  &::-webkit-scrollbar {
201
- @apply w-[var(--container-scroll-width)] bg-transparent;
203
+ @apply tw-w-[var(--container-scroll-width)] tw-bg-transparent;
202
204
  }
203
205
 
204
206
  &::-webkit-scrollbar-track {
205
- @apply bg-transparent;
207
+ @apply tw-bg-transparent;
206
208
  }
207
209
 
208
210
  &::-webkit-scrollbar-thumb {
209
- @apply bg-[color:var(--container-scroll-color)]
210
- rounded-[calc(var(--container-scroll-width)/2)]
211
- overflow-x-hidden
212
- hover:bg-[color:var(--container-scroll-color-hover)];
211
+ @apply tw-bg-[color:var(--container-scroll-color)]
212
+ tw-rounded-[calc(var(--container-scroll-width)/2)]
213
+ tw-overflow-x-hidden
214
+ hover:tw-bg-[color:var(--container-scroll-color-hover)];
213
215
  }
214
216
  }
215
217
 
216
218
  &_nopadding &__inner {
217
- @apply p-0;
219
+ @apply tw-p-0;
218
220
  }
219
221
  }
220
222
  </style>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class="text-[color:var(--hint-color)] text-xs">
2
+ <div class="tw-text-[color:var(--hint-color)] tw-text-xs">
3
3
  <slot></slot>
4
4
  </div>
5
5
  </template>
@@ -29,7 +29,7 @@ $sizes: xs, s, m, l, xl, xxl;
29
29
  .vc-icon {
30
30
  @each $size in $sizes {
31
31
  &_#{$size} {
32
- @apply text-[length:var(--icon-size-#{$size})];
32
+ @apply tw-text-[length:var(--icon-size-#{$size})];
33
33
  }
34
34
  }
35
35
  }
@@ -4,18 +4,18 @@
4
4
  :class="[
5
5
  `vc-image_${aspect}`,
6
6
  {
7
- 'rounded-full pb-[var(--image-padding-bottom-1x1)]': rounded,
8
- 'rounded-[3px] border border-solid border-[color:#efefef]': bordered,
9
- 'cursor-pointer': clickable,
7
+ 'tw-rounded-full tw-pb-[var(--image-padding-bottom-1x1)]': rounded,
8
+ 'tw-rounded-[3px] tw-border tw-border-solid tw-border-[color:#efefef]': bordered,
9
+ 'tw-cursor-pointer': clickable,
10
10
  },
11
- 'relative',
11
+ 'tw-relative',
12
12
  ]"
13
13
  :style="imageHandler"
14
14
  @click="onClick"
15
15
  >
16
16
  <div
17
17
  v-if="!src"
18
- class="absolute w-full h-full flex items-center justify-center text-[#83a3be]"
18
+ class="tw-absolute tw-w-full tw-h-full tw-flex tw-items-center tw-justify-center tw-text-[#83a3be]"
19
19
  >
20
20
  <VcIcon icon="fas fa-image" size="xl"></VcIcon>
21
21
  </div>
@@ -101,22 +101,22 @@ $aspects: (
101
101
  $paddings: xs, s, m, l, xl, xxl;
102
102
 
103
103
  .vc-image {
104
- @apply inline-block relative;
104
+ @apply tw-inline-block tw-relative;
105
105
 
106
106
  @each $name, $aspect in $aspects {
107
107
  &_#{$name} {
108
- @apply pb-[#{$aspect}];
108
+ @apply tw-pb-[#{$aspect}];
109
109
  }
110
110
  }
111
111
 
112
112
  @each $padding in $paddings {
113
113
  &_#{$padding} {
114
- @apply w-[var(--image-size-#{$padding})];
114
+ @apply tw-w-[var(--image-size-#{$padding})];
115
115
  }
116
116
  }
117
117
 
118
118
  &_auto {
119
- @apply w-full;
119
+ @apply tw-w-full;
120
120
  }
121
121
  }
122
122
  </style>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class="mb-[11px] last-of-type:mb-0">
2
+ <div class="tw-mb-[11px] last-of-type:tw-mb-0">
3
3
  <VcRow>
4
4
  <VcCol>
5
5
  <VcLabel>
@@ -8,7 +8,7 @@
8
8
  </VcLabel>
9
9
  </VcCol>
10
10
  <VcCol size="2">
11
- <p class="m-0" v-if="type === 'default'">{{ value }}</p>
11
+ <p class="tw-m-0" v-if="type === 'default'">{{ value }}</p>
12
12
  <VcLink v-else-if="type === 'email'">{{ value }}</VcLink>
13
13
  </VcCol>
14
14
  </VcRow>
@@ -16,7 +16,7 @@
16
16
  </template>
17
17
 
18
18
  <script lang="ts" setup>
19
- import { VcLabel, VcRow, VcCol } from "@/components";
19
+ import { VcLabel, VcRow, VcCol } from "@/ui/components";
20
20
 
21
21
  defineProps({
22
22
  label: {
@@ -1,19 +1,19 @@
1
1
  <template>
2
- <div class="flex flex-nowrap font-bold">
2
+ <div class= "tw-flex tw-flex-nowrap tw-font-bold">
3
3
  <span><slot></slot></span>
4
- <span v-if="required" class="text-[color:var(--label-required-color)] ml-1"
4
+ <span v-if="required" class="tw-text-[color:var(--label-required-color)] tw-ml-1"
5
5
  >*</span
6
6
  >
7
- <span v-if="$slots['tooltip']" class="grow basis-0 ml-1">
7
+ <span v-if="$slots['tooltip']" class="tw-grow tw-basis-0 tw-ml-1">
8
8
  <VcIcon
9
- class="text-[color:var(--label-tooltip-color)]"
9
+ class="tw-text-[color:var(--label-tooltip-color)]"
10
10
  :icon="tooltipIcon"
11
11
  size="s"
12
12
  @mouseenter="tooltipVisible = true"
13
13
  @mouseleave="tooltipVisible = false"
14
14
  ></VcIcon>
15
15
  <span
16
- class="absolute z-10 bg-white border border-solid border-[color:#eef0f2] shadow-[1px_1px_8px_rgba(126,142,157,0.25)] rounded-[3px] text-[color:#8e9daa] font-normal py-1 px-2 ml-4"
16
+ class="tw-absolute tw-z-10 tw-bg-white tw-border tw-border-solid tw-border-[color:#eef0f2] tw-shadow-[1px_1px_8px_rgba(126,142,157,0.25)] tw-rounded-[3px] tw-text-[color:#8e9daa] tw-font-normal tw-py-1 tw-px-2 tw-ml-4"
17
17
  v-if="tooltipVisible"
18
18
  >
19
19
  <slot name="tooltip"></slot>
@@ -23,7 +23,7 @@
23
23
  </template>
24
24
 
25
25
  <script lang="ts" setup>
26
- import { VcIcon } from "@/components";
26
+ import { VcIcon } from "@/ui/components";
27
27
  import { ref } from "vue";
28
28
 
29
29
  defineProps({