@vc-shell/framework 1.0.290 → 1.0.292

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 (344) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/core/composables/index.ts +1 -0
  3. package/core/composables/useTheme/index.ts +60 -0
  4. package/core/directives/loading/styles.css +6 -1
  5. package/dist/core/composables/index.d.ts +1 -0
  6. package/dist/core/composables/index.d.ts.map +1 -1
  7. package/dist/core/composables/useTheme/index.d.ts +11 -0
  8. package/dist/core/composables/useTheme/index.d.ts.map +1 -0
  9. package/dist/framework.js +30150 -29360
  10. package/dist/index.css +1 -1
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/locales/en.json +6 -0
  13. package/dist/shared/components/app-bar-button/app-bar-button.vue.d.ts +56 -0
  14. package/dist/shared/components/app-bar-button/app-bar-button.vue.d.ts.map +1 -0
  15. package/dist/shared/components/app-bar-button/index.d.ts +2 -0
  16. package/dist/shared/components/app-bar-button/index.d.ts.map +1 -0
  17. package/dist/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue.d.ts +5 -5
  18. package/dist/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue.d.ts.map +1 -1
  19. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue.d.ts +1 -1
  20. package/dist/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.d.ts +4 -4
  21. package/dist/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.d.ts.map +1 -1
  22. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts.map +1 -1
  23. package/dist/shared/components/change-password/change-password.vue.d.ts +3 -3
  24. package/dist/shared/components/change-password/index.d.ts +4 -4
  25. package/dist/shared/components/change-password/index.d.ts.map +1 -1
  26. package/dist/shared/components/common/popup/vc-popup-error.vue.d.ts +3 -3
  27. package/dist/shared/components/common/popup/vc-popup-warning.vue.d.ts +3 -3
  28. package/dist/shared/components/error-interceptor/index.d.ts +17 -17
  29. package/dist/shared/components/error-interceptor/interceptor.d.ts +7 -7
  30. package/dist/shared/components/index.d.ts +3 -0
  31. package/dist/shared/components/index.d.ts.map +1 -1
  32. package/dist/shared/components/language-selector/index.d.ts +1 -1
  33. package/dist/shared/components/language-selector/index.d.ts.map +1 -1
  34. package/dist/shared/components/language-selector/language-selector.vue.d.ts +1 -1
  35. package/dist/shared/components/language-selector/language-selector.vue.d.ts.map +1 -1
  36. package/dist/shared/components/notification-dropdown/_internal/notification/notification.vue.d.ts +3 -3
  37. package/dist/shared/components/notification-dropdown/index.d.ts +1 -1
  38. package/dist/shared/components/notification-dropdown/index.d.ts.map +1 -1
  39. package/dist/shared/components/notification-dropdown/notification-dropdown.vue.d.ts +1 -1
  40. package/dist/shared/components/notification-dropdown/notification-dropdown.vue.d.ts.map +1 -1
  41. package/dist/shared/components/notification-template/index.d.ts +5 -5
  42. package/dist/shared/components/notification-template/notification-template.vue.d.ts +1 -1
  43. package/dist/shared/components/notification-template/notification-template.vue.d.ts.map +1 -1
  44. package/dist/shared/components/notifications/components/notification-container/index.d.ts +6 -6
  45. package/dist/shared/components/notifications/components/notification-container/index.d.ts.map +1 -1
  46. package/dist/shared/components/popup-handler/components/vc-popup-container/index.d.ts +1 -1
  47. package/dist/shared/components/popup-handler/components/vc-popup-container/index.d.ts.map +1 -1
  48. package/dist/shared/components/popup-handler/components/vc-popup-container/vc-popup-container.vue.d.ts +1 -1
  49. package/dist/shared/components/sidebar/index.d.ts +2 -0
  50. package/dist/shared/components/sidebar/index.d.ts.map +1 -0
  51. package/dist/shared/components/sidebar/sidebar.vue.d.ts +49 -0
  52. package/dist/shared/components/sidebar/sidebar.vue.d.ts.map +1 -0
  53. package/dist/shared/components/theme-selector/index.d.ts +2 -0
  54. package/dist/shared/components/theme-selector/index.d.ts.map +1 -0
  55. package/dist/shared/components/theme-selector/theme-selector.vue.d.ts +3 -0
  56. package/dist/shared/components/theme-selector/theme-selector.vue.d.ts.map +1 -0
  57. package/dist/shared/components/user-dropdown-button/index.d.ts +4 -4
  58. package/dist/shared/components/user-dropdown-button/index.d.ts.map +1 -1
  59. package/dist/shared/components/user-dropdown-button/user-dropdown-button.vue.d.ts +4 -4
  60. package/dist/shared/components/user-dropdown-button/user-dropdown-button.vue.d.ts.map +1 -1
  61. package/dist/shared/modules/assets/components/assets-details/assets-details.vue.d.ts +5 -5
  62. package/dist/shared/modules/assets-manager/components/assets-manager/assets-manager.vue.d.ts +6 -6
  63. package/dist/shared/modules/assets-manager/components/assets-manager/index.d.ts +8 -8
  64. package/dist/shared/modules/assets-manager/components/assets-manager/index.d.ts.map +1 -1
  65. package/dist/shared/modules/dynamic/components/SchemaRender.d.ts +143 -172
  66. package/dist/shared/modules/dynamic/components/SchemaRender.d.ts.map +1 -1
  67. package/dist/shared/modules/dynamic/components/fields/ValidationField.d.ts +4 -4
  68. package/dist/shared/modules/dynamic/components/fields/storybook/Button.stories.d.ts +6 -6
  69. package/dist/shared/modules/dynamic/components/fields/storybook/Card.stories.d.ts +6 -6
  70. package/dist/shared/modules/dynamic/components/fields/storybook/Checkbox.stories.d.ts +6 -6
  71. package/dist/shared/modules/dynamic/components/fields/storybook/ContentField.stories.d.ts +6 -6
  72. package/dist/shared/modules/dynamic/components/fields/storybook/EditorField.stories.d.ts +6 -6
  73. package/dist/shared/modules/dynamic/components/fields/storybook/Fieldset.stories.d.ts +6 -6
  74. package/dist/shared/modules/dynamic/components/fields/storybook/GalleryField.stories.d.ts +6 -6
  75. package/dist/shared/modules/dynamic/components/fields/storybook/ImageField.stories.d.ts +6 -6
  76. package/dist/shared/modules/dynamic/components/fields/storybook/InputCurrency.stories.d.ts +6 -6
  77. package/dist/shared/modules/dynamic/components/fields/storybook/InputField.stories.d.ts +6 -6
  78. package/dist/shared/modules/dynamic/components/fields/storybook/MultivalueField.stories.d.ts +6 -6
  79. package/dist/shared/modules/dynamic/components/fields/storybook/RadioButtonGroup.stories.d.ts +6 -6
  80. package/dist/shared/modules/dynamic/components/fields/storybook/RatingField.stories.d.ts +6 -6
  81. package/dist/shared/modules/dynamic/components/fields/storybook/SelectField.stories.d.ts +6 -6
  82. package/dist/shared/modules/dynamic/components/fields/storybook/StatusField.stories.d.ts +6 -6
  83. package/dist/shared/modules/dynamic/components/fields/storybook/TextareaField.stories.d.ts +6 -6
  84. package/dist/shared/modules/dynamic/components/fields/storybook/VideoField.stories.d.ts +6 -6
  85. package/dist/shared/modules/dynamic/components/fields/storybook/pages/DynamicRender.d.ts +6 -6
  86. package/dist/shared/modules/dynamic/composables/useDynamicViewsUtils/index.d.ts +1 -1
  87. package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts +61 -9
  88. package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts.map +1 -1
  89. package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts +31 -12
  90. package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts.map +1 -1
  91. package/dist/shared/modules/dynamic/types/index.d.ts +3 -0
  92. package/dist/shared/modules/dynamic/types/index.d.ts.map +1 -1
  93. package/dist/shared/pages/ChangePasswordPage/components/change-password/ChangePassword.vue.d.ts +16 -3
  94. package/dist/shared/pages/ChangePasswordPage/components/change-password/ChangePassword.vue.d.ts.map +1 -1
  95. package/dist/shared/pages/ChangePasswordPage/components/change-password/index.d.ts +9 -9
  96. package/dist/shared/pages/ChangePasswordPage/components/change-password/index.d.ts.map +1 -1
  97. package/dist/shared/pages/InvitePage/components/invite/Invite.vue.d.ts +24 -3
  98. package/dist/shared/pages/InvitePage/components/invite/Invite.vue.d.ts.map +1 -1
  99. package/dist/shared/pages/InvitePage/components/invite/index.d.ts +26 -3
  100. package/dist/shared/pages/InvitePage/components/invite/index.d.ts.map +1 -1
  101. package/dist/shared/pages/LoginPage/components/login/Login.vue.d.ts +1 -1
  102. package/dist/shared/pages/LoginPage/components/login/index.d.ts +3 -3
  103. package/dist/shared/pages/LoginPage/components/login/index.d.ts.map +1 -1
  104. package/dist/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue.d.ts +24 -3
  105. package/dist/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue.d.ts.map +1 -1
  106. package/dist/shared/pages/ResetPasswordPage/components/reset-password/index.d.ts +26 -3
  107. package/dist/shared/pages/ResetPasswordPage/components/reset-password/index.d.ts.map +1 -1
  108. package/dist/tailwind.config.d.ts +43 -15
  109. package/dist/tailwind.config.d.ts.map +1 -1
  110. package/dist/tsconfig.tsbuildinfo +1 -1
  111. package/dist/ui/components/atoms/vc-badge/vc-badge.stories.d.ts +55 -55
  112. package/dist/ui/components/atoms/vc-badge/vc-badge.vue.d.ts +5 -5
  113. package/dist/ui/components/atoms/vc-badge/vc-badge.vue.d.ts.map +1 -1
  114. package/dist/ui/components/atoms/vc-button/vc-button.stories.d.ts +143 -143
  115. package/dist/ui/components/atoms/vc-button/vc-button.vue.d.ts +5 -5
  116. package/dist/ui/components/atoms/vc-card/index.d.ts +11 -11
  117. package/dist/ui/components/atoms/vc-card/vc-card.stories.d.ts +89 -89
  118. package/dist/ui/components/atoms/vc-card/vc-card.vue.d.ts +5 -5
  119. package/dist/ui/components/atoms/vc-col/vc-col.stories.d.ts +7 -7
  120. package/dist/ui/components/atoms/vc-col/vc-col.vue.d.ts +4 -4
  121. package/dist/ui/components/atoms/vc-container/index.d.ts +15 -15
  122. package/dist/ui/components/atoms/vc-container/vc-container.vue.d.ts +5 -5
  123. package/dist/ui/components/atoms/vc-hint/index.d.ts +3 -3
  124. package/dist/ui/components/atoms/vc-hint/vc-hint.stories.d.ts +3 -3
  125. package/dist/ui/components/atoms/vc-hint/vc-hint.vue.d.ts +1 -1
  126. package/dist/ui/components/atoms/vc-icon/vc-icon.stories.d.ts +4 -4
  127. package/dist/ui/components/atoms/vc-icon/vc-icon.vue.d.ts +4 -4
  128. package/dist/ui/components/atoms/vc-image/index.d.ts +5 -5
  129. package/dist/ui/components/atoms/vc-image/index.d.ts.map +1 -1
  130. package/dist/ui/components/atoms/vc-image/vc-image.stories.d.ts +5 -5
  131. package/dist/ui/components/atoms/vc-image/vc-image.vue.d.ts +5 -5
  132. package/dist/ui/components/atoms/vc-label/vc-label.stories.d.ts +7 -7
  133. package/dist/ui/components/atoms/vc-label/vc-label.vue.d.ts +4 -4
  134. package/dist/ui/components/atoms/vc-link/index.d.ts +10 -10
  135. package/dist/ui/components/atoms/vc-link/vc-link.stories.d.ts +10 -10
  136. package/dist/ui/components/atoms/vc-link/vc-link.vue.d.ts +3 -3
  137. package/dist/ui/components/atoms/vc-link/vc-link.vue.d.ts.map +1 -1
  138. package/dist/ui/components/atoms/vc-loading/index.d.ts +3 -3
  139. package/dist/ui/components/atoms/vc-loading/index.d.ts.map +1 -1
  140. package/dist/ui/components/atoms/vc-loading/vc-loading.stories.d.ts +3 -3
  141. package/dist/ui/components/atoms/vc-loading/vc-loading.vue.d.ts +1 -1
  142. package/dist/ui/components/atoms/vc-progress/index.d.ts +7 -7
  143. package/dist/ui/components/atoms/vc-progress/index.d.ts.map +1 -1
  144. package/dist/ui/components/atoms/vc-progress/vc-progress.stories.d.ts +7 -7
  145. package/dist/ui/components/atoms/vc-progress/vc-progress.vue.d.ts +4 -4
  146. package/dist/ui/components/atoms/vc-progress/vc-progress.vue.d.ts.map +1 -1
  147. package/dist/ui/components/atoms/vc-row/vc-row.stories.d.ts +3 -3
  148. package/dist/ui/components/atoms/vc-row/vc-row.vue.d.ts +1 -1
  149. package/dist/ui/components/atoms/vc-status/vc-status.stories.d.ts +7 -7
  150. package/dist/ui/components/atoms/vc-status/vc-status.vue.d.ts +4 -4
  151. package/dist/ui/components/atoms/vc-status/vc-status.vue.d.ts.map +1 -1
  152. package/dist/ui/components/atoms/vc-status-icon/vc-status-icon.vue.d.ts +1 -1
  153. package/dist/ui/components/atoms/vc-switch/vc-switch.stories.d.ts +5 -5
  154. package/dist/ui/components/atoms/vc-switch/vc-switch.vue.d.ts +5 -5
  155. package/dist/ui/components/atoms/vc-tooltip/vc-tooltip.vue.d.ts +4 -4
  156. package/dist/ui/components/atoms/vc-tooltip/vc-tooltip.vue.d.ts.map +1 -1
  157. package/dist/ui/components/atoms/vc-video/vc-video.stories.d.ts +4 -4
  158. package/dist/ui/components/atoms/vc-video/vc-video.vue.d.ts +3 -3
  159. package/dist/ui/components/atoms/vc-video/vc-video.vue.d.ts.map +1 -1
  160. package/dist/ui/components/atoms/vc-widget/index.d.ts +4 -4
  161. package/dist/ui/components/atoms/vc-widget/index.d.ts.map +1 -1
  162. package/dist/ui/components/atoms/vc-widget/vc-widget.stories.d.ts +4 -4
  163. package/dist/ui/components/atoms/vc-widget/vc-widget.vue.d.ts +3 -3
  164. package/dist/ui/components/molecules/vc-breadcrumbs/_internal/vc-breadcrumbs-item/vc-breadcrumbs-item.vue.d.ts +3 -3
  165. package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.stories.d.ts +4 -4
  166. package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue.d.ts +4 -4
  167. package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue.d.ts.map +1 -1
  168. package/dist/ui/components/molecules/vc-checkbox/index.d.ts +11 -11
  169. package/dist/ui/components/molecules/vc-checkbox/vc-checkbox.stories.d.ts +110 -110
  170. package/dist/ui/components/molecules/vc-checkbox/vc-checkbox.vue.d.ts +5 -5
  171. package/dist/ui/components/molecules/vc-checkbox/vc-checkbox.vue.d.ts.map +1 -1
  172. package/dist/ui/components/molecules/vc-editor/vc-editor.stories.d.ts +405 -18
  173. package/dist/ui/components/molecules/vc-editor/vc-editor.stories.d.ts.map +1 -1
  174. package/dist/ui/components/molecules/vc-field/_internal/vc-field-type/vc-field-type.vue.d.ts +3 -3
  175. package/dist/ui/components/molecules/vc-field/_internal/vc-field-type/vc-field-type.vue.d.ts.map +1 -1
  176. package/dist/ui/components/molecules/vc-field/vc-field.stories.d.ts +4 -4
  177. package/dist/ui/components/molecules/vc-field/vc-field.vue.d.ts +4 -4
  178. package/dist/ui/components/molecules/vc-field/vc-field.vue.d.ts.map +1 -1
  179. package/dist/ui/components/molecules/vc-file-upload/vc-file-upload.stories.d.ts +11 -11
  180. package/dist/ui/components/molecules/vc-file-upload/vc-file-upload.vue.d.ts +5 -5
  181. package/dist/ui/components/molecules/vc-file-upload/vc-file-upload.vue.d.ts.map +1 -1
  182. package/dist/ui/components/molecules/vc-form/index.d.ts +3 -3
  183. package/dist/ui/components/molecules/vc-form/vc-form.stories.d.ts +3 -3
  184. package/dist/ui/components/molecules/vc-form/vc-form.vue.d.ts +1 -1
  185. package/dist/ui/components/molecules/vc-input/vc-input.stories.d.ts +23 -23
  186. package/dist/ui/components/molecules/vc-input/vc-input.vue.d.ts +5 -5
  187. package/dist/ui/components/molecules/vc-input/vc-input.vue.d.ts.map +1 -1
  188. package/dist/ui/components/molecules/vc-input-currency/vc-input-currency.stories.d.ts +23 -23
  189. package/dist/ui/components/molecules/vc-input-currency/vc-input-currency.vue.d.ts +5 -5
  190. package/dist/ui/components/molecules/vc-multivalue/vc-multivalue.stories.d.ts +84 -84
  191. package/dist/ui/components/molecules/vc-multivalue/vc-multivalue.vue.d.ts +12 -12
  192. package/dist/ui/components/molecules/vc-notification/vc-notification.vue.d.ts +1 -1
  193. package/dist/ui/components/molecules/vc-pagination/index.d.ts +5 -5
  194. package/dist/ui/components/molecules/vc-pagination/index.d.ts.map +1 -1
  195. package/dist/ui/components/molecules/vc-pagination/vc-pagination.stories.d.ts +10 -10
  196. package/dist/ui/components/molecules/vc-pagination/vc-pagination.stories.d.ts.map +1 -1
  197. package/dist/ui/components/molecules/vc-pagination/vc-pagination.vue.d.ts +5 -5
  198. package/dist/ui/components/molecules/vc-radio-button/vc-radio-button.stories.d.ts +92 -92
  199. package/dist/ui/components/molecules/vc-radio-button/vc-radio-button.vue.d.ts +5 -5
  200. package/dist/ui/components/molecules/vc-rating/vc-rating.stories.d.ts +92 -92
  201. package/dist/ui/components/molecules/vc-rating/vc-rating.vue.d.ts +4 -4
  202. package/dist/ui/components/molecules/vc-select/vc-select.stories.d.ts +150 -150
  203. package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts +15 -15
  204. package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts.map +1 -1
  205. package/dist/ui/components/molecules/vc-slider/index.d.ts +7 -7
  206. package/dist/ui/components/molecules/vc-slider/vc-slider.stories.d.ts +7 -7
  207. package/dist/ui/components/molecules/vc-slider/vc-slider.vue.d.ts +4 -4
  208. package/dist/ui/components/molecules/vc-slider/vc-slider.vue.d.ts.map +1 -1
  209. package/dist/ui/components/molecules/vc-textarea/vc-textarea.stories.d.ts +77 -77
  210. package/dist/ui/components/molecules/vc-textarea/vc-textarea.vue.d.ts +5 -5
  211. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue.d.ts +3 -3
  212. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue.d.ts +5 -5
  213. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue.d.ts.map +1 -1
  214. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/vc-app-menu-item.vue.d.ts +5 -5
  215. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue.d.ts +7 -7
  216. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue.d.ts.map +1 -1
  217. package/dist/ui/components/organisms/vc-app/vc-app.stories.d.ts +27 -25
  218. package/dist/ui/components/organisms/vc-app/vc-app.stories.d.ts.map +1 -1
  219. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts +23 -21
  220. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
  221. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue.d.ts +4 -4
  222. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue.d.ts.map +1 -1
  223. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue.d.ts +5 -5
  224. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue.d.ts.map +1 -1
  225. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue.d.ts +4 -4
  226. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue.d.ts.map +1 -1
  227. package/dist/ui/components/organisms/vc-blade/vc-blade.stories.d.ts +11 -11
  228. package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts +5 -5
  229. package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue.d.ts +3 -3
  230. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue.d.ts +6 -6
  231. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue.d.ts +5 -5
  232. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue.d.ts.map +1 -1
  233. package/dist/ui/components/organisms/vc-gallery/vc-gallery.stories.d.ts +7 -7
  234. package/dist/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts +7 -7
  235. package/dist/ui/components/organisms/vc-login-form/vc-login-form.vue.d.ts +4 -4
  236. package/dist/ui/components/organisms/vc-popup/vc-popup.vue.d.ts +6 -6
  237. package/dist/ui/components/organisms/vc-table/_internal/vc-table-add-new/vc-table-add-new.vue.d.ts +3 -3
  238. package/dist/ui/components/organisms/vc-table/_internal/vc-table-add-new/vc-table-add-new.vue.d.ts.map +1 -1
  239. package/dist/ui/components/organisms/vc-table/_internal/vc-table-base-header/vc-table-base-header.vue.d.ts +4 -3
  240. package/dist/ui/components/organisms/vc-table/_internal/vc-table-base-header/vc-table-base-header.vue.d.ts.map +1 -1
  241. package/dist/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue.d.ts +3 -3
  242. package/dist/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue.d.ts.map +1 -1
  243. package/dist/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue.d.ts +3 -3
  244. package/dist/ui/components/organisms/vc-table/_internal/vc-table-counter/vc-table-counter.vue.d.ts +4 -4
  245. package/dist/ui/components/organisms/vc-table/_internal/vc-table-empty/vc-table-empty.vue.d.ts +1 -1
  246. package/dist/ui/components/organisms/vc-table/_internal/vc-table-empty/vc-table-empty.vue.d.ts.map +1 -1
  247. package/dist/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue.d.ts +5 -4
  248. package/dist/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue.d.ts.map +1 -1
  249. package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue.d.ts +9 -9
  250. package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue.d.ts.map +1 -1
  251. package/dist/ui/components/organisms/vc-table/vc-table.stories.d.ts +180 -165
  252. package/dist/ui/components/organisms/vc-table/vc-table.stories.d.ts.map +1 -1
  253. package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts +36 -33
  254. package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts.map +1 -1
  255. package/package.json +4 -4
  256. package/shared/components/app-bar-button/app-bar-button.vue +169 -0
  257. package/shared/components/app-bar-button/index.ts +1 -0
  258. package/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue +138 -38
  259. package/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue +10 -1
  260. package/shared/components/blade-navigation/composables/useBladeNavigation/index.ts +55 -30
  261. package/shared/components/change-password/change-password.vue +7 -1
  262. package/shared/components/common/popup/vc-popup-error.vue +1 -1
  263. package/shared/components/common/popup/vc-popup-warning.vue +1 -1
  264. package/shared/components/index.ts +3 -0
  265. package/shared/components/language-selector/language-selector.vue +55 -39
  266. package/shared/components/notification-dropdown/_internal/notification/notification.vue +7 -1
  267. package/shared/components/notification-dropdown/notification-dropdown.vue +96 -83
  268. package/shared/components/notification-template/notification-template.vue +66 -22
  269. package/shared/components/notifications/styles/index.scss +1 -0
  270. package/shared/components/sidebar/index.ts +1 -0
  271. package/shared/components/sidebar/sidebar.vue +96 -0
  272. package/shared/components/theme-selector/index.ts +1 -0
  273. package/shared/components/theme-selector/theme-selector.vue +95 -0
  274. package/shared/components/user-dropdown-button/user-dropdown-button.vue +139 -86
  275. package/shared/modules/assets/components/assets-details/assets-details.vue +9 -2
  276. package/shared/modules/assets-manager/components/assets-manager/assets-manager.vue +16 -6
  277. package/shared/modules/dynamic/composables/useFilterBuilder/index.ts +1 -1
  278. package/shared/modules/dynamic/helpers/nodeBuilder.ts +1 -1
  279. package/shared/modules/dynamic/pages/dynamic-blade-form.vue +6 -2
  280. package/shared/modules/dynamic/pages/dynamic-blade-list.vue +16 -2
  281. package/shared/modules/dynamic/types/index.ts +3 -0
  282. package/shared/pages/ChangePasswordPage/components/change-password/ChangePassword.vue +14 -9
  283. package/shared/pages/InvitePage/components/invite/Invite.vue +59 -15
  284. package/shared/pages/LoginPage/components/login/Login.vue +78 -22
  285. package/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue +67 -15
  286. package/tailwind.config.ts +283 -15
  287. package/ui/components/atoms/vc-badge/vc-badge.vue +38 -23
  288. package/ui/components/atoms/vc-button/vc-button.vue +37 -34
  289. package/ui/components/atoms/vc-card/vc-card.vue +17 -11
  290. package/ui/components/atoms/vc-col/vc-col.vue +4 -6
  291. package/ui/components/atoms/vc-container/vc-container.vue +26 -8
  292. package/ui/components/atoms/vc-hint/vc-hint.vue +8 -2
  293. package/ui/components/atoms/vc-icon/vc-icon.vue +3 -3
  294. package/ui/components/atoms/vc-image/vc-image.vue +33 -9
  295. package/ui/components/atoms/vc-label/vc-label.vue +38 -9
  296. package/ui/components/atoms/vc-link/vc-link.vue +15 -8
  297. package/ui/components/atoms/vc-loading/vc-loading.vue +37 -8
  298. package/ui/components/atoms/vc-progress/vc-progress.vue +29 -21
  299. package/ui/components/atoms/vc-row/vc-row.vue +4 -2
  300. package/ui/components/atoms/vc-status/vc-status.vue +29 -20
  301. package/ui/components/atoms/vc-status-icon/vc-status-icon.vue +20 -3
  302. package/ui/components/atoms/vc-switch/vc-switch.vue +41 -17
  303. package/ui/components/atoms/vc-tooltip/vc-tooltip.vue +35 -9
  304. package/ui/components/atoms/vc-video/vc-video.vue +28 -6
  305. package/ui/components/atoms/vc-widget/vc-widget.vue +59 -28
  306. package/ui/components/molecules/vc-breadcrumbs/_internal/vc-breadcrumbs-item/vc-breadcrumbs-item.vue +29 -27
  307. package/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue +34 -11
  308. package/ui/components/molecules/vc-checkbox/vc-checkbox.vue +43 -21
  309. package/ui/components/molecules/vc-editor/vc-editor.vue +70 -32
  310. package/ui/components/molecules/vc-field/_internal/vc-field-type/vc-field-type.vue +32 -16
  311. package/ui/components/molecules/vc-field/vc-field.vue +36 -13
  312. package/ui/components/molecules/vc-file-upload/vc-file-upload.vue +75 -25
  313. package/ui/components/molecules/vc-input/vc-input.vue +279 -218
  314. package/ui/components/molecules/vc-input-currency/vc-input-currency.vue +24 -2
  315. package/ui/components/molecules/vc-multivalue/vc-multivalue.vue +102 -64
  316. package/ui/components/molecules/vc-notification/vc-notification.vue +40 -15
  317. package/ui/components/molecules/vc-pagination/vc-pagination.vue +19 -15
  318. package/ui/components/molecules/vc-radio-button/vc-radio-button.vue +18 -23
  319. package/ui/components/molecules/vc-rating/vc-rating.vue +9 -5
  320. package/ui/components/molecules/vc-select/vc-select.vue +211 -65
  321. package/ui/components/molecules/vc-slider/vc-slider.vue +32 -13
  322. package/ui/components/molecules/vc-textarea/vc-textarea.vue +17 -12
  323. package/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue +68 -14
  324. package/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue +112 -122
  325. package/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue +213 -96
  326. package/ui/components/organisms/vc-app/vc-app.vue +41 -15
  327. package/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue +78 -30
  328. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue +81 -59
  329. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue +27 -13
  330. package/ui/components/organisms/vc-blade/vc-blade.vue +177 -46
  331. package/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue +40 -11
  332. package/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue +52 -18
  333. package/ui/components/organisms/vc-gallery/vc-gallery.vue +38 -6
  334. package/ui/components/organisms/vc-login-form/vc-login-form.vue +40 -14
  335. package/ui/components/organisms/vc-popup/vc-popup.vue +186 -44
  336. package/ui/components/organisms/vc-table/_internal/vc-table-add-new/vc-table-add-new.vue +25 -6
  337. package/ui/components/organisms/vc-table/_internal/vc-table-base-header/vc-table-base-header.vue +48 -12
  338. package/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue +130 -60
  339. package/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue +55 -7
  340. package/ui/components/organisms/vc-table/_internal/vc-table-counter/vc-table-counter.vue +17 -5
  341. package/ui/components/organisms/vc-table/_internal/vc-table-empty/vc-table-empty.vue +38 -6
  342. package/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue +111 -62
  343. package/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue +139 -46
  344. package/ui/components/organisms/vc-table/vc-table.vue +370 -128
