@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
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class="relative overflow-hidden flex flex-col grow basis-0">
2
+ <div class="tw-relative tw-overflow-hidden tw-flex tw-flex-col tw-grow tw-basis-0">
3
3
  <!-- Header slot with filter and searchbar -->
4
4
  <slot
5
5
  name="header"
@@ -11,9 +11,9 @@
11
11
  activeFilterCount)
12
12
  "
13
13
  >
14
- <div class="shrink-0 flex items-center justify-between p-4">
14
+ <div class="tw-shrink-0 tw-flex tw-items-center tw-justify-between tw-p-4">
15
15
  <!-- Table filter mobile button -->
16
- <div v-if="$isMobile.value && $slots['filters']" class="mr-3">
16
+ <div v-if="$isMobile.value && $slots['filters']" class="tw-mr-3">
17
17
  <VcTableFilter :counter="activeFilterCount">
18
18
  <template v-slot:default="{ closePanel }">
19
19
  <slot name="filters" :closePanel="closePanel"></slot>
@@ -23,16 +23,16 @@
23
23
 
24
24
  <!-- Table search input -->
25
25
  <VcInput
26
- class="grow basis-0"
26
+ class="tw-grow tw-basis-0"
27
27
  :placeholder="searchPlaceholder"
28
- :clearable="true"
28
+ clearable
29
29
  name="table_search"
30
30
  :modelValue="searchValue"
31
31
  @update:modelValue="$emit('search:change', $event)"
32
32
  ></VcInput>
33
33
 
34
34
  <!-- Table filter desktop button -->
35
- <div v-if="$isDesktop.value && $slots['filters']" class="ml-3">
35
+ <div v-if="$isDesktop.value && $slots['filters']" class="tw-ml-3">
36
36
  <VcTableFilter
37
37
  :title="$t('Filters')"
38
38
  :counter="activeFilterCount"
@@ -46,7 +46,7 @@
46
46
  </div>
47
47
  </slot>
48
48
 
49
- <div class="flex relative overflow-hidden grow">
49
+ <div class= "tw-flex tw-relative tw-overflow-hidden tw-grow">
50
50
  <!-- Table loading overlay -->
51
51
  <VcLoading :active="loading"></VcLoading>
52
52
 
@@ -55,7 +55,7 @@
55
55
  v-if="items && items.length"
56
56
  ref="scrollContainer"
57
57
  :noPadding="true"
58
- class="grow basis-0"
58
+ class="tw-grow tw-basis-0"
59
59
  :usePtr="!!$attrs['onScroll:ptr']"
60
60
  @scroll:ptr="$emit('scroll:ptr')"
61
61
  >
@@ -79,7 +79,7 @@
79
79
  <!-- Desktop table view -->
80
80
  <table
81
81
  v-else
82
- class="[border-spacing:0] border-collapse relative pt-[43px] table-fixed box-border w-full"
82
+ class="[border-spacing:0] tw-border-collapse tw-relative tw-pt-[43px] tw-table-fixed tw-box-border tw-w-full"
83
83
  :class="{
84
84
  'vc-table_empty': !items || !items.length,
85
85
  'vc-table_multiselect': multiselect,
@@ -89,10 +89,10 @@
89
89
  <tr class="vc-table__header-row">
90
90
  <th
91
91
  v-if="multiselect"
92
- class="h-[42px] bg-[#f9f9f9] !border-0 shadow-[inset_0px_1px_0px_#eaedf3,_inset_0px_-1px_0px_#eaedf3] box-border sticky top-0 select-none overflow-hidden z-[1]"
92
+ class="tw-h-[42px] tw-bg-[#f9f9f9] !tw-border-0 tw-shadow-[inset_0px_1px_0px_#eaedf3,_inset_0px_-1px_0px_#eaedf3] tw-box-border sticky tw-top-0 tw-select-none tw-overflow-hidden tw-z-[1]"
93
93
  width="50"
94
94
  >
95
- <div class="flex justify-center items-center">
95
+ <div class= "tw-flex tw-justify-center tw-items-center">
96
96
  <VcCheckbox
