@vc-shell/framework 1.0.326 → 1.1.0-alpha.1

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 (272) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/core/types/index.ts +4 -8
  3. package/dist/core/types/index.d.ts +5 -8
  4. package/dist/core/types/index.d.ts.map +1 -1
  5. package/dist/framework.js +231 -218
  6. package/dist/{index-YPa3sZmi.js → index-6afjoxl_.js} +1 -1
  7. package/dist/{index-B0gk_mcS.js → index-BbQdOYmi.js} +1 -1
  8. package/dist/{index-CJmhp9vS.js → index-BrkL9UJR.js} +1 -1
  9. package/dist/{index-CgCz4CyH.js → index-BrmiwSoL.js} +1 -1
  10. package/dist/{index-D2jOZZjY.js → index-C2fcXLd3.js} +1 -1
  11. package/dist/{index-F3Hq-uIf.js → index-CUGEM4hi.js} +1 -1
  12. package/dist/{index-DAPeO06N.js → index-D0rhsYYW.js} +1 -1
  13. package/dist/{index-cnzEckQv.js → index-D8jMD-EZ.js} +1 -1
  14. package/dist/{index-iKZHcZzW.js → index-DQP89JB7.js} +1 -1
  15. package/dist/{index-BzXuUqVu.js → index-DaD28rcu.js} +1 -1
  16. package/dist/{index-uJMg_eoD.js → index-Df8tA8qI.js} +1 -1
  17. package/dist/{index-sB8jPoQD.js → index-Dg25Tarq.js} +1 -1
  18. package/dist/{index-KsWKxMp0.js → index-DrL4GDih.js} +1 -1
  19. package/dist/{index-CimbhNJz.js → index-DrxadmGH.js} +1 -1
  20. package/dist/{index-52C01JSh.js → index-DulPT6l3.js} +1 -1
  21. package/dist/{index-C8ZFV-LP.js → index-Y1Vd-H3g.js} +34754 -34242
  22. package/dist/{index-Dr0Jm59E.js → index-lQO4lsVu.js} +1 -1
  23. package/dist/index.css +1 -1
  24. package/dist/index.d.ts +1 -0
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/locales/en.json +1 -0
  27. package/dist/shared/components/app-bar-button/app-bar-button.vue.d.ts.map +1 -1
  28. package/dist/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue.d.ts.map +1 -1
  29. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue.d.ts.map +1 -1
  30. package/dist/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.d.ts +15 -1
  31. package/dist/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.d.ts.map +1 -1
  32. package/dist/shared/components/generic-dropdown/generic-dropdown.vue.d.ts +110 -0
  33. package/dist/shared/components/generic-dropdown/generic-dropdown.vue.d.ts.map +1 -0
  34. package/dist/shared/components/generic-dropdown/index.d.ts +2 -0
  35. package/dist/shared/components/generic-dropdown/index.d.ts.map +1 -0
  36. package/dist/shared/components/index.d.ts +2 -0
  37. package/dist/shared/components/index.d.ts.map +1 -1
  38. package/dist/shared/components/language-selector/language-selector.vue.d.ts.map +1 -1
  39. package/dist/shared/components/menu-item/index.d.ts +2 -0
  40. package/dist/shared/components/menu-item/index.d.ts.map +1 -0
  41. package/dist/shared/components/menu-item/menu-item.vue.d.ts +57 -0
  42. package/dist/shared/components/menu-item/menu-item.vue.d.ts.map +1 -0
  43. package/dist/shared/components/notification-dropdown/notification-dropdown.vue.d.ts.map +1 -1
  44. package/dist/shared/components/notification-template/index.d.ts +0 -6
  45. package/dist/shared/components/notification-template/index.d.ts.map +1 -1
  46. package/dist/shared/components/notification-template/notification-template.vue.d.ts +2 -2
  47. package/dist/shared/components/notification-template/notification-template.vue.d.ts.map +1 -1
  48. package/dist/shared/components/sidebar/sidebar.vue.d.ts +1 -0
  49. package/dist/shared/components/sidebar/sidebar.vue.d.ts.map +1 -1
  50. package/dist/shared/components/theme-selector/theme-selector.vue.d.ts.map +1 -1
  51. package/dist/shared/components/user-dropdown-button/_internal/user-actions.vue.d.ts +21 -0
  52. package/dist/shared/components/user-dropdown-button/_internal/user-actions.vue.d.ts.map +1 -0
  53. package/dist/shared/components/user-dropdown-button/_internal/user-info.vue.d.ts +17 -0
  54. package/dist/shared/components/user-dropdown-button/_internal/user-info.vue.d.ts.map +1 -0
  55. package/dist/shared/components/user-dropdown-button/_internal/user-sidebar.vue.d.ts +25 -0
  56. package/dist/shared/components/user-dropdown-button/_internal/user-sidebar.vue.d.ts.map +1 -0
  57. package/dist/shared/components/user-dropdown-button/composables/useUserActions.d.ts +3921 -0
  58. package/dist/shared/components/user-dropdown-button/composables/useUserActions.d.ts.map +1 -0
  59. package/dist/shared/components/user-dropdown-button/index.d.ts +5 -5
  60. package/dist/shared/components/user-dropdown-button/user-dropdown-button.vue.d.ts +4 -4
  61. package/dist/shared/components/user-dropdown-button/user-dropdown-button.vue.d.ts.map +1 -1
  62. package/dist/shared/modules/dynamic/components/fields/Button.d.ts +0 -6
  63. package/dist/shared/modules/dynamic/components/fields/Button.d.ts.map +1 -1
  64. package/dist/shared/modules/dynamic/components/fields/Card.d.ts +0 -6
  65. package/dist/shared/modules/dynamic/components/fields/Card.d.ts.map +1 -1
  66. package/dist/shared/modules/dynamic/components/fields/Checkbox.d.ts +0 -6
  67. package/dist/shared/modules/dynamic/components/fields/Checkbox.d.ts.map +1 -1
  68. package/dist/shared/modules/dynamic/components/fields/ContentField.d.ts +0 -6
  69. package/dist/shared/modules/dynamic/components/fields/ContentField.d.ts.map +1 -1
  70. package/dist/shared/modules/dynamic/components/fields/CustomComponent.d.ts +0 -6
  71. package/dist/shared/modules/dynamic/components/fields/CustomComponent.d.ts.map +1 -1
  72. package/dist/shared/modules/dynamic/components/fields/DynamicProperty.d.ts +0 -6
  73. package/dist/shared/modules/dynamic/components/fields/DynamicProperty.d.ts.map +1 -1
  74. package/dist/shared/modules/dynamic/components/fields/EditorField.d.ts +0 -6
  75. package/dist/shared/modules/dynamic/components/fields/EditorField.d.ts.map +1 -1
  76. package/dist/shared/modules/dynamic/components/fields/Fieldset.d.ts +0 -6
  77. package/dist/shared/modules/dynamic/components/fields/Fieldset.d.ts.map +1 -1
  78. package/dist/shared/modules/dynamic/components/fields/GalleryField.d.ts +0 -6
  79. package/dist/shared/modules/dynamic/components/fields/GalleryField.d.ts.map +1 -1
  80. package/dist/shared/modules/dynamic/components/fields/ImageField.d.ts +0 -6
  81. package/dist/shared/modules/dynamic/components/fields/ImageField.d.ts.map +1 -1
  82. package/dist/shared/modules/dynamic/components/fields/InputCurrency.d.ts +0 -6
  83. package/dist/shared/modules/dynamic/components/fields/InputCurrency.d.ts.map +1 -1
  84. package/dist/shared/modules/dynamic/components/fields/InputField.d.ts +0 -6
  85. package/dist/shared/modules/dynamic/components/fields/InputField.d.ts.map +1 -1
  86. package/dist/shared/modules/dynamic/components/fields/MultivalueField.d.ts +0 -6
  87. package/dist/shared/modules/dynamic/components/fields/MultivalueField.d.ts.map +1 -1
  88. package/dist/shared/modules/dynamic/components/fields/RadioButtonGroup.d.ts +0 -6
  89. package/dist/shared/modules/dynamic/components/fields/RadioButtonGroup.d.ts.map +1 -1
  90. package/dist/shared/modules/dynamic/components/fields/RatingField.d.ts +0 -6
  91. package/dist/shared/modules/dynamic/components/fields/RatingField.d.ts.map +1 -1
  92. package/dist/shared/modules/dynamic/components/fields/SelectField.d.ts +0 -6
  93. package/dist/shared/modules/dynamic/components/fields/SelectField.d.ts.map +1 -1
  94. package/dist/shared/modules/dynamic/components/fields/StatusField.d.ts +0 -6
  95. package/dist/shared/modules/dynamic/components/fields/StatusField.d.ts.map +1 -1
  96. package/dist/shared/modules/dynamic/components/fields/SwitchField.d.ts +0 -6
  97. package/dist/shared/modules/dynamic/components/fields/SwitchField.d.ts.map +1 -1
  98. package/dist/shared/modules/dynamic/components/fields/Table.d.ts +0 -6
  99. package/dist/shared/modules/dynamic/components/fields/Table.d.ts.map +1 -1
  100. package/dist/shared/modules/dynamic/components/fields/TextareaField.d.ts +0 -6
  101. package/dist/shared/modules/dynamic/components/fields/TextareaField.d.ts.map +1 -1
  102. package/dist/shared/modules/dynamic/components/fields/VideoField.d.ts +0 -6
  103. package/dist/shared/modules/dynamic/components/fields/VideoField.d.ts.map +1 -1
  104. package/dist/shared/modules/dynamic/components/fields/props.d.ts +0 -6
  105. package/dist/shared/modules/dynamic/components/fields/props.d.ts.map +1 -1
  106. package/dist/shared/modules/dynamic/components/fields/storybook/Button.stories.d.ts +0 -18
  107. package/dist/shared/modules/dynamic/components/fields/storybook/Button.stories.d.ts.map +1 -1
  108. package/dist/shared/modules/dynamic/components/fields/storybook/Card.stories.d.ts +0 -18
  109. package/dist/shared/modules/dynamic/components/fields/storybook/Card.stories.d.ts.map +1 -1
  110. package/dist/shared/modules/dynamic/components/fields/storybook/Checkbox.stories.d.ts +0 -18
  111. package/dist/shared/modules/dynamic/components/fields/storybook/Checkbox.stories.d.ts.map +1 -1
  112. package/dist/shared/modules/dynamic/components/fields/storybook/ContentField.stories.d.ts +0 -18
  113. package/dist/shared/modules/dynamic/components/fields/storybook/ContentField.stories.d.ts.map +1 -1
  114. package/dist/shared/modules/dynamic/components/fields/storybook/EditorField.stories.d.ts +0 -18
  115. package/dist/shared/modules/dynamic/components/fields/storybook/EditorField.stories.d.ts.map +1 -1
  116. package/dist/shared/modules/dynamic/components/fields/storybook/Fieldset.stories.d.ts +0 -18
  117. package/dist/shared/modules/dynamic/components/fields/storybook/Fieldset.stories.d.ts.map +1 -1
  118. package/dist/shared/modules/dynamic/components/fields/storybook/GalleryField.stories.d.ts +0 -18
  119. package/dist/shared/modules/dynamic/components/fields/storybook/GalleryField.stories.d.ts.map +1 -1
  120. package/dist/shared/modules/dynamic/components/fields/storybook/ImageField.stories.d.ts +0 -18
  121. package/dist/shared/modules/dynamic/components/fields/storybook/ImageField.stories.d.ts.map +1 -1
  122. package/dist/shared/modules/dynamic/components/fields/storybook/InputCurrency.stories.d.ts +0 -18
  123. package/dist/shared/modules/dynamic/components/fields/storybook/InputCurrency.stories.d.ts.map +1 -1
  124. package/dist/shared/modules/dynamic/components/fields/storybook/InputField.stories.d.ts +0 -18
  125. package/dist/shared/modules/dynamic/components/fields/storybook/InputField.stories.d.ts.map +1 -1
  126. package/dist/shared/modules/dynamic/components/fields/storybook/MultivalueField.stories.d.ts +0 -18
  127. package/dist/shared/modules/dynamic/components/fields/storybook/MultivalueField.stories.d.ts.map +1 -1
  128. package/dist/shared/modules/dynamic/components/fields/storybook/RadioButtonGroup.stories.d.ts +0 -18
  129. package/dist/shared/modules/dynamic/components/fields/storybook/RadioButtonGroup.stories.d.ts.map +1 -1
  130. package/dist/shared/modules/dynamic/components/fields/storybook/RatingField.stories.d.ts +0 -18
  131. package/dist/shared/modules/dynamic/components/fields/storybook/RatingField.stories.d.ts.map +1 -1
  132. package/dist/shared/modules/dynamic/components/fields/storybook/SelectField.stories.d.ts +0 -18
  133. package/dist/shared/modules/dynamic/components/fields/storybook/SelectField.stories.d.ts.map +1 -1
  134. package/dist/shared/modules/dynamic/components/fields/storybook/StatusField.stories.d.ts +0 -18
  135. package/dist/shared/modules/dynamic/components/fields/storybook/StatusField.stories.d.ts.map +1 -1
  136. package/dist/shared/modules/dynamic/components/fields/storybook/TextareaField.stories.d.ts +0 -18
  137. package/dist/shared/modules/dynamic/components/fields/storybook/TextareaField.stories.d.ts.map +1 -1
  138. package/dist/shared/modules/dynamic/components/fields/storybook/VideoField.stories.d.ts +0 -18
  139. package/dist/shared/modules/dynamic/components/fields/storybook/VideoField.stories.d.ts.map +1 -1
  140. package/dist/shared/modules/dynamic/components/fields/storybook/pages/DynamicRender.d.ts +0 -18
  141. package/dist/shared/modules/dynamic/components/fields/storybook/pages/DynamicRender.d.ts.map +1 -1
  142. package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts +0 -12
  143. package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts.map +1 -1
  144. package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts +0 -12
  145. package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts.map +1 -1
  146. package/dist/shared/pages/InvitePage/components/invite/index.d.ts +8 -8
  147. package/dist/shared/pages/ResetPasswordPage/components/reset-password/index.d.ts +8 -8
  148. package/dist/tailwind.config.d.ts +1 -1
  149. package/dist/tsconfig.tsbuildinfo +1 -1
  150. package/dist/ui/components/atoms/vc-button/vc-button.stories.d.ts +156 -156
  151. package/dist/ui/components/atoms/vc-button/vc-button.vue.d.ts +2 -1
  152. package/dist/ui/components/atoms/vc-button/vc-button.vue.d.ts.map +1 -1
  153. package/dist/ui/components/atoms/vc-icon/icons/AppWindowIcon.vue.d.ts +18 -0
  154. package/dist/ui/components/atoms/vc-icon/icons/AppWindowIcon.vue.d.ts.map +1 -0
  155. package/dist/ui/components/atoms/vc-icon/icons/ArrowLeftIcon.vue.d.ts +18 -0
  156. package/dist/ui/components/atoms/vc-icon/icons/ArrowLeftIcon.vue.d.ts.map +1 -0
  157. package/dist/ui/components/atoms/vc-icon/icons/ArrowRightIcon.vue.d.ts +18 -0
  158. package/dist/ui/components/atoms/vc-icon/icons/ArrowRightIcon.vue.d.ts.map +1 -0
  159. package/dist/ui/components/atoms/vc-icon/icons/BellIcon.vue.d.ts +18 -0
  160. package/dist/ui/components/atoms/vc-icon/icons/BellIcon.vue.d.ts.map +1 -0
  161. package/dist/ui/components/atoms/vc-icon/icons/CircleDotsIcon.vue.d.ts +18 -0
  162. package/dist/ui/components/atoms/vc-icon/icons/CircleDotsIcon.vue.d.ts.map +1 -0
  163. package/dist/ui/components/atoms/vc-icon/icons/CrossSignIcon.vue.d.ts +18 -0
  164. package/dist/ui/components/atoms/vc-icon/icons/CrossSignIcon.vue.d.ts.map +1 -0
  165. package/dist/ui/components/atoms/vc-icon/icons/LogoutIcon.vue.d.ts +18 -0
  166. package/dist/ui/components/atoms/vc-icon/icons/LogoutIcon.vue.d.ts.map +1 -0
  167. package/dist/ui/components/atoms/vc-icon/icons/MenuBurgerIcon.vue.d.ts +18 -0
  168. package/dist/ui/components/atoms/vc-icon/icons/MenuBurgerIcon.vue.d.ts.map +1 -0
  169. package/dist/ui/components/atoms/vc-icon/icons/MinusSignIcon.vue.d.ts +18 -0
  170. package/dist/ui/components/atoms/vc-icon/icons/MinusSignIcon.vue.d.ts.map +1 -0
  171. package/dist/ui/components/atoms/vc-icon/icons/PlusSignIcon.vue.d.ts +18 -0
  172. package/dist/ui/components/atoms/vc-icon/icons/PlusSignIcon.vue.d.ts.map +1 -0
  173. package/dist/ui/components/atoms/vc-icon/icons/SettingsBoltIcon.vue.d.ts +18 -0
  174. package/dist/ui/components/atoms/vc-icon/icons/SettingsBoltIcon.vue.d.ts.map +1 -0
  175. package/dist/ui/components/atoms/vc-icon/icons/index.d.ts +12 -0
  176. package/dist/ui/components/atoms/vc-icon/icons/index.d.ts.map +1 -0
  177. package/dist/ui/components/atoms/vc-icon/index.d.ts +1 -0
  178. package/dist/ui/components/atoms/vc-icon/index.d.ts.map +1 -1
  179. package/dist/ui/components/atoms/vc-icon/vc-icon.stories.d.ts +3 -3
  180. package/dist/ui/components/atoms/vc-icon/vc-icon.vue.d.ts +3 -2
  181. package/dist/ui/components/atoms/vc-icon/vc-icon.vue.d.ts.map +1 -1
  182. package/dist/ui/components/atoms/vc-status/vc-status.vue.d.ts.map +1 -1
  183. package/dist/ui/components/atoms/vc-tooltip/vc-tooltip.vue.d.ts +4 -0
  184. package/dist/ui/components/atoms/vc-tooltip/vc-tooltip.vue.d.ts.map +1 -1
  185. package/dist/ui/components/molecules/vc-editor/vc-editor.stories.d.ts +996 -0
  186. package/dist/ui/components/molecules/vc-editor/vc-editor.stories.d.ts.map +1 -1
  187. package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts +332 -0
  188. package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts.map +1 -1
  189. package/dist/ui/components/molecules/vc-pagination/vc-pagination.vue.d.ts.map +1 -1
  190. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue.d.ts +3 -1
  191. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue.d.ts.map +1 -1
  192. 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
  193. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue.d.ts.map +1 -1
  194. package/dist/ui/components/organisms/vc-app/composables/useToolbarSlots.d.ts +5 -0
  195. package/dist/ui/components/organisms/vc-app/composables/useToolbarSlots.d.ts.map +1 -0
  196. package/dist/ui/components/organisms/vc-app/vc-app.stories.d.ts +16 -106
  197. package/dist/ui/components/organisms/vc-app/vc-app.stories.d.ts.map +1 -1
  198. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts +16 -106
  199. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
  200. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue.d.ts +0 -2
  201. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue.d.ts.map +1 -1
  202. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue.d.ts +0 -3
  203. 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
  204. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue.d.ts +13 -2
  205. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue.d.ts.map +1 -1
  206. package/dist/ui/components/organisms/vc-blade/vc-blade.stories.d.ts +0 -16
  207. package/dist/ui/components/organisms/vc-blade/vc-blade.stories.d.ts.map +1 -1
  208. package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts +0 -2
  209. package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts.map +1 -1
  210. package/dist/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue.d.ts.map +1 -1
  211. package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue.d.ts +3 -3
  212. package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue.d.ts.map +1 -1
  213. package/dist/ui/components/organisms/vc-table/vc-table.stories.d.ts +30 -30
  214. package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts +6 -6
  215. package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts.map +1 -1
  216. package/package.json +9 -6
  217. package/shared/components/app-bar-button/app-bar-button.vue +62 -45
  218. package/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue +31 -134
  219. package/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue +8 -7
  220. package/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.ts +16 -4
  221. package/shared/components/change-password/change-password.vue +2 -1
  222. package/shared/components/generic-dropdown/generic-dropdown.vue +171 -0
  223. package/shared/components/generic-dropdown/index.ts +1 -0
  224. package/shared/components/index.ts +2 -0
  225. package/shared/components/language-selector/language-selector.vue +29 -64
  226. package/shared/components/menu-item/index.ts +1 -0
  227. package/shared/components/menu-item/menu-item.vue +111 -0
  228. package/shared/components/notification-dropdown/notification-dropdown.vue +21 -72
  229. package/shared/components/notification-template/notification-template.vue +23 -34
  230. package/shared/components/sidebar/sidebar.vue +16 -1
  231. package/shared/components/theme-selector/theme-selector.vue +34 -76
  232. package/shared/components/user-dropdown-button/_internal/user-actions.vue +68 -0
  233. package/shared/components/user-dropdown-button/_internal/user-info.vue +74 -0
  234. package/shared/components/user-dropdown-button/_internal/user-sidebar.vue +73 -0
  235. package/shared/components/user-dropdown-button/composables/useUserActions.ts +56 -0
  236. package/shared/components/user-dropdown-button/user-dropdown-button.vue +69 -271
  237. package/tailwind.config.ts +1 -1
  238. package/ui/components/atoms/vc-badge/vc-badge.vue +10 -9
  239. package/ui/components/atoms/vc-button/vc-button.vue +2 -2
  240. package/ui/components/atoms/vc-card/vc-card.vue +4 -7
  241. package/ui/components/atoms/vc-icon/icons/AppWindowIcon.vue +32 -0
  242. package/ui/components/atoms/vc-icon/icons/ArrowLeftIcon.vue +24 -0
  243. package/ui/components/atoms/vc-icon/icons/ArrowRightIcon.vue +24 -0
  244. package/ui/components/atoms/vc-icon/icons/BellIcon.vue +29 -0
  245. package/ui/components/atoms/vc-icon/icons/CircleDotsIcon.vue +41 -0
  246. package/ui/components/atoms/vc-icon/icons/CrossSignIcon.vue +24 -0
  247. package/ui/components/atoms/vc-icon/icons/LogoutIcon.vue +24 -0
  248. package/ui/components/atoms/vc-icon/icons/MenuBurgerIcon.vue +24 -0
  249. package/ui/components/atoms/vc-icon/icons/MinusSignIcon.vue +24 -0
  250. package/ui/components/atoms/vc-icon/icons/PlusSignIcon.vue +24 -0
  251. package/ui/components/atoms/vc-icon/icons/SettingsBoltIcon.vue +31 -0
  252. package/ui/components/atoms/vc-icon/icons/index.ts +11 -0
  253. package/ui/components/atoms/vc-icon/index.ts +1 -0
  254. package/ui/components/atoms/vc-icon/vc-icon.vue +33 -3
  255. package/ui/components/atoms/vc-status/vc-status.vue +17 -4
  256. package/ui/components/atoms/vc-tooltip/vc-tooltip.vue +22 -7
  257. package/ui/components/atoms/vc-widget/vc-widget.vue +31 -22
  258. package/ui/components/molecules/vc-pagination/vc-pagination.vue +9 -17
  259. package/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue +196 -33
  260. package/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue +47 -47
  261. package/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue +5 -29
  262. package/ui/components/organisms/vc-app/composables/useToolbarSlots.ts +37 -0
  263. package/ui/components/organisms/vc-app/vc-app.vue +87 -70
  264. package/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue +17 -17
  265. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue +9 -69
  266. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue +199 -31
  267. package/ui/components/organisms/vc-blade/vc-blade.stories.ts +1 -1
  268. package/ui/components/organisms/vc-blade/vc-blade.vue +129 -38
  269. package/ui/components/organisms/vc-table/_internal/vc-table-base-header/vc-table-base-header.vue +2 -2
  270. package/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue +1 -1
  271. package/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue +34 -23
  272. package/ui/components/organisms/vc-table/vc-table.vue +44 -29