@@ -1,24 +1,23 @@
1
1
  <template>
2
2
  <div
3
3
  v-loading:1000="unref(loading) || columnsInit"
4
- class="tw-relative tw-overflow-hidden tw-flex tw-flex-col tw-grow tw-basis-0 tw-border-[color:#eef0f2] tw-border-solid tw-border-t-0"
4
+ class="vc-table"
5
5
  >
6
6
  <div
7
7
  v-if="multiselect && $isMobile.value && (selection.length > 0 || allSelected)"
8
- class="tw-flex tw-flex-col"
8
+ class="vc-table__multiselect-mobile"
9
9
  >
10
- <div
11
- class="tw-flex tw-flex-row tw-items-center tw-justify-between tw-px-4 tw-py-2 tw-min-h-[56px] tw-font-bold tw-text-lg tw-border-[color:#eef0f2] tw-border-b tw-border-solid tw-box-border"
12
- >
13
- <div class="tw-flex tw-flex-row tw-w-full tw-justify-between">
14
- <div class="tw-flex tw-flex-row tw-items-center tw-justify-center tw-gap-3">
10
+ <div class="vc-table__select-all-bar">
11
+ <div class="vc-table__select-all-content">
12
+ <div class="vc-table__select-all-checkbox">
15
13
  <VcCheckbox