97
97
  :modelValue="headerCheckbox"
98
98
  @update:modelValue="processHeaderCheckbox"
@@ -103,21 +103,21 @@
103
103
  <th
104
104
  v-for="item in columns"
105
105
  :key="item.id"
106
- class="h-[42px] bg-[#f9f9f9] !border-0 shadow-[inset_0px_1px_0px_#eaedf3,_inset_0px_-1px_0px_#eaedf3] box-border sticky top-0 select-none overflow-hidden z-[1] px-3"
106
+ class="tw-h-[42px] tw-bg-[#f9f9f9] !tw-border-0 tw-shadow-[inset_0px_1px_0px_#eaedf3,_inset_0px_-1px_0px_#eaedf3] tw-box-border sticky tw-top-0 tw-select-none tw-overflow-hidden tw-z-[1] tw-px-3"
107
107
  :class="{
108
- 'cursor-pointer group': item.sortable,
108
+ 'tw-cursor-pointer tw-group': item.sortable,
109
109
  }"
110
110
  :width="item.width"
111
111
  @click="handleHeaderClick(item)"
112
112
  >
113
113
  <div
114
- class="flex items-center flex-nowrap"
114
+ class= "tw-flex tw-items-center tw-flex-nowrap"
115
115
  :class="tableAlignment[item.align]"
116
116
  >
117
117
  <div>
118
118
  <slot :name="`header_${item.id}`">{{ item.title }}</slot>
119
119
  </div>
120
- <div v-if="sortField === item.id" class="ml-1">
120
+ <div v-if="sortField === item.id" class="tw-ml-1">
121
121
  <VcIcon
122
122
  size="xs"
123
123
  :icon="`fas fa-caret-${
@@ -126,7 +126,7 @@
126
126
  ></VcIcon>
127
127
  </div>
128
128
  <div
129
- class="flex flex-col ml-1 invisible group-hover:visible"
129
+ class= "tw-flex tw-flex-col tw-ml-1 tw-invisible group-hover:tw-visible"
130
130
  v-else
131
131
  >
132
132
  <VcIcon size="xs" icon="fas fa-caret-up"></VcIcon>
@@ -135,7 +135,7 @@
135
135
  </div>
136
136
  </th>
137
137
  <th
138
- class="h-[42px] bg-[#f9f9f9] !border-0 shadow-[inset_0px_1px_0px_#eaedf3,_inset_0px_-1px_0px_#eaedf3] box-border sticky top-0 select-none overflow-hidden z-[1]"
138
+ class="tw-h-[42px] tw-bg-[#f9f9f9] !tw-border-0 tw-shadow-[inset_0px_1px_0px_#eaedf3,_inset_0px_-1px_0px_#eaedf3] tw-box-border sticky tw-top-0 tw-select-none tw-overflow-hidden tw-z-[1]"
139
139
  width="44"
140
140
  v-if="itemActionBuilder"
141
141
  ></th>
@@ -146,11 +146,11 @@
146
146
  <tr
147
147
  v-for="(item, i) in items"
148
148
  :key="item.id"
149
- class="vc-table__body-row h-[60px] bg-white hover:bg-[#dfeef9]"
149
+ class="vc-table__body-row tw-h-[60px] tw-bg-white hover:tw-bg-[#dfeef9]"
150
150
  :class="{
151
- 'cursor-pointer hover:bg-[#dfeef9]': onItemClick,
152
- 'bg-[#f8f8f8]': i % 2 === 1,
153
- '!bg-[#dfeef9] hover:bg-[#dfeef9]':
151
+ 'tw-cursor-pointer hover:tw-bg-[#dfeef9]': onItemClick,
152
+ 'tw-bg-[#f8f8f8]': i % 2 === 1,
153
+ '!tw-bg-[#dfeef9] hover:tw-bg-[#dfeef9]':
154
154
  item && item.id ? selectedItemId === item.id : false,
155
155
  }"
156
156
  @click="$emit('itemClick', item)"
@@ -158,7 +158,7 @@
158
158
  @mouseleave="closeActions"