@@ -5,6 +5,7 @@
5
5
  crossAxis: 0,
6
6
  mainAxis: -10,
7
7
  }"
8
+ :delay="1000"
8
9
  >
9
10
  <div
10
11
  class="vc-widget"
@@ -18,20 +19,20 @@
18
19
  >
19
20
  <VcBadge
20
21
  :content="truncateCount"
21
- :size="isExpanded ? 'm' : 's'"
22
+ size="s"
22
23
  >
23
24
  <div class="vc-widget__icon-container">
24
25
  <VcIcon
25
26
  v-if="icon"
26
27
  class="vc-widget__icon"
27
28
  :icon="icon"
28
- :size="isExpanded ? 'xxl' : 'l'"
29
+ size="m"
29
30
  ></VcIcon>
30
31
  </div>
31
32
  </VcBadge>
32
33
  <div class="vc-widget__content">
33
34
  <div
34
- v-if="title && isExpanded"
35
+ v-if="title"
35
36
  class="vc-widget__title"
36
37
  >
37
38
  {{ title }}
@@ -86,34 +87,42 @@ function onClick() {
86
87
 
87
88
  <style lang="scss">
88
89
  :root {
89
- --widget-bg-color: var(--additional-50);
90
- --widget-border-color: var(--base-border-color, var(--neutrals-200));
91
- --widget-bg-hover-color: var(--primary-50);
92
- --widget-icon-color: var(--secondary-500);
93
- --widget-icon-disabled-color: var(--neutrals-300);
94
- --widget-title-color: var(--base-text-color, var(--neutrals-950));
95
- --widget-title-disabled-color: var(--neutrals-300);
96
- --widget-value-color: var(--primary-400);
97
- --widget-value-disabled-color: var(--neutrals-300);
90
+ --widget-bg-color: transparent;
91
+ --widget-bg-hover-color: transparent;
92
+ --widget-icon-color: var(--neutrals-700);
93
+ --widget-icon-hover-color: var(--primary-600);
94
+ --widget-icon-disabled-color: var(--neutrals-400);
95
+ --widget-title-color: var(--neutrals-600);
96
+ --widget-title-hover-color: var(--primary-600);
97
+ --widget-title-disabled-color: var(--neutrals-400);
98
98
  }
99
99
 
100
100
  .vc-widget {
101
- @apply tw-relative tw-shrink-0 tw-py-4 tw-px-2;
102
- @apply tw-flex tw-overflow-hidden tw-box-border tw-flex-col tw-items-center tw-justify-center tw-border-b tw-border-solid tw-cursor-pointer;
103
- @apply tw-bg-[color:var(--widget-bg-color)] tw-border-b-[color:var(--widget-border-color)];
101
+ @apply tw-relative tw-shrink-0 tw-px-2;
102
+ @apply tw-flex tw-overflow-hidden tw-box-border tw-flex-col tw-items-center tw-justify-center tw-cursor-pointer;
103
+ @apply tw-bg-[color:var(--widget-bg-color)];
104
+ @apply tw-transition-colors tw-duration-200;
104
105
 
105
106
  &:hover {
106
107
  @apply tw-bg-[color:var(--widget-bg-hover-color)];
107
- }
108
108
 
109
- &--expanded {
110
- @apply tw-w-32 tw-h-32;
111
- }
109
+ .vc-widget__title {
110
+ @apply tw-text-[color:var(--widget-title-hover-color)];
111
+ }
112
112
 
113
- &--collapsed {
114
- @apply tw-w-12 tw-h-12;
113
+ .vc-widget__icon {
114
+ @apply tw-text-[color:var(--widget-icon-hover-color)];
115
+ }
115
116
  }
116
117
 
118
+ // &--expanded {
119
+ // @apply tw-w-32 tw-h-32;
120
+ // }
121
+
122
+ // &--collapsed {
123
+ // @apply tw-w-12 tw-h-12;
124
+ // }
125
+
117
126
  &--mobile {
118
127
  @apply tw-w-28;
119
128
  @apply tw-border-none #{!important};
@@ -132,7 +141,7 @@ function onClick() {
132
141
  }
133
142
 
134
143
  &__title {
135
- @apply tw-font-medium tw-text-sm tw-text-[color:var(--widget-title-color)] tw-mt-2 tw-mx-0 tw-text-center tw-line-clamp-2;
144
+ @apply tw-font-medium tw-text-xs tw-text-[color:var(--widget-title-color)] tw-mt-1 tw-mx-0 tw-text-center tw-line-clamp-2;
136
145
  }
137
146
 
138
147
  &--disabled &__title {
@@ -9,7 +9,7 @@
9
9
  >
10
10
  <VcIcon
11
11
  size="xs"
12
- icon="fas fa-arrow-left"
12
+ :icon="ArrowLeftIcon"
13
13
  ></VcIcon>
14
14
  </div>
15
15
 
@@ -33,7 +33,7 @@
33
33
  >
34
34
  <VcIcon
35
35
  size="xs"
36
- icon="fas fa-arrow-right"
36
+ :icon="ArrowRightIcon"
37
37
  ></VcIcon>
38
38
  </div>
39
39
 
@@ -69,6 +69,7 @@
69
69
  <script lang="ts" setup>
70
70
  import { ref, computed, toRefs } from "vue";
71
71
  import { VcIcon, VcInput } from "./../../";
72
+ import { ArrowLeftIcon, ArrowRightIcon } from "./../../atoms/vc-icon/icons";
72
73
 
73
74
  export interface Props {
74
75
  expanded?: boolean;
@@ -166,7 +167,7 @@ const pagesToShow = computed(() => {
166
167
  :root {
167
168
  --pagination-item-width: 30px;
168
169
  --pagination-item-height: 30px;
169
- --pagination-item-color: var(--base-text-color, var(--neutrals-950));
170
+ --pagination-item-color: var(--neutrals-500);
170
171
  --pagination-item-color-hover: var(--primary-500);
171
172
  --pagination-item-color-current: var(--additional-50);
172
173
  --pagination-item-color-disabled: var(--neutrals-400);
@@ -202,18 +203,15 @@ const pagesToShow = computed(() => {
202
203
  &__item {
203
204
  @apply tw-flex tw-items-center tw-justify-center tw-w-[var(--pagination-item-width)]
204
205
  tw-h-[var(--pagination-item-height)]
205
- tw-bg-[color:var(--pagination-item-background-color)]
206
- tw-border tw-border-solid tw-border-[color:var(--pagination-item-border-color)]
207
- tw-rounded-[var(--pagination-item-border-radius)]
206
+ tw-rounded-full
208
207
  tw-text-[color:var(--pagination-item-color)]
209
208
  tw-box-border
210
209
  tw-transition tw-duration-200
211
- tw-mr-3 tw-select-none last:tw-mr-0 tw-text-xs tw-cursor-pointer;
210
+ tw-mr-3 tw-select-none last:tw-mr-0 tw-text-xs tw-cursor-pointer tw-shrink-0;
212
211
 
213
212
  &:hover {
214
213
  @apply tw-bg-[color:var(--pagination-item-background-color-hover)]
215
214
  tw-text-[color:var(--pagination-item-color-hover)]
216
- tw-border tw-border-solid tw-border-[color:var(--pagination-item-border-color-hover)]
217
215
  tw-cursor-pointer;
218
216
  }
219
217
 
@@ -221,7 +219,6 @@ const pagesToShow = computed(() => {
221
219
  &_current:hover {
222
220
  @apply tw-bg-[color:var(--pagination-item-background-color-current)]
223
221
  tw-text-[color:var(--pagination-item-color-current)]
224
- tw-border tw-border-solid tw-border-[color:var(--pagination-item-border-color-current)]
225
222
  tw-cursor-auto;
226
223
  }
227
224
 
@@ -229,26 +226,21 @@ const pagesToShow = computed(() => {
229
226
  &_disabled:hover {
230
227
  @apply tw-bg-[color:var(--pagination-item-background-color-disabled)]
231
228
  tw-text-[color:var(--pagination-item-color-disabled)]
232
- tw-border tw-border-solid tw-border-[color:var(--pagination-item-border-color-disabled)]
233
229
  tw-cursor-auto;
234
230
  }
235
231
 
236
232
  &_hover {
237
233
  @apply hover:tw-bg-[color:var(--pagination-item-background-color-hover)]
238
- hover:tw-text-[color:var(--pagination-item-color-hover)]
239
- hover:tw-border hover:tw-border-solid
240
- hover:tw-border-[color:var(--pagination-item-border-color-hover)] tw-cursor-pointer;
234
+ hover:tw-text-[color:var(--pagination-item-color-hover)] tw-cursor-pointer;
241
235
  }
242
236
  }
243
237
 
244
238
  &__jump {
245
- display: flex;
246
- align-items: center;
239
+ @apply tw-flex tw-items-center tw-text-sm;
247
240
  }
248
241
 
249
242
  &__jump input {
250
- width: 50px;
251
- text-align: center;
243
+ @apply tw-w-10 tw-text-center;
252
244
  }
253
245
 
254
246
  &__input {
@@ -3,33 +3,103 @@
3
3
  class="vc-app-bar"
4
4
  :class="{ 'vc-app-bar--mobile': $isMobile.value }"
5
5
  >
6
- <slot name="app-switcher"></slot>
7
-
8
- <template v-if="!$isMobile.value || quantity === 0">
9
- <div class="tw-w-auto tw-h-[var(--app-bar-height)] tw-flex tw-items-center">
10
- <!-- Logo -->
11
- <img
12
- class="vc-app-bar__logo"
13
- :class="{
14
- 'vc-app-bar__logo--mobile': $isMobile.value,
15
- }"
16
- alt="logo"
17
- :src="logo"
18
- @click="$emit('logo:click')"
19
- />
20
- </div>
6
+ <div class="vc-app-bar__header">
7
+ <template v-if="!$isMobile.value || quantity === 0">
8
+ <div class="tw-w-auto tw-h-[var(--app-bar-height)] tw-flex tw-items-center">
9
+ <!-- Logo -->
10
+ <img
11
+ class="vc-app-bar__logo"
12
+ :class="{
13
+ 'vc-app-bar__logo--mobile': $isMobile.value,
14
+ }"
15
+ alt="logo"
16
+ :src="logo"
17
+ @click="$emit('logo:click')"
18
+ />
19
+ </div>
21
20
 
22
- <!-- Title -->
23
- <div
21
+ <!-- Title -->
22
+ <!-- <div
24
23
  v-if="title && $isDesktop.value"
25
24
  class="vc-app-bar__title"
26
25
  >
27
26
  {{ title }}
27
+ </div> -->
28
+ </template>
29
+ <div
30
+ ref="referenceButton"
31
+ class="vc-app-bar__menu-button"
32
+ @click="toggleMenu"
33
+ >
34
+ <div class="vc-app-bar__menu-button-wrap">
35
+ <svg
36
+ width="12"
37
+ height="12"
38
+ viewBox="0 0 12 12"
39
+ fill="none"
40
+ xmlns="http://www.w3.org/2000/svg"
41
+ >
42
+ <path
43
+ d="M6 11H11M1 6H11M1 1H11"
44
+ stroke="#737373"
45
+ stroke-width="2"
46
+ stroke-linecap="round"
47
+ stroke-linejoin="round"
48
+ />
49
+ </svg>
50
+ <div
51
+ v-if="hasUnreadNotifications"
52
+ class="vc-app-bar__menu-button-accent"
53
+ ></div>
54
+ </div>
55
+ </div>
56
+ </div>
57
+
58
+ <div
59
+ v-if="isMenuOpen"
60
+ v-on-click-outside="[
61
+ () => {
62
+ isMenuOpen = false;
63
+ },
64
+ { ignore: [referenceButton] },
65
+ ]"
66
+ class="vc-app-bar__menu"
67
+ >
68
+ <div class="vc-app-bar__menu-header">
69
+ <slot name="toolbar"></slot>
70
+ <div class="vc-app__spacer"></div>
71
+
72
+ <div class="vc-app-bar__menu-close-button">
73
+ <VcButton
74
+ icon-class="vc-app-bar__menu-close-button-icon"
75
+ :icon="CrossSignIcon"
76
+ icon-size="xs"
77
+ text
78
+ @click.stop="toggleMenu"
79
+ >
80
+ </VcButton>
81
+ </div>
28
82
  </div>
83
+
84
+ <div class="vc-app-bar__menu-content">
85
+ <!-- Dropdowns -->
86
+ <div
87
+ id="vc-app-bar__menu-dropdowns"
88
+ class="vc-app-bar__menu-dropdowns"
89
+ ></div>
90
+
91
+ <slot name="app-switcher"></slot>
92
+ </div>
93
+ </div>
94
+
95
+ <!-- <slot name="app-switcher"></slot> -->
96
+
97
+ <!-- <template v-if="isMenuOpen">
98
+ <div class="vc-app-bar__menu"></div>
29
99
  </template>
30
100
 
31
101
  <template v-if="$isMobile.value">
32
- <!-- Show blades name when at least one blade is opened -->
102
+ Show blades name when at least one blade is opened
33
103
  <div
34
104
  v-if="quantity === 1"
35
105
  class="vc-app-bar__blade-title"
@@ -37,7 +107,7 @@
37
107
  {{ viewTitle }}
38
108
  </div>
39
109
 
40
- <!-- Show back link when more than one blade is opened -->
110
+ Show back link when more than one blade is opened
41
111
  <VcLink
42
112
  v-else-if="quantity > 1"
43
113
  class="vc-app-bar__backlink"
@@ -49,14 +119,22 @@
49
119
  ></VcIcon>
50
120
  <span class="vc-app-bar__backlink-text">{{ t("COMPONENTS.ORGANISMS.VC_APP.INTERNAL.VC_APP_BAR.BACK") }}</span>
51
121
  </VcLink>
52
- </template>
122
+ </template> -->
123
+
124
+ <div class="vc-app-bar__content">
125
+ <slot name="navmenu"></slot>
126
+ </div>
53
127
 
54
128
  <!-- Additional spacer -->
55
- <div class="vc-app__spacer"></div>
129
+ <!-- <div class="vc-app__spacer"></div> -->
56
130
 
57
131
  <!-- Toolbar container -->
58
- <div class="vc-app__toolbar">
132
+ <!-- <div class="vc-app__toolbar">
59
133
  <slot name="toolbar"></slot>
134
+ </div> -->
135
+
136
+ <div class="vc-app-bar__footer">
137
+ <slot name="user-dropdown"></slot>
60
138
  </div>
61
139
 
62
140
  <!-- Show menu toggler on mobile devices -->
@@ -72,11 +150,13 @@
72
150
 
73
151
  <script lang="ts" setup>
74
152
  import { useI18n } from "vue-i18n";
75
- import { VcIcon, VcLink } from "./../../../../";
153
+ import { CrossSignIcon, VcIcon, VcLink } from "./../../../../";
76
154
  import { IBladeToolbar } from "./../../../../../../core/types";
77
155
  import { useBladeNavigation } from "./../../../../../../shared";
78
- import { Ref, ref } from "vue";
156
+ import { Ref, computed, ref } from "vue";
79
157
  import { watchDebounced } from "@vueuse/core";
158
+ import { vOnClickOutside } from "@vueuse/components";
159
+ import { useNotifications } from "../../../../../../core/composables";
80
160
 
81
161
  export interface Props {
82
162
  logo?: string;
@@ -96,11 +176,22 @@ defineProps<Props>();
96
176
  defineEmits<Emits>();
97
177
 
98
178
  const { t } = useI18n({ useScope: "global" });
179
+ const { notifications } = useNotifications();
99
180
 
100
181
  const { blades } = useBladeNavigation();
101
182
 
102
183
  const viewTitle: Ref<string> = ref("");
103
184
  const quantity = ref();
185
+ const isMenuOpen = ref(false);
186
+ const referenceButton = ref<HTMLElement | null>(null);
187
+
188
+ const hasUnreadNotifications = computed(() => {
189
+ return notifications.value.some((item) => item.isNew);
190
+ });
191
+
192
+ function toggleMenu() {
193
+ isMenuOpen.value = !isMenuOpen.value;
194
+ }
104
195
 
105
196
  watchDebounced(
106
197
  blades,
@@ -115,13 +206,16 @@ watchDebounced(
115
206
 
116
207
  <style lang="scss">
117
208
  :root {
118
- --app-bar-height: 60px;
119
- --app-bar-background-color: var(--additional-50);
209
+ --app-bar-height: 82px;
210
+ --app-bar-width: 246px;
211
+ --app-bar-logo-width: 125px;
212
+ --app-bar-logo-height: 46px;
213
+ --app-bar-background-color: var(--neutrals-50);
120
214
  --app-bar-button-width: 50px;
121
- --app-bar-button-border-color: var(--app-bar-background-color);
122
- --app-bar-button-color: var(--secondary-600);
215
+ --app-bar-header-bottom-border-color: var(--neutrals-200);
216
+ --app-bar-button-color: var(--neutrals-500);
123
217
  --app-bar-button-background-color: var(--app-bar-background-color);
124
- --app-bar-button-color-hover: var(--secondary-700);
218
+ --app-bar-button-color-hover: var(--neutrals-600);
125
219
  --app-bar-button-background-color-hover: var(--app-bar-background-color);
126
220
  --app-bar-product-name-color: var(--neutrals-600);
127
221
  --app-bar-product-name-size: 20px;
@@ -129,6 +223,7 @@ watchDebounced(
129
223
  --app-bar-divider-color: var(--additional-50);
130
224
  --app-bar-account-info-role-color: var(--neutrals-400);
131
225
 
226
+ --app-bar-content-visible-border-color: var(--primary-500);
132
227
  --app-bar-burger-color: var(--primary-500);
133
228
 
134
229
  --app-bar-shadow-color: var(--additional-950);
@@ -136,19 +231,87 @@ watchDebounced(
136
231
  }
137
232
 
138
233
  .vc-app-bar {
139
- @apply tw-relative tw-flex tw-items-center tw-justify-between tw-px-4;
140
- height: var(--app-bar-height);
234
+ @apply tw-relative tw-flex tw-flex-col tw-w-[var(--app-bar-width)];
141
235
  background-color: var(--app-bar-background-color);
142
- box-shadow: var(--app-bar-shadow);
143
236
  @apply tw-box-border;
144
237
  }
145
238
 
239
+ .vc-app-bar__menu-button {
240
+ @apply tw-cursor-pointer tw-relative;
241
+
242
+ &-wrap {
243
+ @apply tw-relative;
244
+ }
245
+
246
+ &-accent {
247
+ @apply tw-block tw-absolute tw-right-[-7px] tw-top-[-5px]
248
+ tw-w-[5px] tw-h-[5px]
249
+ tw-bg-[color:var(--notification-dropdown-accent-color)]
250
+ tw-rounded-full tw-z-[1];
251
+ }
252
+ }
253
+
254
+ .vc-app-bar__header {
255
+ @apply tw-flex tw-flex-row tw-items-center tw-justify-between tw-px-4;
256
+ border-bottom: 1px solid var(--app-bar-border-color);
257
+ }
258
+
259
+ .vc-app-bar__menu-close-button {
260
+ @apply tw-pr-4 tw-flex tw-items-center tw-justify-center;
261
+ }
262
+
263
+ .vc-app-bar__menu-close-button-icon {
264
+ @apply tw-text-[color:var(--app-bar-button-color)];
265
+ }
266
+
267
+ .vc-app-bar__content {
268
+ @apply tw-flex-grow tw-px-4;
269
+ // border-top: 1px solid var(--app-bar-header-bottom-border-color);
270
+ }
271
+
272
+ .vc-app-bar__menu-content {
273
+ @apply tw-relative;
274
+
275
+ &:before {
276
+ content: "";
277
+ @apply tw-absolute tw-left-0 tw-top-[-1px] tw-w-full tw-h-[1px] tw-bg-[color:var(--app-bar-header-bottom-border-color)] tw-z-[1];
278
+ }
279
+
280
+ .vc-app-bar__menu-dropdowns:not(:empty) {
281
+ &:before {
282
+ content: "";
283
+ @apply tw-absolute tw-left-0 tw-top-[-2px] tw-w-full tw-h-[2px] tw-bg-[color:var(--app-bar-content-visible-border-color)] tw-z-[1] #{!important};
284
+ }
285
+ }
286
+ }
287
+
288
+ .vc-app-bar__footer {
289
+ @apply tw-flex-none;
290
+ }
291
+
292
+ .vc-app-bar__menu {
293
+ @apply tw-w-full tw-h-full tw-absolute tw-top-0 tw-left-0 tw-z-[999] tw-bg-[color:var(--app-bar-background-color)];
294
+ }
295
+
296
+ .vc-app-bar__menu-header {
297
+ @apply tw-flex tw-h-[var(--app-bar-height)];
298
+ // border-bottom: 1px solid var(--app-bar-header-bottom-border-color);
299
+ }
300
+
301
+ .vc-app-bar__menu-dropdowns {
302
+ @apply tw-w-full tw-h-full tw-invisible;
303
+
304
+ &:not(:empty) {
305
+ @apply tw-visible tw-border-b-[2px] tw-border-[color:var(--app-bar-header-bottom-border-color)] tw-z-[2];
306
+ }
307
+ }
308
+
146
309
  .vc-app-bar--mobile {
147
310
  @apply tw-pr-0 tw-pl-3 #{!important};
148
311
  }
149
312
 
150
313
  .vc-app-bar__logo {
151
- @apply tw-h-1/2 tw-cursor-pointer tw-mx-4;
314
+ @apply tw-cursor-pointer tw-max-w-[var(--app-bar-logo-width)] tw-max-h-[var(--app-bar-logo-height)] tw-mx-2;
152
315
 
153
316
  &--mobile {
154
317
  @apply tw-mx-1;