16
14
  v-model="headerCheckbox"
17
- class="tw-font-normal tw-self-center tw-flex"
15
+ class="vc-table__select-all-checkbox__checkbox"
18
16
  size="m"
19
17
  @click.stop
20
- >{{ $t("COMPONENTS.ORGANISMS.VC_TABLE.SELECT_ALL_TRUNCATED") }}</VcCheckbox
21
18
  >
19
+ {{ $t("COMPONENTS.ORGANISMS.VC_TABLE.SELECT_ALL_TRUNCATED") }}
20
+ </VcCheckbox>
22
21
  {{ $t("COMPONENTS.ORGANISMS.VC_TABLE.SELECTED") }}: {{ allSelected ? totalCount : selection.length }}
23
22
  </div>
24
23
 
@@ -30,15 +29,16 @@
30
29
  allSelected = false;
31
30
  }
32
31
  "
33
- >{{ $t("COMPONENTS.ORGANISMS.VC_TABLE.CANCEL") }}</VcButton
34
32
  >
33
+ {{ $t("COMPONENTS.ORGANISMS.VC_TABLE.CANCEL") }}
34
+ </VcButton>
35
35
  </div>
36
36
  </div>
37
37
  <div
38
38
  v-if="selectAll && showSelectionChoice"
39
- class="tw-w-full tw-flex tw-py-2"
39
+ class="vc-table__select-all-choice"
40
40
  >