159
159
  >
160
160
  <td v-if="multiselect" width="50">
161
- <div class="flex justify-center items-center">
161
+ <div class= "tw-flex tw-justify-center tw-items-center">
162
162
  <VcCheckbox
163
163
  :modelValue="checkboxes[item.id]"
164
164
  @update:modelValue="processCheckbox(item.id, $event)"
@@ -169,7 +169,7 @@
169
169
  <td
170
170
  v-for="cell in columns"
171
171
  :key="`${item.id}_${cell.id}`"
172
- class="box-border overflow-hidden px-3"
172
+ class="tw-box-border tw-overflow-hidden tw-px-3"
173
173
  :class="cell.class"
174
174
  :width="cell.width"
175
175
  >
@@ -178,15 +178,15 @@
178
178
  </slot>
179
179
  </td>
180
180
  <td
181
- class="box-border overflow-visible px-3"
181
+ class="tw-box-border tw-overflow-visible tw-px-3"
182
182
  width="44"
183
183
  v-if="itemActionBuilder"
184
184
  >
185
185
  <div
186
- class="vc-table__body-actions-container relative !hidden justify-center items-center"
186
+ class="vc-table__body-actions-container tw-relative !tw-hidden tw-justify-center tw-items-center"
187
187
  >
188
188
  <button
189
- class="text-[#319ed4] cursor-pointer border-none bg-transparent disabled:text-[gray]"
189
+ class="tw-text-[#319ed4] tw-cursor-pointer tw-border-none tw-bg-transparent disabled:tw-text-[gray]"
190
190
  @click.stop="showActions(item, item.id)"
191
191
  :ref="(el) => setActionToggleRefs(el, item.id)"
192
192
  aria-describedby="tooltip"
@@ -195,27 +195,27 @@
195
195
  <VcIcon icon="fas fa-cog" size="m" />
196
196
  </button>
197
197
  <div
198
- class="vc-table__body-tooltip bg-white rounded-l-[4px] p-[15px] z-0 absolute right-0 drop-shadow-[1px_3px_14px_rgba(111,122,131,0.25)]"
198
+ class="vc-table__body-tooltip tw-bg-white tw-rounded-l-[4px] tw-p-[15px] tw-z-0 tw-absolute tw-right-0 tw-drop-shadow-[1px_3px_14px_rgba(111,122,131,0.25)]"
199
199
  v-show="selectedRow === item.id"
200
200
  @mouseleave="closeActions"
201
201
  :ref="(el) => setTooltipRefs(el, item.id)"
202
202
  role="tooltip"
203
203
  >
204
204
  <div
205
- class="flex items-center flex-row text-[#3f3f3f] font-normal not-italic text-base leading-[20px] gap-[25px]"
205
+ class= "tw-flex tw-items-center tw-flex-row tw-text-[#3f3f3f] tw-font-normal not-italic tw-text-base tw-leading-[20px] tw-gap-[25px]"
206
206
  >
207
207
  <div
208
208
  v-for="(itemAction, i) in itemActions"
209
209
  :key="i"
210
210
  :class="[
211
- 'flex flex-row items-center text-[#319ed4] cursor-pointer',
211
+ 'tw-flex tw-flex-row tw-items-center tw-text-[#319ed4] tw-cursor-pointer',
212
212
  `vc-table__body-actions-item_${itemAction.variant}`,
213
213
  ]"
214
214
  @click.stop="itemAction.clickHandler(item)"
215
215
  >
216
216
  <VcIcon :icon="itemAction.icon" size="m" />
217
217
  <div
218
- class="not-italic font-normal text-base leading-[20px] text-[#3f3f3f] ml-[7px]"
218
+ class="tw-not-italic tw-font-normal tw-text-base tw-leading-[20px] tw-text-[#3f3f3f] tw-ml-[7px]"
219
219
  >
220
220
  {{ itemAction.title }}
221
221
  </div>
@@ -241,10 +241,10 @@
241
241
  >
242
242
  <div
243
243
  v-if="notfound"
