@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,60 +1,68 @@
1
1
  <template>
2
- <div
3
- class="vc-blade-toolbar-button"
4
- :class="{
5
- 'vc-blade-toolbar-button_disabled': disabled || isWaiting,
6
- 'tw-border-l tw-border-solid tw-border-[color:#eef0f2]': separator === 'left',
2
+ <VcTooltip
3
+ placement="bottom"
4
+ :offset="{
5
+ crossAxis: 0,
6
+ mainAxis: 0,
7
7
  }"
8
- :title="title"
9
- :data-test-id="id ?? 'vc-blade-toolbar-button'"
10
- @click="onClick"
11
8
  >
12
- <div ref="dropButtonRef">
13
- <div
14
- ref="bladeDropToggle"
15
- type="button"
16
- class="vc-blade-toolbar-button__wrap"
17
- >
18
- <VcIcon
19
- class="vc-blade-toolbar-button__icon"
20
- :icon="icon as string"
21
- size="m"
22
- ></VcIcon>
9
+ <template #tooltip>{{ title }}</template>
10
+ <div
11
+ class="vc-blade-toolbar-button"
12
+ :class="{
13
+ 'vc-blade-toolbar-button_disabled': disabled || isWaiting,
14
+ 'vc-blade-toolbar-button_separator-left': separator === 'left',
15
+ }"
16
+ :data-test-id="id ?? 'vc-blade-toolbar-button'"
17
+ @click="onClick"
18
+ >
19
+ <div ref="dropButtonRef">
23
20
  <div
24
- v-if="isExpanded"
25
- class="vc-blade-toolbar-button__title"
26
- >
27
- {{ title }}
28
- </div>
29
- </div>
30
- <teleport to="body">
31
- <div
32
- v-if="isDropActive"
33
- ref="bladeDropRef"
34
- class="vc-blade-toolbar-button__dropdown"
35
- :style="dropStyle"
21
+ ref="bladeDropToggle"
22
+ type="button"
23
+ class="vc-blade-toolbar-button__wrap"
36
24
  >
25
+ <VcIcon
26
+ class="vc-blade-toolbar-button__icon"
27
+ :icon="icon as string"
28
+ size="m"
29
+ ></VcIcon>
37
30
  <div
38
- v-for="(item, i) in dropdownItems"
39
- :key="i"
40
- class="vc-blade-toolbar-button__dropdown-item"
41
- @click="handleDropItemClick(item)"
31
+ v-if="isExpanded"
32
+ class="vc-blade-toolbar-button__title"
42
33
  >
43
- <VcIcon
44
- :icon="item.icon"
45
- class="vc-blade-toolbar-button__dropdown-item-icon"
46
- />
47
- {{ item.title }}
34
+ {{ title }}
48
35
  </div>
49
36
  </div>
50
- </teleport>
37
+ <teleport to="body">
38
+ <div
39
+ v-if="isDropActive"
40
+ ref="bladeDropRef"
41
+ class="vc-blade-toolbar-button__dropdown"
42
+ :style="dropStyle"
43
+ >
44
+ <div
45
+ v-for="(item, i) in dropdownItems"
46
+ :key="i"
47
+ class="vc-blade-toolbar-button__dropdown-item"
48
+ @click="handleDropItemClick(item)"
49
+ >
50
+ <VcIcon
51
+ :icon="item.icon"
52
+ class="vc-blade-toolbar-button__dropdown-item-icon"
53
+ />
54
+ {{ item.title }}
55
+ </div>
56
+ </div>
57
+ </teleport>
58
+ </div>
51
59
  </div>
52
- </div>
60
+ </VcTooltip>
53
61
  </template>
54
62
 
55
63
  <script lang="ts" setup>
56
64
  import { ref, computed, nextTick } from "vue";
57
- import { VcIcon } from "./../../../../../../";
65
+ import { VcIcon, VcTooltip } from "./../../../../../../";
58
66
  import { offset, computePosition, ComputePositionReturn } from "@floating-ui/vue";
59
67
  import { IBladeDropdownItem } from "./../../../../../../../../core/types";
60
68
 