41
- <div class="tw-w-full tw-flex tw-items-center tw-justify-center">
41
+ <div class="vc-table__select-all-choice__content">
42
42
  <div>
43
43
  {{
44
44
  allSelected
@@ -47,12 +47,13 @@
47
47
  }}
48
48
  <VcButton
49
49
  text
50
- class="tw-text-[13px]"
50
+ class="vc-table__select-all-choice__button"
51
51
  @click="handleSelectAll"
52
- >{{
53
- allSelected ? t("COMPONENTS.ORGANISMS.VC_TABLE.CANCEL") : t("COMPONENTS.ORGANISMS.VC_TABLE.SELECT_ALL")
54
- }}</VcButton
55
52
  >
53
+ {{
54
+ allSelected ? t("COMPONENTS.ORGANISMS.VC_TABLE.CANCEL") : t("COMPONENTS.ORGANISMS.VC_TABLE.SELECT_ALL")
55
+ }}
56
+ </VcButton>
56
57
  </div>
57
58
  </div>
58
59
  </div>
@@ -66,15 +67,15 @@
66
67
  name="header"
67
68
  :header="headerComponent"
68
69
  >
69
- <component :is="headerComponent"></component>
70
+ <headerComponent></headerComponent>
70
71
  </slot>
71
72
 
72
- <div class="tw-flex tw-relative tw-overflow-hidden tw-grow">
73
+ <div class="vc-table__content">
73
74
  <!-- Table scroll container -->
74
75
  <VcContainer
75
76
  ref="scrollContainer"
76
77
  :no-padding="true"
77
- class="vc-table__mobile-view tw-grow tw-basis-0 tw-relative"
78
+ class="vc-table__mobile-view"
78
79
  :use-ptr="selection.length === 0 ? pullToReload : undefined"
79
80
  @scroll:ptr="$emit('scroll:ptr')"
80
81
  >
@@ -82,7 +83,7 @@
82
83
  <template v-if="$isMobile.value">
83
84
  <div
84
85
  v-if="items && items.length && !columnsInit"