244
- class="w-full h-full box-border flex flex-col items-center justify-center"
244
+ class="tw-w-full tw-h-full tw-box-border tw-flex tw-flex-col tw-items-center tw-justify-center"
245
245
  >
246
246
  <img v-if="notfound.image" :src="notfound.image" />
247
- <div class="m-4 vc-table__empty-text">
247
+ <div class="tw-m-4 vc-table__empty-text">
248
248
  {{ notfound.text }}
249
249
  </div>
250
250
  <VcButton v-if="notfound.action" @click="notfound.clickHandler">
@@ -255,10 +255,10 @@
255
255
  <slot v-else name="empty">
256
256
  <div
257
257
  v-if="empty"
258
- class="w-full h-full box-border flex flex-col items-center justify-center"
258
+ class="tw-w-full tw-h-full tw-box-border tw-flex tw-flex-col tw-items-center tw-justify-center"
259
259
  >
260
260
  <img v-if="empty.image" :src="empty.image" />
261
- <div class="m-4 text-xl font-medium">{{ empty.text }}</div>
261
+ <div class="tw-m-4 tw-text-xl tw-font-medium">{{ empty.text }}</div>
262
262
  <VcButton v-if="empty.action" @click="empty.clickHandler">
263
263
  {{ empty.action }}
264
264
  </VcButton>
@@ -273,7 +273,7 @@
273
273
  v-if="($slots['footer'] || footer) && items && items.length"
274
274
  >
275
275
  <div
276
- class="bg-[#fbfdfe] border-t border-solid border-[#eaedf3] flex-shrink-0 flex items-center justify-between p-4"
276
+ class="tw-bg-[#fbfdfe] tw-border-t tw-border-solid tw-border-[#eaedf3] tw-flex-shrink-0 tw-flex tw-items-center tw-justify-between tw-p-4"
277
277
  >
278
278
  <!-- Table pagination -->
279
279
  <VcPagination
@@ -302,7 +302,7 @@ import {
302
302
  VcContainer,
303
303
  VcInput,
304
304
  VcPagination,
305
- } from "@/components";
305
+ } from "@/ui/components";
306
306
  import VcTableCounter from "./_internal/vc-table-counter/vc-table-counter.vue";
307
307
  import VcTableFilter from "./_internal/vc-table-filter/vc-table-filter.vue";
308
308
  import VcTableMobileItem from "./_internal/vc-table-mobile-item/vc-table-mobile-item.vue";
@@ -606,32 +606,32 @@ $variants: (
606
606
  }
607
607
 
608
608
  &-row:hover .vc-table__body-actions-container {
609
- @apply flex #{!important};
609
+ @apply tw-flex #{!important};
610
610
  }
611
611
 
612
612
  &-actions-item {
613
613
  @each $name, $variant in $variants {
614
614
  &_#{$name} {
615
- @apply text-[#{$variant}];
615
+ @apply tw-text-[#{$variant}];
616
616
  }
617
617
  }
618
618
  }
619
619
 
620
620
  &-tooltip-arrow,
621
621
  &-tooltip-arrow:before {
622
- @apply absolute w-2 h-2 bg-inherit;
622
+ @apply tw-absolute tw-w-2 tw-h-2 tw-bg-inherit;
623
623
  }
624
624
 
625
625
  &-tooltip-arrow {
626
- @apply invisible before:visible before:content-[""] before:rotate-45;
626
+ @apply tw-invisible before:tw-visible before:tw-content-[""] before:tw-rotate-45;
627
627
  }
628
628
 
629
629
  &-tooltip[data-popper-placement^="top"] > .vc-table__body-tooltip-arrow {
630
- @apply bottom-[-5px];
630
+ @apply tw-bottom-[-5px];
631
631
  }
632
632
 
633
633
  &-tooltip[data-popper-placement^="bottom"] > .vc-table__body-tooltip-arrow {
634
- @apply top-[-5px];
634
+ @apply tw-top-[-5px];
635
635
  }
636
636
  }
637
637
  }