@@ -146,17 +154,26 @@ function handleDropItemClick(item: IBladeDropdownItem) {
146
154
 
147
155
  <style lang="scss">
148
156
  :root {
149
- --blade-toolbar-button-title-color: #465769;
150
- --blade-toolbar-button-title-color-hover: #465769;
151
- --blade-toolbar-button-title-color-disabled: #9fa2a6;
157
+ --blade-toolbar-button-title-color: var(--base-text-color, var(--neutrals-950));
158
+ --blade-toolbar-button-title-color-hover: var(--base-text-color, var(--neutrals-950));
159
+ --blade-toolbar-button-title-color-disabled: var(--neutrals-400);
160
+
161
+ --blade-toolbar-button-icon-color: var(--primary-500);
162
+ --blade-toolbar-button-icon-color-hover: var(--primary-600);
163
+ --blade-toolbar-button-icon-color-disabled: var(--neutrals-400);
164
+
165
+ --blade-toolbar-button-background-color: var(--additional-50);
166
+ --blade-toolbar-button-background-color-hover: var(--additional-50);
167
+ --blade-toolbar-button-background-color-disabled: var(--additional-50);
152
168
 
153
- --blade-toolbar-button-icon-color: #319ed4;
154
- --blade-toolbar-button-icon-color-hover: #257fad;
155
- --blade-toolbar-button-icon-color-disabled: #d2d4d7;
169
+ --blade-toolbar-button-border-color: var(--base-border-color, var(--neutrals-200));
156
170
 
157
- --blade-toolbar-button-background-color: var(--blade-toolbar-background-color);
158
- --blade-toolbar-button-background-color-hover: var(--blade-toolbar-background-color);
159
- --blade-toolbar-button-background-color-disabled: var(--blade-toolbar-background-color);
171
+ --blade-toolbar-shadow-color: var(--secondary-200);
172
+ --blade-toolbar-shadow: 1px 1px 22px rgb(from var(--blade-toolbar-shadow-color) r g b / 20%);
173
+
174
+ --blade-toolbar-dropdown-background-color: var(--additional-50);
175
+ --blade-toolbar-dropdown-item-background-color: var(--additional-50);
176
+ --blade-toolbar-dropdown-item-text-color: var(--additional-950);
160
177
  }
161
178
 
162
179
  .vc-blade-toolbar-button {
@@ -167,7 +184,7 @@ function handleDropItemClick(item: IBladeDropdownItem) {
167
184
  }
168
185
 
169
186
  &__title {
170
- @apply tw-text-sm tw-whitespace-nowrap tw-mt-1 tw-text-[color:var(--blade-toolbar-button-title-color)];
187
+ @apply tw-text-xs tw-whitespace-nowrap tw-mt-1 tw-text-[color:var(--blade-toolbar-button-title-color)];
171
188
  }
172
189
 
173
190
  &__icon {
@@ -175,18 +192,19 @@ function handleDropItemClick(item: IBladeDropdownItem) {
175
192
  }
176
193
 
177
194
  &__dropdown {
178
- @apply tw-absolute tw-bg-white tw-z-[9999] tw-shadow-[1px_1px_22px_rgba(126,142,157,0.2)];
195
+ @apply tw-absolute tw-bg-[color:var(--blade-toolbar-dropdown-background-color)] tw-z-[9999] [box-shadow:var(--blade-toolbar-shadow)];
179
196
  }
180
197
 
181
198
  &__dropdown-item {
182
- @apply tw-p-3 tw-text-lg tw-text-black tw-border-l tw-border-solid
183
- tw-border-l-[#eef0f2] tw-border-b tw-border-b-[#eef0f2]
184
- tw-bg-white tw-cursor-pointer tw-flex tw-flex-row tw-items-center
185
- hover:tw-bg-[#eff7fc];
199
+ @apply tw-p-3 tw-text-lg tw-text-[color:var(--blade-toolbar-dropdown-item-text-color)] tw-border-l tw-border-solid
200
+ tw-border-l-[color:var(--blade-toolbar-button-border-color)] tw-border-b
201
+ tw-border-b-[color:var(--blade-toolbar-button-border-color)]
202
+ tw-bg-[color:var(--blade-toolbar-dropdown-item-background-color)] tw-cursor-pointer tw-flex tw-flex-row tw-items-center
203
+ hover:tw-bg-[color:var(--blade-toolbar-button-background-color-hover)];
186
204
  }
187
205
 
188
206
  &__dropdown-item-icon {
189
- @apply tw-text-[#a9bfd2] tw-mr-2;
207
+ @apply tw-text-[color:var(--blade-toolbar-button-icon-color)] tw-mr-2;
190
208
  }
191
209
 
192
210
  &:hover {
@@ -213,5 +231,9 @@ function handleDropItemClick(item: IBladeDropdownItem) {
213
231
  @apply tw-text-[color:var(--blade-toolbar-button-icon-color-disabled)];
214
232
  }
215
233
  }
234
+
235
+ &.vc-blade-toolbar-button_separator-left {
236
+ @apply tw-border-l tw-border-solid tw-border-[color:var(--blade-toolbar-button-border-color)];
237
+ }
216
238
  }
217
239
  </style>
@@ -1,10 +1,10 @@
1
1
  <template>
2
2
  <div
3
3
  v-if="isToolbarVisible()"
4
- class="tw-h-[var(--blade-toolbar-height)] tw-bg-[color:var(--blade-toolbar-background-color)] tw-border-b-[color:#eaedf3] tw-border-solid tw-border-b tw-flex tw-box-border tw-w-full tw-content-center tw-items-stretch tw-shrink-0"
5
- :class="{ '!tw-h-[var(--blade-toolbar-height-expanded)]': isExpanded }"
4
+ class="vc-blade-toolbar"
5
+ :class="{ 'vc-blade-toolbar--expanded': isExpanded }"
6
6
  >
7
- <div class="tw-grow tw-basis-0 tw-flex tw-content-start tw-items-center tw-overflow-x-auto tw-px-2">
7
+ <div class="vc-blade-toolbar__content">
8
8
  <template
9
9
  v-for="item in items"
10
10
  :key="item.id"
@@ -23,7 +23,7 @@
23
23
  </template>
24
24
  </div>
25
25
  <VcIcon
26
- class="tw-self-center tw-justify-self-center tw-text-[#a1c0d4] tw-cursor-pointer tw-mr-4 hover:tw-text-[#7ea8c4]"
26
+ class="vc-blade-toolbar__icon"
27
27
  :icon="`fas fa-chevron-${isExpanded ? 'up' : 'down'}`"
28
28
  @click="toggleToolbar"
29
29
  ></VcIcon>
@@ -32,9 +32,10 @@
32
32
 
33
33
  <script lang="ts" setup>
34
34
  import { IBladeToolbar } from "./../../../../../../core/types";
35
- import { ref, unref } from "vue";
35
+ import { unref } from "vue";
36
36
  import VcBladeToolbarButton from "./_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue";
37
37
  import { VcIcon } from "./../../../../";
38
+ import { useLocalStorage } from "@vueuse/core";
38
39
 
39
40
  export interface Props {
40
41
  items: IBladeToolbar[];
@@ -44,16 +45,10 @@ const props = withDefaults(defineProps<Props>(), {
44
45
  items: () => [],
45
46
  });
46
47
 
47
- const isExpanded = ref(true);
48
- try {
49
- isExpanded.value = localStorage.getItem("VC_BLADE_TOOLBAR_IS_EXPANDED") === "true";
50
- } catch (err) {
51
- isExpanded.value = true;
52
- }
48
+ const isExpanded = useLocalStorage("VC_BLADE_TOOLBAR_IS_EXPANDED", true);
53
49
 
54
50
  function toggleToolbar() {
55
51
  isExpanded.value = !isExpanded.value;
56
- localStorage.setItem("VC_BLADE_TOOLBAR_IS_EXPANDED", isExpanded.value.toString());
57
52
  }
58
53
 
59
54
  function isToolbarVisible() {
@@ -68,6 +63,25 @@ function isToolbarVisible() {
68
63
  :root {
69
64
  --blade-toolbar-height: 36px;
70
65
  --blade-toolbar-height-expanded: 50px;
71
- --blade-toolbar-background-color: #ffffff;
66
+ --blade-toolbar-background-color: var(--additional-50);
67
+ --blade-toolbar-border-color: var(--base-border-color, var(--neutrals-200));
68
+ --blade-toolbar-icon-color: var(--primary-500);
69
+ --blade-toolbar-icon-hover-color: var(--primary-600);
70
+ }
71
+
72
+ .vc-blade-toolbar {
73
+ @apply tw-h-[var(--blade-toolbar-height)] tw-bg-[color:var(--blade-toolbar-background-color)] tw-border-b-[color:var(--blade-toolbar-border-color)] tw-border-solid tw-border-b tw-flex tw-box-border tw-w-full tw-content-center tw-items-stretch tw-shrink-0;
74
+
75
+ &--expanded {
76
+ @apply tw-h-[var(--blade-toolbar-height-expanded)] #{!important};
77
+ }
78
+
79
+ &__content {
80
+ @apply tw-grow tw-basis-0 tw-flex tw-content-start tw-items-center tw-overflow-x-auto tw-px-2;
81
+ }
82
+
83
+ &__icon {
84
+ @apply tw-self-center tw-justify-self-center tw-text-[color:var(--blade-toolbar-icon-color)] tw-cursor-pointer tw-mr-4 hover:tw-text-[color:var(--blade-toolbar-icon-hover-color)];
85
+ }
72
86
  }
73
87
  </style>
@@ -1,13 +1,12 @@
1
1
  <template>
2
2
  <div
3
- class="vc-blade tw-relative tw-flex tw-shrink-0 tw-flex-col tw-bg-[color:var(--blade-background-color)] tw-rounded-[var(--blade-border-radius)] tw-shadow-[2px_2px_8px_rgba(54,84,117,0.14)] tw-my-4 tw-mx-2 tw-overflow-hidden tw-transition-[width] tw-duration-200"
3
+ class="vc-blade"
4
4
  :class="[
5
5
  $attrs.class,
6
6
  {
7
- '!tw-w-full': $isMobile.value,
8
- '!tw-w-full !tw-shrink': expanded,
9
- '!tw-absolute !tw-z-[2] !tw-top-0 !tw-bottom-0 !tw-left-0 ![width:-webkit-fill-available] !tw-shrink':
10
- maximized,
7
+ 'vc-blade--mobile': $isMobile.value,
8
+ 'vc-blade--expanded': expanded,
9
+ 'vc-blade--maximized': maximized,
11
10
  },
12
11
  ]"
13
12
  :style="{ width: typeof width === 'number' ? `${width}px` : width }"
@@ -15,7 +14,7 @@
15
14
  <!-- Init blade header -->
16
15
  <VcBladeHeader
17
16
  v-if="!$isMobile.value || closable"
18
- class="tw-shrink-0"
17
+ class="vc-blade__header"
19
18
  :maximized="maximized"
20
19
  :expandable="expandable"
21
20
  :closable="closable"
@@ -37,52 +36,51 @@
37
36
 
38
37
  <!-- Show error message -->
39
38
  <template v-if="error">
40
- <div class="tw-text-white tw-p-2 tw-flex tw-flex-row tw-items-center tw-bg-[color:var(--blade-color-error)]">
39
+ <div class="vc-blade__error">
41
40
  <VcIcon
42
41
  size="s"
43
42
  icon="fas fa-exclamation-triangle"
44
43
  />
45
- <div class="tw-line-clamp-1 tw-w-full tw-mx-2">{{ error }}</div>
44
+ <div class="vc-blade__error-text">{{ error }}</div>
46
45
  <VcButton
47
46
  text
48
- class="tw-shrink-0 tw-opacity-80 tw-text-white hover:!tw-opacity-100 hover:!tw-text-white"
47
+ class="vc-blade__error-button"
49
48
  @click="open()"
50
- >{{ t("COMPONENTS.ORGANISMS.VC_BLADE.SEE_DETAILS") }}</VcButton
51
49
  >
50
+ {{ t("COMPONENTS.ORGANISMS.VC_BLADE.SEE_DETAILS") }}
51
+ </VcButton>
52
52
  </div>
53
53
  </template>
54
54
 
55
55
  <!-- Unsaved changes -->
56
56
  <template v-if="typeof modified !== 'undefined' ? modified : false">
57
- <div
58
- class="tw-text-white tw-px-2 tw-py-1 tw-flex tw-flex-row tw-items-center tw-bg-[color:var(--blade-color-unsaved-changes)]"
59
- >
57
+ <div class="vc-blade__unsaved-changes">
60
58
  <VcIcon
61
59
  size="s"
62
60
  icon="fas fa-info-circle"
63
61
  />
64
- <div class="tw-line-clamp-1 tw-w-full tw-ml-2">{{ t("COMPONENTS.ORGANISMS.VC_BLADE.UNSAVED_CHANGES") }}</div>
62
+ <div class="vc-blade__unsaved-changes-text">
63
+ {{ t("COMPONENTS.ORGANISMS.VC_BLADE.UNSAVED_CHANGES") }}
64
+ </div>
65
65
  </div>
66
66
  </template>
67
67
 
68
68
  <!-- Set up blade toolbar -->
69
69
  <VcBladeToolbar
70
- class="tw-shrink-0"
70
+ class="vc-blade__toolbar"
71
71
  :items="toolbarItems"
72
72
  ></VcBladeToolbar>
73
73
 
74
- <div class="tw-flex-1 tw-overflow-auto">
74
+ <div class="vc-blade__content">
75
75
  <div
76
- class="tw-flex tw-flex-row tw-h-full"
77
- :class="{
78
- 'tw-flex-col': $isMobile.value,
79
- }"
76
+ class="vc-blade__main"
77
+ :class="{ 'vc-blade__main--mobile': $isMobile.value }"
80
78
  >
81
79
  <div
82
- class="tw-flex tw-flex-auto tw-flex-col"
80
+ class="vc-blade__slot"
83
81
  :class="{
84
- 'tw-w-0': $isDesktop.value,
85
- 'tw-h-0': $isMobile.value,
82
+ 'vc-blade__slot--desktop': $isDesktop.value,
83
+ 'vc-blade__slot--mobile': $isMobile.value,
86
84
  }"
87
85
  >
88
86
  <slot></slot>
@@ -91,20 +89,22 @@
91
89
  <div
92
90
  v-show="$slots['widgets'] && !isWidgetContainerEmpty"
93
91
  ref="widgetsRef"
94
- class="vc-blade__widgets tw-flex"
95
- :class="{
96
- 'tw-border-l tw-border-solid tw-border-l-[#eaedf3]': $isDesktop.value,
97
- 'tw-w-[var(--blade-widgets-width)] tw-flex-col': $isDesktop.value && !isExpanded,
98
- 'tw-w-[var(--blade-widgets-width-expanded)] tw-flex-col': $isDesktop.value && isExpanded,
99
- 'tw-w-auto tw-border-t tw-border-solid tw-border-t-[#eaedf3] tw-flex-row': $isMobile.value,
100
- }"
92
+ class="vc-blade__widgets"
93
+ :class="[
94
+ {
95
+ 'vc-blade__widgets--desktop': $isDesktop.value,
96
+ 'vc-blade__widgets--not-expanded': $isDesktop.value && !isExpanded,
97
+ 'vc-blade__widgets--expanded': $isDesktop.value && isExpanded,
98
+ 'vc-blade__widgets--mobile': $isMobile.value,
99
+ },
100
+ ]"
101
101
  >
102
102
  <div
103
103
  ref="widgetsContainerRef"
104
- class="vc-blade__widget-container tw-flex tw-overflow-y-auto"
104
+ class="vc-blade__widget-container"
105
105
  :class="{
106
- 'tw-flex-col tw-overflow-x-clip': $isDesktop.value,
107
- 'tw-flex-row': $isMobile.value,
106
+ 'vc-blade__widget-container--desktop': $isDesktop.value,
107
+ 'vc-blade__widget-container--mobile': $isMobile.value,
108
108
  }"
109
109
  >
110
110
  <slot
@@ -114,16 +114,16 @@
114
114
  </div>
115
115
 
116
116
  <div
117
- class="tw-flex tw-flex-auto"
117
+ class="vc-blade__widget-toggle"
118
118
  :class="{
119
- 'tw-flex-col tw-justify-end': $isDesktop.value,
120
- 'tw-w-12 tw-max-w-12 tw-bg-white tw-items-center tw-justify-center tw-px-4 tw-ml-auto': $isMobile.value,
119
+ 'vc-blade__widget-toggle--desktop': $isDesktop.value,
120
+ 'vc-blade__widget-toggle--mobile': $isMobile.value,
121
121
  }"
122
122
  >
123
123
  <VcIcon
124
- class="tw-self-center tw-justify-self-center tw-text-[#a1c0d4] tw-cursor-pointer hover:tw-text-[#7ea8c4]"
124
+ class="vc-blade__toggle-icon"
125
125
  :class="{
126
- 'tw-mb-4': $isDesktop.value,
126
+ 'vc-blade__toggle-icon--desktop': $isDesktop.value,
127
127
  }"