85
- class="tw-flex-grow tw-flex tw-flex-col tw-h-max"
86
+ class="vc-table__mobile-items"
86
87
  >
87
88
  <VcTableMobileItem
88
89
  v-for="(item, i) in items"
@@ -111,7 +112,7 @@
111
112
  </div>
112
113
  <div
113
114
  v-else
114
- class="tw-overflow-auto tw-flex tw-flex-col tw-h-full tw-flex-grow"
115
+ class="vc-table__mobile-empty"
115
116
  >
116
117
  <!-- Empty table view -->
117
118
  <VcTableEmpty
@@ -136,43 +137,41 @@
136
137
  <div
137
138
  v-else
138
139
  ref="tableRef"
139
- class="tw-relative tw-box-border tw-w-full tw-h-full tw-flex tw-flex-col"
140
+ class="vc-table__desktop-table"
140
141
  :class="{
141
- 'vc-table_empty': !items || !items.length,
142
- 'vc-table_multiselect': multiselect,
142
+ 'vc-table__empty': !items || !items.length,
143
+ 'vc-table__multiselect': multiselect,
143
144
  }"
144
145
  >
145
146
  <div
146
147
  v-if="filteredCols.length"
147
- class="vc-table__header tw-flex tw-flex-col tw-sticky tw-top-0 tw-bg-[#f9f9f9] tw-z-[1] tw-box-border"
148
+ class="vc-table__header"
148
149
  @mouseenter="handleHeaderMouseOver(true)"
149
150
  @mouseleave="handleHeaderMouseOver(false)"
150
151
  >
151
- <div class="vc-table__header-row tw-flex tw-flex-row">
152
+ <div class="vc-table__header-row">
152
153
  <div
153
154
  v-if="multiselect && items && items.length"
154
- class="tw-flex-1 tw-flex tw-items-center tw-justify-center tw-w-[36px] tw-max-w-[36px] tw-min-w-[36px] tw-bg-[#f9f9f9] !tw-border-0 tw-shadow-[inset_0px_1px_0px_#eaedf3,_inset_0px_-1px_0px_#eaedf3] tw-box-border tw-sticky tw-top-0 tw-select-none tw-overflow-hidden tw-z-[1]"
155
+ class="vc-table__header-checkbox"
155
156
  >
156
- <div class="tw-flex tw-justify-center tw-items-center">
157
+ <div class="vc-table__header-checkbox__content">
157
158
  <VcCheckbox
158
159
  v-model="headerCheckbox"
159
160
  size="m"
160
161
  @click.stop
161
162
  ></VcCheckbox>
162
163
  </div>
163
- <div class="tw-top-0 tw-bottom-0 tw-absolute tw-right-0 tw-flex tw-justify-end">
164
- <div class="tw-w-px tw-bg-[#e5e7eb] tw-h-full"></div>
165
- </div>
164
+ <div class="vc-table__header-checkbox__resizer"></div>
166
165
  </div>
167
166
  <div
168
167
  v-for="(item, index) in filteredCols"
169
168
  :id="item.id"
170
169
  :key="item.id"
171
- class="vc-table__header tw-flex-1 tw-flex tw-items-center tw-h-[42px] tw-bg-[#f9f9f9] !tw-border-0 tw-shadow-[inset_0px_1px_0px_#eaedf3,_inset_0px_-1px_0px_#eaedf3] tw-box-border tw-sticky tw-top-0 tw-select-none tw-overflow-hidden tw-z-[1]"
170
+ class="vc-table__header-cell"
172
171
  :class="[
173
172
  {
174
- 'tw-cursor-pointer tw-group': item.sortable,
175
- 'tw-p-r-[35px]': index === filteredCols.length - 1,
173
+ 'vc-table__header-cell--sortable': item.sortable,
174
+ 'vc-table__header-cell--last': index === filteredCols.length - 1,
176
175
  },
177
176
  item.align ? tableAlignment[item.align as keyof typeof tableAlignment] : '',
178
177
  ]"
@@ -184,30 +183,18 @@
184
183
  @drop="onColumnHeaderDrop($event, item)"
185
184
  @click="handleHeaderClick(item)"
186
185
  >
187
- <!-- <div
188
- v-if="!editing && multiselect && index === 0 && items && items.length"
189
- class="tw-flex tw-pl-5 tw-items-center tw-justify-center tw-w-auto tw-bg-[#f9f9f9] tw-box-border tw-select-none tw-overflow-hidden tw-z-[1] tw-shrink-0"
190
- >
191
- <div class="tw-flex tw-justify-center tw-items-center">
192
- <VcCheckbox
193
- v-model="headerCheckbox"
194
- size="m"
195
- @click.stop
196
- ></VcCheckbox>
197
- </div>
198
- </div> -->
199
- <div class="tw-flex tw-items-center tw-flex-nowrap tw-truncate tw-px-3 tw-font-bold">
200
- <div class="tw-truncate">
186
+ <div class="vc-table__header-cell__content">
187
+ <div class="vc-table__header-cell__title">
201
188
  <span
202
189
  v-if="editing && item.rules?.required"
203
- class="tw-text-[color:var(--label-required-color)] tw-mr-1"
190
+ class="vc-table__header-cell__required"
204
191
  >*</span
205
192
  >
206
193
  <slot :name="`header_${item.id}`">{{ item.title }}</slot>
207
194
  </div>
208
195
  <div
209
196
  v-if="sortField === item.id"
210
- class="tw-ml-1"
197
+ class="vc-table__header-cell__sort-icon"
211
198
  >
212
199
  <VcIcon
213
200
  size="xs"
@@ -216,7 +203,7 @@
216
203
  </div>
217
204
  <div
218
205
  v-else
219
- class="tw-flex tw-flex-col tw-ml-1 tw-invisible group-hover:tw-visible"
206
+ class="vc-table__header-cell__sort-icons"
220
207
  >
221
208
  <VcIcon
222
209
  size="xs"
@@ -229,9 +216,9 @@
229
216
  </div>
230
217
  </div>
231
218
  <div
232
- class="tw-w-[5px] tw-mr-[3px] tw-border-r tw-border-r-[#e5e7eb] tw-border-solid tw-h-full tw-top-0 tw-bottom-0 tw-absolute tw-right-0 tw-flex tw-justify-end"
219
+ class="vc-table__header-cell__resizer"
233
220
  :class="{
234
- 'tw-cursor-col-resize': props.resizableColumns,
221
+ 'vc-table__header-cell__resizer--cursor': props.resizableColumns,
235
222
  }"
236
223
  @mousedown="handleMouseDown($event, item)"
237
224
  ></div>
@@ -239,7 +226,7 @@
239
226
 
240
227
  <div
241
228
  v-if="isHeaderHover && props.expanded"
242
- class="tw-absolute tw-h-[42px] tw-z-[1] tw-right-0 tw-flex tw-items-center"
229
+ class="vc-table__column-switcher"
243
230
  >
244
231
  <VcTableColumnSwitcher
245
232
  :items="internalColumnsSorted"
@@ -252,18 +239,18 @@
252
239
 
253
240
  <div
254
241
  ref="resizer"
255
- class="tw-w-px tw-absolute tw-z-10 tw-hidden tw-h-full tw-bg-[#e5e7eb] tw-cursor-col-resize"
242
+ class="vc-table__resizer"
256
243
  ></div>
257
244
  <div
258
245
  ref="reorderRef"
259
- class="tw-w-0.5 tw-bg-[#41afe6] tw-h-full tw-absolute tw-top-0 tw-bottom-0 tw-z-[2] tw-hidden"
246
+ class="vc-table__reorder-ref"
260
247
  ></div>
261
248
  </div>
262
249
  <div
263
250
  v-if="selectAll && showSelectionChoice"
264
- class="tw-h-[60px] tw-min-h-[60px] tw-bg-[#dfeef9] tw-w-full tw-flex"
251
+ class="vc-table__select-all-footer"
265
252
  >
266
- <div class="tw-w-full tw-flex tw-items-center tw-justify-center">
253
+ <div class="vc-table__select-all-footer__content">
267
254
  <div>
268
255
  {{
269
256
  allSelected
@@ -272,32 +259,33 @@
272
259
  }}
273
260
  <VcButton
274
261
  text
275
- class="tw-text-[13px]"
262
+ class="vc-table__select-all-footer__button"
276
263
  @click="handleSelectAll"
277
- >{{
264
+ >
265
+ {{
278
266
  allSelected
279
267
  ? t("COMPONENTS.ORGANISMS.VC_TABLE.CANCEL")
280
268
  : t("COMPONENTS.ORGANISMS.VC_TABLE.SELECT_ALL")
281
- }}</VcButton
282
- >
269
+ }}
270
+ </VcButton>
283
271
  </div>