@@ -0,0 +1,38 @@
1
+ import { GlobalComponentConstructor } from "./ts-helpers";
2
+ import {
3
+ VcInputEmits,
4
+ VcInputProps,
5
+ VcInputSlots,
6
+ } from "../components/molecules/vc-input/vc-input-model";
7
+ import {
8
+ VcSelectEmits,
9
+ VcSelectProps,
10
+ VcSelectSlots,
11
+ } from "../components/molecules/vc-select/vc-select-model";
12
+ import {
13
+ VcInputCurrencyProps,
14
+ VcInputCurrencyEmits,
15
+ VcInputCurrencySlots,
16
+ } from "@/ui/components/molecules/vc-input-currency/vc-input-currency-model";
17
+
18
+ declare module "@vue/runtime-core" {
19
+ interface GlobalComponents {
20
+ VcInput: GlobalComponentConstructor<
21
+ VcInputProps,
22
+ VcInputSlots,
23
+ VcInputEmits
24
+ >;
25
+ VcInputCurrency: GlobalComponentConstructor<
26
+ VcInputCurrencyProps,
27
+ VcInputCurrencySlots,
28
+ VcInputCurrencyEmits
29
+ >;
30
+ VcSelect: GlobalComponentConstructor<
31
+ VcSelectProps,
32
+ VcSelectSlots,
33
+ VcSelectEmits
34
+ >;
35
+ }
36
+ }
37
+
38
+ export {};
@@ -0,0 +1,46 @@
1
+ /* eslint-disable */
2
+ import {
3
+ ComponentOptions,
4
+ ComponentPublicInstance,
5
+ ComputedOptions,
6
+ EmitsOptions,
7
+ MethodOptions,
8
+ VNodeProps,
9
+ } from "vue";
10
+
11
+ export type PublicProps = VNodeProps;
12
+
13
+ export type ComponentConstructor<
14
+ Component extends ComponentPublicInstance<
15
+ Props,
16
+ RawBindings,
17
+ D,
18
+ C,
19
+ M,
20
+ E
21
+ > = ComponentPublicInstance<any>,
22
+ Props = any,
23
+ RawBindings = any,
24
+ D = any,
25
+ C extends ComputedOptions = ComputedOptions,
26
+ M extends MethodOptions = MethodOptions,
27
+ E extends EmitsOptions = EmitsOptions
28
+ > = { new (): Component } & ComponentOptions<
29
+ Props,
30
+ RawBindings,
31
+ D,
32
+ C,
33
+ M,
34
+ any,
35
+ any,
36
+ E
37
+ >;
38
+
39
+
40
+ export type GlobalComponentConstructor<Props = {}, Slots = {}, Emits = {}> = {
41
+ new (): {
42
+ $props: PublicProps & Props;
43
+ $slots: Slots;
44
+ $emit: EmitsOptions & Emits;
45
+ };
46
+ };
@@ -1,63 +0,0 @@
1
- <template>
2
- <div
3
- class="inline-block rounded-[var(--badge-border-radius)] py-1 px-2 text-base font-normal bg-[color:var(--badge-background-color)] text-[color:var(--badge-text-color)] border border-solid border-[color:var(--badge-border-color)] transition duration-200"
4
- :class="{
5
- 'bg-[color:var(--badge-background-color-active)] text-[color:var(--badge-text-color-active)] border-[color:var(--badge-border-color-active)]':
6
- active,
7
- 'cursor-pointer hover:bg-[color:var(--badge-background-color-active)] hover:text-[color:var(--badge-text-color-hover)] hover:border-[color:var(--badge-border-color-hover)]':
8
- clickable,
9
- 'cursor-not-allowed bg-[color:var(--badge-background-color-disabled)] text-[color:var(--badge-text-color-disabled)] border-[color:var(--badge-border-color-disabled)] hover:bg-[color:var(--badge-background-color-disabled)] hover:text-[color:var(--badge-text-color-disabled)] hover:border-[color:var(--badge-border-color-disabled)]':
10
- disabled,
11
- }"
12
- @click="onClick"
13
- >
14
- <slot></slot>
15
- </div>
16
- </template>
17
-
18
- <script lang="ts" setup>
19
- const props = defineProps({
20
- active: {
21
- type: Boolean,
22
- default: false,
23
- },
24
-
25
- disabled: {
26
- type: Boolean,
27
- default: false,
28
- },
29
-
30
- clickable: {
31
- type: Boolean,
32
- default: true,
33
- },
34
- });
35
- const emit = defineEmits(["click"]);
36
-
37
- function onClick(): void {
38
- if (props.clickable && !props.disabled) {
39
- emit("click");
40
- }
41
- }
42
- </script>
43
-
44
- <style lang="scss">
45
- :root {
46
- --badge-background-color: #ffffff;
47
- --badge-background-color-hover: #fafafa;
48
- --badge-background-color-active: #fafafa;
49
- --badge-background-color-disabled: #f2f2f2;
50
-
51
- --badge-text-color: #455668;
52
- --badge-text-color-hover: #3b4959;
53
- --badge-text-color-active: #3b4959;
54
- --badge-text-color-disabled: #8296ab;
55
-
56
- --badge-border-radius: 35px;
57
-
58
- --badge-border-color: #a1bfd4;
59
- --badge-border-color-hover: #8fb3cc;
60
- --badge-border-color-active: #8fb3cc;
61
- --badge-border-color-disabled: #b2cbdc;
62
- }
63
- </style>
@@ -1,30 +0,0 @@
1
- <template>
2
- <div
3
- class="absolute items-center justify-center flex-col z-[9998] hidden w-full h-full box-border"
4
- :class="{
5
- '!flex backdrop-blur-[3px] bg-[rgba(255, 255, 255, 0.5)]': active,
6
- }"
7
- >
8
- <div class="relative w-[142px] h-[40px] z-[1]">
9
- <span
10
- class="absolute w-4 h-4 top-[12px] left-[15px] bg-[#319ed4] rounded-full translate-x-0 animate-loadingMarker"
11
- ></span>
12
- <div class="translate-x-0 mt-3 ml-[31px] animate-loadingMarkers">
13
- <span
14
- class="block float-left w-4 h-4 bg-[#319ed4] rounded-full ml-4"
15
- v-for="item in 3"
16
- :key="`marker_${item}`"
17
- ></span>
18
- </div>
19
- </div>
20
- </div>
21
- </template>
22
-
23
- <script lang="ts" setup>
24
- defineProps({
25
- active: {
26
- type: Boolean,
27
- default: false,
28
- },
29
- });
30
- </script>
@@ -1,26 +0,0 @@
1
- /**
2
- * Input component.
3
- * @author Iurii A Taranov <me@flanker72.ru>
4
- */
5
- import { Story } from "@storybook/vue3";
6
- import VcInput from "./vc-input.vue";
7
-
8
- export default {
9
- title: "molecules/vc-input",
10
- component: VcInput,
11
- };
12
-
13
- const Template: Story = (args) => ({
14
- components: { VcInput },
15
- setup() {
16
- return { args };
17
- },
18
- template: '<vc-input v-bind="args"></vc-input>',
19
- });
20
-
21
- export const Input = Template.bind({});
22
- Input.storyName = "vc-input";
23
- Input.args = {
24
- placeholder: "Placeholder",
25
- clearable: true,
26
- };
@@ -1,25 +0,0 @@
1
- /**
2
- * Select component.
3
- * @author Iurii A Taranov <me@flanker72.ru>
4
- */
5
- import { Story } from "@storybook/vue3";
6
- import VcSelect from "./vc-select.vue";
7
-
8
- export default {
9
- title: "molecules/vc-select",
10
- component: VcSelect,
11
- };
12
-
13
- const Template: Story = (args) => ({
14
- components: { VcSelect },
15
- setup() {
16
- return { args };
17
- },
18
- template: '<vc-select v-bind="args"></vc-select>',
19
- });
20
-
21
- export const Select = Template.bind({});
22
- Select.storyName = "vc-select";
23
- Select.args = {
24
- options: [{ id: 1, title: "Option" }],
25
- };