128
128
  :icon="`fas fa-chevron-${$isDesktop.value ? (isExpanded ? 'right' : 'left') : isExpanded ? 'up' : 'down'}`"
129
129
  @click="toggleWidgets"
@@ -183,11 +183,12 @@ defineSlots<{
183
183
  }>();
184
184
 
185
185
  defineEmits<Emits>();
186
+
186
187
  const attrs = useAttrs();
187
188
  const { maximized, error }: { maximized?: Ref<boolean>; error?: Ref<string> } = toRefs(reactive(attrs));
188
189
  const { t } = useI18n({ useScope: "global" });
189
- const widgetsRef = ref();
190
- const widgetsContainerRef = ref();
190
+ const widgetsRef = ref<HTMLElement | null>(null);
191
+ const widgetsContainerRef = ref<HTMLElement | null>(null);
191
192
 
192
193
  const isExpanded = useLocalStorage("VC_BLADE_WIDGETS_IS_EXPANDED", true);
193
194
 
@@ -203,13 +204,13 @@ const checkEmpty = (el: HTMLElement) => {
203
204
 
204
205
  onMounted(() => {
205
206
  if (widgetsRef.value) {
206
- checkEmpty(widgetsContainerRef.value);
207
+ checkEmpty(widgetsContainerRef.value!);
207
208
  }
208
209
  });
209
210
 
210
211
  onUpdated(() => {
211
212
  if (widgetsRef.value) {
212
- checkEmpty(widgetsContainerRef.value);
213
+ checkEmpty(widgetsContainerRef.value!);
213
214
  }
214
215
  });
215
216
 
@@ -226,14 +227,144 @@ const { open } = usePopup({
226
227
 
227
228
  <style lang="scss">
228
229
  :root {
229
- --blade-background-color: #ffffff;
230
+ --blade-background-color: var(--additional-50);
230
231
  --blade-border-radius: 6px;
231
- --blade-color-error: #f14e4e;
232
- --blade-color-unsaved-changes: #82a6bd;
233
- --blade-color-unsaved-changes: #82a6bd;
232
+ --blade-color-error: var(--base-error-color, var(--danger-500));
233
+ --blade-color-unsaved-changes: var(--secondary-600);
234
+
235
+ --blade-border-color: var(--base-border-color, var(--neutrals-200));
236
+ --blade-icon-color: var(--secondary-400);
237
+ --blade-icon-hover-color: var(--secondary-500);
234
238
 
235
239
  --blade-widgets-width: 50px;
236
240
  --blade-widgets-width-expanded: 120px;
241
+
242
+ --blade-shadow-color: var(--primary-700);
243
+ --blade-shadow: 2px 2px 8px rgb(from var(--blade-shadow-color) r g b / 14%);
244
+
245
+ --blade-text-color: var(--additional-50);
246
+ }
247
+
248
+ .vc-blade {
249
+ @apply tw-relative tw-flex tw-shrink-0 tw-flex-col [box-shadow:var(--blade-shadow)] tw-my-4 tw-mx-2 tw-overflow-hidden tw-transition-[width] tw-duration-200;
250
+ @apply tw-bg-[color:var(--blade-background-color)] tw-rounded-[var(--blade-border-radius)];
251
+
252
+ &--mobile {
253
+ @apply tw-w-full #{!important};
254
+ }
255
+
256
+ &--expanded {
257
+ @apply tw-w-full tw-shrink #{!important};
258
+ }
259
+
260
+ &--maximized {
261
+ @apply tw-absolute tw-z-[2] tw-top-0 tw-bottom-0 tw-left-0 tw-shrink #{!important};
262
+ width: -webkit-fill-available !important;
263
+ }
264
+
265
+ &__header {
266
+ @apply tw-shrink-0;
267
+ }
268
+
269
+ &__error {
270
+ @apply tw-text-[color:var(--blade-text-color)] tw-p-2 tw-flex tw-flex-row tw-items-center tw-bg-[color:var(--blade-color-error)];
271
+ }
272
+
273
+ &__error-text {
274
+ @apply tw-line-clamp-1 tw-w-full tw-mx-2;
275
+ }
276
+
277
+ &__error-button {
278
+ @apply tw-shrink-0 tw-opacity-80 tw-text-[color:var(--blade-text-color)] hover:tw-opacity-100 hover:tw-text-[color:var(--blade-text-color)];
279
+ }
280
+
281
+ &__unsaved-changes {
282
+ @apply tw-text-[color:var(--blade-text-color)] tw-px-2 tw-py-1 tw-flex tw-flex-row tw-items-center tw-bg-[color:var(--blade-color-unsaved-changes)];
283
+ }
284
+
285
+ &__unsaved-changes-text {
286
+ @apply tw-line-clamp-1 tw-w-full tw-ml-2;
287
+ }
288
+
289
+ &__toolbar {
290
+ @apply tw-shrink-0;
291
+ }
292
+
293
+ &__content {
294
+ @apply tw-flex-1 tw-overflow-auto;
295
+ }
296
+
297
+ &__main {
298
+ @apply tw-flex tw-flex-row tw-h-full;
299
+
300
+ &--mobile {
301
+ @apply tw-flex-col;
302
+ }
303
+ }
304
+
305
+ &__slot {
306
+ @apply tw-flex tw-flex-auto tw-flex-col;
307
+
308
+ &--desktop {
309
+ @apply tw-w-0;
310
+ }
311
+
312
+ &--mobile {
313
+ @apply tw-h-0;
314
+ }
315
+ }
316
+
317
+ &__widgets {
318
+ @apply tw-flex;
319
+
320
+ &--desktop {
321
+ @apply tw-border-l tw-border-solid tw-border-l-[color:var(--blade-border-color)];
322
+ }
323
+
324
+ &--not-expanded {
325
+ @apply tw-w-12 tw-flex-col;
326
+ }
327
+
328
+ &--expanded {
329
+ @apply tw-w-32 tw-flex-col;
330
+ }
331
+
332
+ &--mobile {
333
+ @apply tw-w-auto tw-border-t tw-border-solid tw-border-t-[color:var(--blade-border-color)] tw-flex-row;
334
+ }
335
+ }
336
+
337
+ &__widget-container {
338
+ @apply tw-flex tw-overflow-y-auto;
339
+
340
+ &--desktop {
341
+ @apply tw-flex-col tw-overflow-x-clip;
342
+ }
343
+
344
+ &--mobile {
345
+ @apply tw-flex-row;
346
+ }
347
+ }
348
+
349
+ &__widget-toggle {
350
+ @apply tw-flex tw-flex-auto;
351
+
352
+ &--desktop {
353
+ @apply tw-flex-col tw-justify-end;
354
+ }
355
+
356
+ &--mobile {
357
+ @apply tw-w-12 tw-max-w-12 tw-bg-[color:var(--blade-background-color)] tw-items-center tw-justify-center tw-px-4 tw-ml-auto;
358
+ }
359
+ }
360
+
361
+ &__toggle-icon {
362
+ @apply tw-self-center tw-justify-self-center tw-text-[color:var(--blade-icon-color)] tw-cursor-pointer hover:tw-text-[color:var(--blade-icon-hover-color)];
363
+ }
364
+
365
+ &__toggle-icon--desktop {
366
+ @apply tw-mb-4;
367
+ }
237
368
  }
238
369
 
239
370
  .vc-app_mobile .vc-blade {