284
272
  </div>
285
273
  </div>
286
274
  <div
287
275
  v-if="items && items.length && !columnsInit"
288
- class="tw-flex tw-flex-col tw-overflow-auto"
276
+ class="vc-table__body"
289
277
  >
290
278
  <div
291
279
  v-for="(item, itemIndex) in items"
292
280
  :key="(typeof item === 'object' && 'id' in item && item.id) || itemIndex"
293
- class="vc-table__body-row tw-flex tw-w-full tw-h-[60px] tw-min-h-[60px] tw-relative tw-group"
281
+ class="vc-table__body-row"
294
282
  :class="{
295
- 'tw-bg-white': itemIndex % 2 === 0,
296
- 'hover:tw-bg-[#EEF6FC] tw-cursor-pointer tw-border-solid': hasClickListener,
297
- 'tw-bg-[#F9F9F9]': itemIndex % 2 === 1,
298
- '!tw-bg-[#EEF6FC] hover:!tw-bg-[#EEF6FC]':
283
+ 'vc-table__body-row--odd': itemIndex % 2 === 0,
284
+ 'vc-table__body-row--clickable': hasClickListener,
285
+ 'vc-table__body-row--even': itemIndex % 2 === 1,
286
+ 'vc-table__body-row--selected':
299
287
  typeof item === 'object' && 'id' in item && item.id ? selectedItemId === item.id : false,
300
- 'hover:!tw-bg-[#dfeef9] !tw-bg-[#dfeef9]': selection && selection.length && selection.includes(item),
288
+ 'vc-table__body-row--selection': selection && selection.length && selection.includes(item),
301
289
  }"
302
290
  @click="$emit('itemClick', item)"
303
291
  @mouseleave="closeActions"
@@ -311,10 +299,10 @@
311
299
  >
312
300
  <div
313
301
  v-if="multiselect && typeof item === 'object'"
314
- class="tw-w-[36px] tw-max-w-[36px] tw-min-w-[36px] tw-relative tw-flex-1 tw-flex tw-items-center tw-justify-center"
302
+ class="vc-table__body-row-checkbox"
315
303
  @click.stop
316
304
  >
317
- <div class="tw-flex tw-justify-center tw-items-center">
305
+ <div class="vc-table__body-row-checkbox-content">
318
306
  <VcCheckbox
319
307
  :model-value="isSelected(item)"
320
308
  size="m"
@@ -322,22 +310,17 @@
322
310
  @update:model-value="rowCheckbox(item)"
323
311
  ></VcCheckbox>
324
312
  </div>
325
- <div class="tw-w-px tw-top-0 tw-bottom-0 tw-absolute tw-right-0 tw-bg-[#e5e7eb]"></div>
313
+ <div class="vc-table__body-row-checkbox-resizer"></div>
326
314
  </div>
327
315
  <div
328
316
  v-for="cell in filteredCols"
329
317
  :id="`${(typeof item === 'object' && 'id' in item && item.id) || itemIndex}_${cell.id}`"
330
318
  :key="`${(typeof item === 'object' && 'id' in item && item.id) || itemIndex}_${cell.id}`"
331
- class="tw-box-border tw-overflow-hidden tw-px-3 tw-flex-1 tw-flex tw-items-center tw-relative"
319
+ class="vc-table__body-cell"
332
320
  :class="[cell.class]"
333
321
  :style="{ maxWidth: cell.width, width: cell.width }"
334
322
  >
335
- <div class="tw-truncate tw-w-full">
336
- <!-- <renderCellSlot
337
- :item="item"
338
- :cell="cell"
339
- :index="itemIndex"
340
- /> -->
323
+ <div class="vc-table__body-cell__content">
341
324
  <slot
342
325
  :name="`item_${cell.id}`"
343
326
  :item="item"
@@ -359,23 +342,19 @@
359
342
  v-if="
360
343
  enableItemActions && itemActionBuilder && typeof item === 'object' && selectedRowIndex === itemIndex
361
344
  "
362
- class="tw-absolute tw-flex tw-right-0 tw-px-[10px] actions tw-h-full tw-bg-[#f4f8fb]"
345
+ class="vc-table__body-actions"
363
346
  :class="{
364
- 'group-hover:!tw-bg-[#EEF6FC]': hasClickListener,
365
- 'group-hover:!tw-bg-[#dfeef9]':
347
+ 'vc-table__body-actions--hover': hasClickListener,
348
+ 'vc-table__body-actions--selected':
366
349
  hasClickListener && selection && selection.length && selection.includes(item),
367
350
  }"
368
351
  @click.stop
369
352
  >
370
- <div
371
- class="tw-flex tw-flex-row tw-items-center tw-text-[#3f3f3f] tw-font-normal not-italic tw-text-base tw-leading-[20px] tw-gap-[10px]"
372
- >
353
+ <div class="vc-table__body-actions-content">
373
354
  <div
374
355
  v-for="(itemAction, i) in itemActions[itemIndex]"
375
356
  :key="i"
376
- :class="[
377
- 'tw-text-[#319ed4] tw-cursor-pointer tw-w-[22px] tw-h-[22px] tw-flex tw-items-center tw-justify-center hover:tw-text-[#257fad]',
378
- ]"
357
+ class="vc-table__body-actions-item"
379
358
  @click.stop="itemAction.clickHandler(item, itemIndex)"
380
359
  >
381
360
  <VcTooltip
@@ -389,7 +368,7 @@
389
368
  size="m"
390
369
  />
391
370
  <template #tooltip>
392
- <div class="tw-not-italic tw-font-normal tw-text-base tw-leading-[20px] tw-text-[#3f3f3f]">
371
+ <div class="vc-table__body-actions-tooltip">
393
372
  {{ itemAction.title }}
394
373
  </div>
395
374
  </template>
@@ -401,7 +380,7 @@
401
380
  </div>
402
381
  <div
403
382
  v-else
404
- class="tw-overflow-auto tw-flex tw-flex-col tw-flex-auto"
383
+ class="vc-table__body-empty"
405
384
  >
406
385
  <!-- Empty table view -->
407
386
  <VcTableEmpty
@@ -435,10 +414,10 @@
435
414
  name="footer"
436
415
  >
437
416
  <div
438
- 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"
417
+ class="vc-table__footer"
439
418
  :class="{
440
- 'tw-py-2 tw-px-4': $isMobile.value,
441
- 'tw-p-4': $isDesktop.value,
419
+ 'vc-table__footer--mobile': $isMobile.value,
420
+ 'vc-table__footer--desktop': $isDesktop.value,
442
421
  }"
443
422
  >
444
423
  <!-- Table pagination -->
@@ -459,6 +438,7 @@
459
438
  </slot>
460
439
  </div>
461
440
  </template>
441
+
462
442
  <!-- eslint-disable @typescript-eslint/no-explicit-any -->
463
443
  <script lang="ts" setup generic="T extends TableItem | string">
464
444
  import { useCurrentElement, useLocalStorage } from "@vueuse/core";
@@ -551,6 +531,7 @@ const props = withDefaults(
551
531
  };
552
532
  paginationVariant?: ComponentProps<typeof VcPagination>["variant"];
553
533
  selectionItems?: T[];
534
+ disableFilter?: boolean;
554
535
  }>(),
555
536
  {
556
537
  items: () => [],
@@ -719,12 +700,15 @@ const headerComponent = () =>
719
700
  activeFilterCount: props.activeFilterCount,
720
701
  expanded: props.expanded,
721
702
  "onSearch:change": (value: string) => emit("search:change", value),
703
+ disableFilter: props.disableFilter,
722
704
  },
723
- {
724
- filters: () => {
725
- return slots.filters?.({ closePanel: () => {} });
726
- },
727
- },
705
+ slots.filters
706
+ ? {
707
+ filters: () => {
708
+ return slots.filters?.({ closePanel: () => {} });
709
+ },
710
+ }
711
+ : undefined,
728
712
  );
729
713
 
730
714
  const allColumns = ref([]) as Ref<ITableColumns[]>;
@@ -732,7 +716,9 @@ const allColumns = ref([]) as Ref<ITableColumns[]>;
732
716
  const mobileTemplateRenderer = ({ item, index }: { item: TableItem | string; index: number }) => {
733
717
  return h(
734
718
  "div",
735
- { class: "tw-border-b tw-border-solid tw-border-b-[#e3e7ec] tw-p-3 tw-gap-2 tw-flex tw-flex-wrap" },
719
+ {
720
+ class: "vc-table__mobile-items-renderer",
721
+ },
736
722
  props.columns.map((x) => {
737
723
  return h("div", { class: "tw-grow tw-w-[33%] tw-ml-3 tw-truncate", key: `mobile-view-item-${index}` }, [
738
724
  h(VcLabel, { class: "tw-mb-1 tw-truncate", required: x?.rules?.required }, () => toValue(x.title)),
@@ -741,7 +727,7 @@ const mobileTemplateRenderer = ({ item, index }: { item: TableItem | string; ind
741
727
  : [
742
728
  typeof item === "object"
743
729
  ? h(VcTableCell, {
744
- cell: { ...x, class: "!tw-justify-start" },
730
+ cell: { ...x, class: "!tw-justify-start " },
745
731
  item,
746
732
  key: `mobile-view-cell-${index}`,
747
733
  class: "tw-mb-4",
@@ -1367,57 +1353,313 @@ function onRowDrop(event: DragEvent) {
1367
1353
 
1368
1354
  <style lang="scss">
1369
1355
  :root {
1370
- --row-drag-color: #41afe6;
1356
+ --table-border-color: var(--base-border-color, var(--neutrals-200));
1357
+ --table-select-all-border-color: var(--base-border-color, var(--neutrals-200));
1358
+ --table-header-bg: var(--neutrals-50);
1359
+ --table-header-border-color: var(--base-border-color, var(--neutrals-200));
1360
+ --table-header-border: inset 0px 1px 0px var(--table-header-border-color),
1361
+ inset 0px -1px 0px var(--table-header-border-color);
1362
+ --table-header-text-color: var(--secondary-700);
1363
+ --table-resizer-color: var(--base-border-color, var(--neutrals-200));
1364
+ --table-reorder-color: var(--primary-400);
1365
+ --table-select-all-bg: var(--primary-100);
1366
+ --table-row-bg-hover: var(--primary-50);
1367
+ --table-row-bg-odd: var(--additional-50);
1368
+ --table-row-bg-even: var(--neutrals-50);
1369
+ --table-row-hover: var(--primary-50);
1370
+ --table-row-bg-selected: var(--primary-100);
1371
+ --table-actions-bg: var(--neutrals-100);
1372
+ --table-actions-bg-hover: var(--primary-50);
1373
+ --table-actions-bg-hover-selected-item: var(--primary-100);
1374
+ --table-actions-text-color: var(--neutrals-600);
1375
+ --table-actions-tooltip-text: var(--neutrals-600);
1376
+ --table-actions-icon-color: var(--primary-500);
1377
+ --table-actions-icon-color-hover: var(--primary-600);
1378
+ --table-footer-bg: var(--neutrals-50);
1379
+ --table-footer-border-color: var(--base-border-color, var(--neutrals-200));
1380
+ --table-row-drag-color: var(--primary-400);
1381
+ --table-row-drag-shadow: inset 0 -2px 0 0 var(--table-row-drag-color);
1382
+ --table-actions-color-danger: var(--danger-500);
1383
+ --table-actions-color-success: var(--success-500);
1384
+ --table-mobile-border-color: var(--secondary-200);
1385
+ --table-text-color: var(--base-text-color, var(--neutrals-950));
1371
1386
  }
1372
1387
 
1373
1388
  $variants: (
1374
- danger: #ff4a4a,
1375
- success: #87b563,
1389
+ danger: var(--table-actions-color-danger),
1390
+ success: var(--table-actions-color-success),
1376
1391
  );
1377
1392
 
1378
1393
  .vc-table {
1394
+ @apply tw-relative tw-overflow-hidden tw-flex tw-flex-col tw-grow tw-basis-0 tw-border-solid tw-border-t-0;
1395
+ border-color: var(--table-border-color);
1396
+
1397
+ &__multiselect-mobile {
1398
+ @apply tw-flex tw-flex-col;
1399
+ }
1400
+
1401
+ &__select-all-bar {
1402
+ @apply tw-flex tw-flex-row tw-items-center tw-justify-between tw-px-4 tw-py-2 tw-min-h-14 tw-font-bold tw-text-lg tw-border-[color:var(--table-select-all-border-color)] tw-border-b tw-border-solid tw-box-border;
1403
+ }
1404
+
1405
+ &__select-all-content {
1406
+ @apply tw-flex tw-flex-row tw-w-full tw-justify-between;
1407
+ }
1408
+
1409
+ &__select-all-checkbox {
1410
+ @apply tw-flex tw-flex-row tw-items-center tw-justify-center tw-gap-3;
1411
+ }
1412
+
1413
+ &__select-all-checkbox__checkbox {
1414
+ @apply tw-font-normal tw-self-center tw-flex;
1415
+ }
1416
+
1417
+ &__select-all-choice {
1418
+ @apply tw-w-full tw-flex tw-py-2;
1419
+ }
1420
+
1421
+ &__select-all-choice__content {
1422
+ @apply tw-w-full tw-flex tw-items-center tw-justify-center;
1423
+ }
1424
+
1425
+ &__select-all-choice__button {
1426
+ @apply tw-text-sm;
1427
+ }
1428
+
1429
+ &__content {
1430
+ @apply tw-flex tw-relative tw-overflow-hidden tw-grow;
1431
+ }
1432
+
1379
1433
  &__mobile-view {
1434
+ @apply tw-grow tw-basis-0 tw-relative;
1380
1435
  .vc-container__inner {
1381
- display: flex;
1382
- flex-grow: 1;
1436
+ @apply tw-flex tw-flex-grow;
1383
1437
  }
1384
1438
  }
1385
- &__body {
1386
- &-row:hover .actions {
1387
- display: flex;
1388
- }
1389
- &-actions-item {
1390
- @each $name, $variant in $variants {
1391
- &_#{$name} {
1392
- @apply tw-text-[#{$variant}];
1393
- }
1439
+
1440
+ &__mobile-items {
1441
+ @apply tw-flex-grow tw-flex tw-flex-col tw-h-max [width:-webkit-fill-available];
1442
+ }
1443
+
1444
+ &__mobile-empty {
1445
+ @apply tw-overflow-auto tw-flex tw-flex-col tw-h-full tw-flex-grow;
1446
+ }
1447
+
1448
+ &__desktop-table {
1449
+ @apply tw-relative tw-box-border tw-w-full tw-h-full tw-flex tw-flex-col;
1450
+ }
1451
+
1452
+ &__header {
1453
+ @apply tw-flex tw-flex-col tw-sticky tw-top-0 tw-bg-[--table-header-bg] tw-z-[1] tw-box-border;
1454
+ }
1455
+
1456
+ &__header-row {
1457
+ @apply tw-flex tw-flex-row;
1458
+ }
1459
+
1460
+ &__header-checkbox {
1461
+ @apply tw-flex-1 tw-flex tw-items-center tw-justify-center tw-w-9 tw-max-w-9 tw-min-w-9 tw-bg-[--table-header-bg] [box-shadow:var(--table-header-border)] tw-shadow-none tw-box-border tw-sticky tw-top-0 tw-select-none tw-overflow-hidden tw-z-[1];
1462
+ @apply tw-border-0 #{!important};
1463
+ }
1464
+
1465
+ &__header-checkbox__content {
1466
+ @apply tw-flex tw-justify-center tw-items-center;
1467
+ }
1468
+
1469
+ &__header-checkbox__resizer {
1470
+ @apply tw-w-px tw-bg-[--table-resizer-color] tw-h-full tw-absolute tw-right-0 tw-flex tw-justify-end;
1471
+ }
1472
+
1473
+ &__header-cell {
1474
+ @apply tw-flex-1 tw-flex tw-items-center tw-h-10 tw-bg-[--table-header-bg] [box-shadow:var(--table-header-border)] tw-box-border tw-sticky tw-top-0 tw-select-none tw-overflow-hidden tw-z-[1];
1475
+ @apply tw-border-0 #{!important};
1476
+ }
1477
+
1478
+ &__header-cell--sortable {
1479
+ @apply tw-cursor-pointer;
1480
+
1481
+ &:hover {
1482
+ .vc-table__header-cell__sort-icons {
1483
+ @apply tw-visible;
1394
1484
  }
1395
1485
  }
1486
+ }
1396
1487
 
1397
- &-tooltip-arrow,
1398
- &-tooltip-arrow:before {
1399
- @apply tw-absolute tw-w-2 tw-h-2 tw-bg-inherit;
1400
- }
1488
+ &__header-cell--last {
1489
+ }
1401
1490
 
1402
- &-tooltip-arrow {
1403
- @apply tw-invisible before:tw-visible before:tw-content-[""] before:tw-rotate-45;
1404
- }
1491
+ &__header-cell__content {
1492
+ @apply tw-flex tw-items-center tw-flex-nowrap tw-truncate tw-px-3 tw-font-bold tw-text-sm tw-text-[color:var(--table-header-text-color)];
1493
+ }
1405
1494
 
1406
- &-tooltip[data-popper-placement^="top"] > .vc-table__body-tooltip-arrow {
1407
- @apply tw-bottom-[-4px];
1408
- }
1495
+ &__header-cell__title {
1496
+ @apply tw-truncate;
1497
+ }
1498
+
1499
+ &__header-cell__required {
1500
+ @apply tw-text-[color:var(--label-required-color)] tw-mr-1;
1501
+ }
1502
+
1503
+ &__header-cell__sort-icon {
1504
+ @apply tw-ml-1;
1505
+ }
1506
+
1507
+ &__header-cell__sort-icons {
1508
+ @apply tw-flex tw-flex-col tw-ml-1 tw-invisible;
1509
+ }
1510
+
1511
+ &__header-cell__resizer {
1512
+ @apply tw-w-1 tw-mr-1 tw-border-r tw-border-[--table-resizer-color] tw-border-solid tw-h-full tw-absolute tw-right-0 tw-flex tw-justify-end;
1513
+ }
1514
+
1515
+ &__header-cell__resizer--cursor {
1516
+ @apply tw-cursor-col-resize;
1517
+ }
1518
+
1519
+ &__column-switcher {
1520
+ @apply tw-absolute tw-h-10 tw-z-10 tw-right-0 tw-flex tw-items-center;
1521
+ }
1522
+
1523
+ &__resizer {
1524
+ @apply tw-w-px tw-absolute tw-z-10 tw-hidden tw-h-full tw-bg-[--table-resizer-color] tw-cursor-col-resize;
1525
+ }
1526
+
1527
+ &__reorder-ref {
1528
+ @apply tw-w-0.5 tw-bg-[--table-reorder-color] tw-h-full tw-absolute tw-top-0 tw-bottom-0 tw-z-20 tw-hidden;
1529
+ }
1530
+
1531
+ &__select-all-footer {
1532
+ @apply tw-h-16 tw-min-h-16 tw-bg-[--table-select-all-bg] tw-w-full tw-flex;
1533
+ }
1534
+
1535
+ &__select-all-footer__content {
1536
+ @apply tw-w-full tw-flex tw-items-center tw-justify-center;
1537
+ }
1538
+
1539
+ &__select-all-footer__button {
1540
+ @apply tw-text-sm;
1541
+ }
1542
+
1543
+ &__body {
1544
+ @apply tw-flex tw-flex-col tw-overflow-auto;
1545
+ }
1546
+
1547
+ &__body-row {
1548
+ @apply tw-flex tw-w-full tw-h-14 tw-min-h-14 tw-relative;
1409
1549
 
1410
- &-tooltip[data-popper-placement^="bottom"] > .vc-table__body-tooltip-arrow {
1411
- @apply tw-top-[-4px];
1550
+ &:hover {
1551
+ .vc-table__body-actions--hover {
1552
+ @apply tw-bg-[--table-actions-bg-hover];
1553
+ }
1554
+
1555
+ .vc-table__body-actions--selected {
1556
+ @apply tw-bg-[--table-actions-bg-hover-selected-item];
1557
+ }
1412
1558
  }
1413
1559
  }
1414
1560
 
1561
+ &__body-row--odd {
1562
+ @apply tw-bg-[--table-row-bg-odd];
1563
+ }
1564
+
1565
+ &__body-row--even {
1566
+ @apply tw-bg-[--table-row-bg-even];
1567
+ }
1568
+
1569
+ &__body-row--clickable {
1570
+ @apply hover:tw-bg-[--table-row-bg-hover] tw-cursor-pointer tw-border-solid;
1571
+ }
1572
+
1573
+ &__body-row--selected {
1574
+ @apply tw-bg-[--table-row-hover] hover:tw-bg-[--table-row-hover] #{!important};
1575
+ }
1576
+
1577
+ &__body-row--selection {
1578
+ @apply hover:tw-bg-[--table-row-bg-selected] tw-bg-[--table-row-bg-selected] #{!important};
1579
+ }
1580
+
1581
+ &__body-row-checkbox {
1582
+ @apply tw-w-[36px] tw-max-w-[36px] tw-min-w-[36px] tw-relative tw-flex-1 tw-flex tw-items-center tw-justify-center;
1583
+ }
1584
+
1585
+ &__body-row-checkbox-content {
1586
+ @apply tw-flex tw-justify-center tw-items-center;
1587
+ }
1588
+
1589
+ &__body-row-checkbox-resizer {
1590
+ @apply tw-w-px tw-top-0 tw-bottom-0 tw-absolute tw-right-0 tw-bg-[--table-resizer-color];
1591
+ }
1592
+
1593
+ &__body-actions {
1594
+ @apply tw-absolute tw-flex tw-right-0 tw-px-2.5 tw-h-full tw-bg-[--table-actions-bg];
1595
+ }
1596
+
1597
+ &__body-actions-content {
1598
+ @apply tw-flex tw-flex-row tw-items-center tw-text-[color:var(--table-actions-text-color)] tw-font-normal tw-text-base tw-leading-5 tw-gap-2.5;
1599
+ }
1600
+
1601
+ &__body-actions-item {
1602
+ @apply tw-text-[color:var(--table-actions-icon-color)] tw-cursor-pointer tw-w-6 tw-h-6 tw-flex tw-items-center tw-justify-center hover:tw-text-[color:var(--table-actions-icon-color-hover)];
1603
+ }
1604
+
1605
+ &__body-actions-tooltip {
1606
+ @apply tw-not-italic tw-font-normal tw-text-base tw-leading-5 tw-text-[--table-actions-tooltip-text];
1607
+ }
1608
+
1609
+ &__body-cell {
1610
+ @apply tw-box-border tw-overflow-hidden tw-px-3 tw-flex-1 tw-flex tw-items-center tw-relative;
1611
+ }
1612
+
1613
+ &__body-cell__content {
1614
+ @apply tw-truncate tw-w-full tw-text-[color:var(--table-text-color)] tw-text-sm;
1615
+ }
1616
+
1617
+ &__body-empty {
1618
+ @apply tw-overflow-auto tw-flex tw-flex-col tw-flex-auto;
1619
+ }
1620
+
1621
+ &__footer {
1622
+ @apply tw-bg-[--table-footer-bg] tw-border-t tw-border-solid tw-border-[--table-footer-border-color] tw-flex-shrink-0 tw-flex tw-items-center tw-justify-between;
1623
+ }
1624
+
1625
+ &__footer--mobile {
1626
+ @apply tw-py-2 tw-px-4;
1627
+ }
1628
+
1629
+ &__footer--desktop {
1630
+ @apply tw-p-4;
1631
+ }
1632
+
1633
+ /* Drag row styles */
1415
1634
  &__drag-row-bottom {
1416
- @apply tw-shadow-[inset_0_-2px_0_0_var(--row-drag-color)];
1635
+ box-shadow: var(--table-row-drag-shadow);
1417
1636
  }
1418
1637
 
1419
1638
  &__drag-row-top {
1420
- @apply tw-shadow-[inset_0_2px_0_0_var(--row-drag-color)];
1639
+ box-shadow: var(--table-row-drag-shadow);
1640
+ }
1641
+
1642
+ /* Tooltip arrow styles */
1643
+ &__body-tooltip-arrow,
1644
+ &__body-tooltip-arrow:before {
1645
+ @apply tw-absolute tw-w-2 tw-h-2 tw-bg-inherit;
1646
+ }
1647
+
1648
+ &__body-tooltip-arrow {
1649
+ @apply tw-invisible before:tw-visible before:tw-content-[""] before:tw-rotate-45;
1650
+ }
1651
+
1652
+ &__body-tooltip[data-popper-placement^="top"] > .vc-table__body-tooltip-arrow {
1653
+ @apply tw-bottom-[-1px];
1654
+ }
1655
+
1656
+ &__body-tooltip[data-popper-placement^="bottom"] > .vc-table__body-tooltip-arrow {
1657
+ @apply tw-top-[-1px];
1658
+ }
1659
+
1660
+ /* Mobile border color */
1661
+ &__mobile-items-renderer {
1662
+ @apply tw-border-b tw-border-solid tw-border-[--table-mobile-border-color] tw-p-3 tw-gap-2 tw-flex tw-flex-wrap;
1421
1663
  }
1422
1664
  }
1423
1665
  </style>