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

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 (710) hide show
  1. package/CHANGELOG.md +129 -0
  2. package/core/api/platform.ts +9883 -9883
  3. package/core/composables/index.ts +17 -16
  4. package/core/composables/useApiClient/index.ts +22 -22
  5. package/core/composables/useAssets/index.ts +2 -2
  6. package/core/composables/useBeforeUnload/index.ts +25 -25
  7. package/core/composables/useFunctions/debounce.ts +16 -16
  8. package/core/composables/useFunctions/delay.ts +4 -4
  9. package/core/composables/useFunctions/index.ts +21 -21
  10. package/core/composables/useFunctions/once.ts +12 -12
  11. package/core/composables/useFunctions/sleep.ts +4 -4
  12. package/core/composables/useFunctions/throttle.ts +14 -14
  13. package/core/composables/useGlobalSearch.ts +44 -0
  14. package/core/composables/useLanguages/index.ts +78 -78
  15. package/core/composables/useLoading/index.ts +9 -9
  16. package/core/composables/useMenuService/index.ts +110 -110
  17. package/core/composables/useSettings/index.ts +6 -2
  18. package/core/composables/useTheme/index.ts +62 -61
  19. package/core/composables/useWidgets/index.ts +18 -0
  20. package/core/directives/autofocus/index.ts +9 -9
  21. package/core/directives/loading/index.ts +30 -1
  22. package/core/directives/loading/styles.css +36 -7
  23. package/core/plugins/i18n/index.ts +11 -11
  24. package/core/plugins/modularity/README.md +152 -0
  25. package/core/plugins/modularity/extensions-helper.ts +209 -0
  26. package/core/plugins/modularity/index.ts +29 -26
  27. package/core/plugins/modularity/loader.ts +101 -45
  28. package/core/plugins/moment/humanize.ts +74 -74
  29. package/core/plugins/moment/index.ts +1 -1
  30. package/core/plugins/permissions/index.ts +10 -10
  31. package/core/plugins/signalR/index.ts +2 -3
  32. package/core/plugins/validation/index.ts +1 -1
  33. package/core/plugins/validation/rules.ts +145 -145
  34. package/core/services/toolbarbus-service.ts +34 -0
  35. package/core/services/widget-service.ts +130 -0
  36. package/core/types/index.ts +8 -8
  37. package/core/types/widget.ts +15 -0
  38. package/core/utilities/camelToSnake.ts +7 -7
  39. package/core/utilities/camelize.ts +5 -5
  40. package/core/utilities/generateId.ts +3 -3
  41. package/core/utilities/kebabToCamel.ts +7 -7
  42. package/dist/{asn1-DF4fnRHj.js → asn1-jKiBa2Ya.js} +20 -18
  43. package/dist/{clike-l4mx49Q1.js → clike-BUuHEmgZ.js} +0 -1
  44. package/dist/{cobol-CJVkMW0i.js → cobol-BlTKFDRj.js} +0 -1
  45. package/dist/core/composables/index.d.ts +8 -7
  46. package/dist/core/composables/index.d.ts.map +1 -1
  47. package/dist/core/composables/useGlobalSearch.d.ts +10 -0
  48. package/dist/core/composables/useGlobalSearch.d.ts.map +1 -0
  49. package/dist/core/composables/useSettings/index.d.ts.map +1 -1
  50. package/dist/core/composables/useTheme/index.d.ts.map +1 -1
  51. package/dist/core/composables/useWidgets/index.d.ts +4 -0
  52. package/dist/core/composables/useWidgets/index.d.ts.map +1 -0
  53. package/dist/core/directives/loading/index.d.ts.map +1 -1
  54. package/dist/core/plugins/modularity/extensions-helper.d.ts +43 -0
  55. package/dist/core/plugins/modularity/extensions-helper.d.ts.map +1 -0
  56. package/dist/core/plugins/modularity/index.d.ts +8 -7
  57. package/dist/core/plugins/modularity/index.d.ts.map +1 -1
  58. package/dist/core/plugins/modularity/loader.d.ts +8 -1
  59. package/dist/core/plugins/modularity/loader.d.ts.map +1 -1
  60. package/dist/core/plugins/signalR/index.d.ts.map +1 -1
  61. package/dist/core/services/toolbarbus-service.d.ts +10 -0
  62. package/dist/core/services/toolbarbus-service.d.ts.map +1 -0
  63. package/dist/core/services/widget-service.d.ts +35 -0
  64. package/dist/core/services/widget-service.d.ts.map +1 -0
  65. package/dist/core/types/index.d.ts +7 -7
  66. package/dist/core/types/index.d.ts.map +1 -1
  67. package/dist/core/types/widget.d.ts +12 -0
  68. package/dist/core/types/widget.d.ts.map +1 -0
  69. package/dist/{dockerfile-CFG_IPGn.js → dockerfile-Bo-KZxHS.js} +1 -1
  70. package/dist/{factor-DJHfQ4a1.js → factor-Bny6SIz6.js} +1 -1
  71. package/dist/framework.js +243 -224
  72. package/dist/{haxe-pdDS1aE8.js → haxe-70NVW1pR.js} +1 -1
  73. package/dist/{index-Y1Vd-H3g.js → index-3eLJLrzP.js} +93503 -91317
  74. package/dist/{index-C2fcXLd3.js → index-B7KsNz2e.js} +8 -8
  75. package/dist/{index-Dg25Tarq.js → index-BbLSuXfB.js} +7 -7
  76. package/dist/{index-DQP89JB7.js → index-CUuop2Pm.js} +9 -9
  77. package/dist/index-D5mVNTjP.js +308 -0
  78. package/dist/index-D7HzlheD.js +243 -0
  79. package/dist/{index-DrL4GDih.js → index-D8YubeMT.js} +9 -9
  80. package/dist/{index-BrmiwSoL.js → index-DQXUkbse.js} +19 -19
  81. package/dist/{index-Df8tA8qI.js → index-DY3kTJtR.js} +9 -9
  82. package/dist/{index-DulPT6l3.js → index-DdgLwPZH.js} +171 -162
  83. package/dist/{index-BrkL9UJR.js → index-DkfZxmI7.js} +42 -42
  84. package/dist/{index-lQO4lsVu.js → index-Dn54TX9M.js} +6 -6
  85. package/dist/{index-D0rhsYYW.js → index-DnpVJexS.js} +5 -5
  86. package/dist/{index-BbQdOYmi.js → index-Yc2AandF.js} +16 -16
  87. package/dist/{index-DrxadmGH.js → index-h6Tp1RYq.js} +7 -7
  88. package/dist/{index-6afjoxl_.js → index-lE5Ov0XL.js} +9 -9
  89. package/dist/{index-DaD28rcu.js → index-q2J1GObW.js} +10 -10
  90. package/dist/index.css +1 -1
  91. package/dist/index.d.ts +5 -0
  92. package/dist/index.d.ts.map +1 -1
  93. package/dist/injection-keys.d.ts +10 -0
  94. package/dist/injection-keys.d.ts.map +1 -0
  95. package/dist/{javascript-CWGekh08.js → javascript-WMWNx-Vj.js} +1 -1
  96. package/dist/{livescript-CE_BxZmN.js → livescript-CanGTf8u.js} +25 -25
  97. package/dist/locales/de.json +5 -2
  98. package/dist/locales/en.json +5 -3
  99. package/dist/{mllike-1yy7Y7jE.js → mllike-BSnXJBGA.js} +0 -3
  100. package/dist/{nsis-BtA0qkjU.js → nsis-BEzMtmb7.js} +1 -1
  101. package/dist/{pascal-ixanSKUz.js → pascal-De0D6mP7.js} +1 -1
  102. package/dist/{pug-CW1q1xhQ.js → pug-BqUR2bBq.js} +1 -1
  103. package/dist/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue.d.ts.map +1 -1
  104. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/_internal/vc-mobile-back-button.vue.d.ts +19 -0
  105. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/_internal/vc-mobile-back-button.vue.d.ts.map +1 -0
  106. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue.d.ts.map +1 -1
  107. package/dist/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.d.ts +17 -1
  108. package/dist/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.d.ts.map +1 -1
  109. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts +5 -1
  110. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts.map +1 -1
  111. package/dist/shared/components/blade-navigation/types/index.d.ts +9 -0
  112. package/dist/shared/components/blade-navigation/types/index.d.ts.map +1 -1
  113. package/dist/shared/components/change-password-button/change-password-button.vue.d.ts +3 -0
  114. package/dist/shared/components/change-password-button/change-password-button.vue.d.ts.map +1 -0
  115. package/dist/shared/components/change-password-button/index.d.ts +2 -0
  116. package/dist/shared/components/change-password-button/index.d.ts.map +1 -0
  117. package/dist/shared/components/common/popup/vc-popup-error.vue.d.ts +6 -2
  118. package/dist/shared/components/common/popup/vc-popup-error.vue.d.ts.map +1 -1
  119. package/dist/shared/components/common/popup/vc-popup-info.vue.d.ts +6 -2
  120. package/dist/shared/components/common/popup/vc-popup-info.vue.d.ts.map +1 -1
  121. package/dist/shared/components/common/popup/vc-popup-warning.vue.d.ts +6 -2
  122. package/dist/shared/components/common/popup/vc-popup-warning.vue.d.ts.map +1 -1
  123. package/dist/shared/components/generic-dropdown/generic-dropdown.vue.d.ts +36 -24
  124. package/dist/shared/components/generic-dropdown/generic-dropdown.vue.d.ts.map +1 -1
  125. package/dist/shared/components/index.d.ts +1 -2
  126. package/dist/shared/components/index.d.ts.map +1 -1
  127. package/dist/shared/components/language-selector/language-selector.vue.d.ts.map +1 -1
  128. package/dist/shared/components/logout-button/index.d.ts +2 -0
  129. package/dist/shared/components/logout-button/index.d.ts.map +1 -0
  130. package/dist/shared/components/logout-button/logout-button.vue.d.ts +3 -0
  131. package/dist/shared/components/logout-button/logout-button.vue.d.ts.map +1 -0
  132. package/dist/shared/components/notification-dropdown/_internal/notification/index.d.ts +2 -0
  133. package/dist/shared/components/notification-dropdown/_internal/notification/index.d.ts.map +1 -0
  134. package/dist/shared/components/notification-dropdown/_internal/notification/notification.vue.d.ts +3 -3
  135. package/dist/shared/components/notification-dropdown/_internal/notification/notification.vue.d.ts.map +1 -1
  136. package/dist/shared/components/notification-dropdown/index.d.ts +13 -1
  137. package/dist/shared/components/notification-dropdown/index.d.ts.map +1 -1
  138. package/dist/shared/components/notification-dropdown/notification-dropdown.vue.d.ts +27 -1
  139. package/dist/shared/components/notification-dropdown/notification-dropdown.vue.d.ts.map +1 -1
  140. package/dist/shared/components/notifications/components/notification-container/index.d.ts +1 -1
  141. package/dist/shared/components/notifications/components/notification-container/index.d.ts.map +1 -1
  142. package/dist/shared/components/settings-menu/index.d.ts +2 -0
  143. package/dist/shared/components/settings-menu/index.d.ts.map +1 -0
  144. package/dist/shared/components/settings-menu/settings-menu.vue.d.ts +3 -0
  145. package/dist/shared/components/settings-menu/settings-menu.vue.d.ts.map +1 -0
  146. package/dist/shared/components/settings-menu-item/index.d.ts +2 -0
  147. package/dist/shared/components/settings-menu-item/index.d.ts.map +1 -0
  148. package/dist/shared/components/{menu-item/menu-item.vue.d.ts → settings-menu-item/settings-menu-item.vue.d.ts} +22 -22
  149. package/dist/shared/components/settings-menu-item/settings-menu-item.vue.d.ts.map +1 -0
  150. package/dist/shared/components/sidebar/sidebar.vue.d.ts +6 -2
  151. package/dist/shared/components/sidebar/sidebar.vue.d.ts.map +1 -1
  152. package/dist/shared/components/theme-selector/theme-selector.vue.d.ts.map +1 -1
  153. package/dist/shared/components/user-dropdown-button/_internal/user-info.vue.d.ts +1 -0
  154. package/dist/shared/components/user-dropdown-button/_internal/user-info.vue.d.ts.map +1 -1
  155. package/dist/shared/components/user-dropdown-button/_internal/user-sidebar.vue.d.ts +0 -2
  156. package/dist/shared/components/user-dropdown-button/_internal/user-sidebar.vue.d.ts.map +1 -1
  157. package/dist/shared/components/user-dropdown-button/index.d.ts +9 -25
  158. package/dist/shared/components/user-dropdown-button/index.d.ts.map +1 -1
  159. package/dist/shared/components/user-dropdown-button/user-dropdown-button.vue.d.ts +1 -18
  160. package/dist/shared/components/user-dropdown-button/user-dropdown-button.vue.d.ts.map +1 -1
  161. package/dist/shared/composables/useMenuExpanded.d.ts +5 -0
  162. package/dist/shared/composables/useMenuExpanded.d.ts.map +1 -0
  163. package/dist/shared/composables/useSettingsMenu.d.ts +180 -0
  164. package/dist/shared/composables/useSettingsMenu.d.ts.map +1 -0
  165. package/dist/shared/modules/assets/index.d.ts.map +1 -1
  166. package/dist/shared/modules/assets-manager/components/assets-manager/assets-manager.vue.d.ts.map +1 -1
  167. package/dist/shared/modules/assets-manager/components/assets-manager/index.d.ts +16 -16
  168. package/dist/shared/modules/dynamic/components/fields/Button.d.ts +1 -1
  169. package/dist/shared/modules/dynamic/components/fields/Card.d.ts +1 -1
  170. package/dist/shared/modules/dynamic/components/fields/Checkbox.d.ts +1 -1
  171. package/dist/shared/modules/dynamic/components/fields/ContentField.d.ts +1 -1
  172. package/dist/shared/modules/dynamic/components/fields/CustomComponent.d.ts +1 -1
  173. package/dist/shared/modules/dynamic/components/fields/DynamicProperty.d.ts +1 -1
  174. package/dist/shared/modules/dynamic/components/fields/EditorField.d.ts +1 -1
  175. package/dist/shared/modules/dynamic/components/fields/Fieldset.d.ts +1 -1
  176. package/dist/shared/modules/dynamic/components/fields/GalleryField.d.ts +1 -1
  177. package/dist/shared/modules/dynamic/components/fields/ImageField.d.ts +1 -1
  178. package/dist/shared/modules/dynamic/components/fields/InputCurrency.d.ts +1 -1
  179. package/dist/shared/modules/dynamic/components/fields/InputField.d.ts +1 -1
  180. package/dist/shared/modules/dynamic/components/fields/MultivalueField.d.ts +1 -1
  181. package/dist/shared/modules/dynamic/components/fields/RadioButtonGroup.d.ts +1 -1
  182. package/dist/shared/modules/dynamic/components/fields/RatingField.d.ts +1 -1
  183. package/dist/shared/modules/dynamic/components/fields/SelectField.d.ts +1 -1
  184. package/dist/shared/modules/dynamic/components/fields/StatusField.d.ts +1 -1
  185. package/dist/shared/modules/dynamic/components/fields/SwitchField.d.ts +1 -1
  186. package/dist/shared/modules/dynamic/components/fields/Table.d.ts +1 -1
  187. package/dist/shared/modules/dynamic/components/fields/Table.d.ts.map +1 -1
  188. package/dist/shared/modules/dynamic/components/fields/TextareaField.d.ts +1 -1
  189. package/dist/shared/modules/dynamic/components/fields/VideoField.d.ts +1 -1
  190. package/dist/shared/modules/dynamic/components/fields/props.d.ts +1 -1
  191. package/dist/shared/modules/dynamic/components/fields/storybook/Button.stories.d.ts +3 -3
  192. package/dist/shared/modules/dynamic/components/fields/storybook/Card.stories.d.ts +3 -3
  193. package/dist/shared/modules/dynamic/components/fields/storybook/Checkbox.stories.d.ts +3 -3
  194. package/dist/shared/modules/dynamic/components/fields/storybook/ContentField.stories.d.ts +3 -3
  195. package/dist/shared/modules/dynamic/components/fields/storybook/EditorField.stories.d.ts +3 -3
  196. package/dist/shared/modules/dynamic/components/fields/storybook/Fieldset.stories.d.ts +3 -3
  197. package/dist/shared/modules/dynamic/components/fields/storybook/GalleryField.stories.d.ts +3 -3
  198. package/dist/shared/modules/dynamic/components/fields/storybook/ImageField.stories.d.ts +3 -3
  199. package/dist/shared/modules/dynamic/components/fields/storybook/InputCurrency.stories.d.ts +3 -3
  200. package/dist/shared/modules/dynamic/components/fields/storybook/InputField.stories.d.ts +3 -3
  201. package/dist/shared/modules/dynamic/components/fields/storybook/MultivalueField.stories.d.ts +3 -3
  202. package/dist/shared/modules/dynamic/components/fields/storybook/RadioButtonGroup.stories.d.ts +3 -3
  203. package/dist/shared/modules/dynamic/components/fields/storybook/RatingField.stories.d.ts +3 -3
  204. package/dist/shared/modules/dynamic/components/fields/storybook/SelectField.stories.d.ts +3 -3
  205. package/dist/shared/modules/dynamic/components/fields/storybook/StatusField.stories.d.ts +3 -3
  206. package/dist/shared/modules/dynamic/components/fields/storybook/TextareaField.stories.d.ts +3 -3
  207. package/dist/shared/modules/dynamic/components/fields/storybook/VideoField.stories.d.ts +3 -3
  208. package/dist/shared/modules/dynamic/components/fields/storybook/pages/DynamicRender.d.ts +3 -3
  209. package/dist/shared/modules/dynamic/composables/useFilterBuilder/index.d.ts.map +1 -1
  210. package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts +2 -2
  211. package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts.map +1 -1
  212. package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts +3 -5
  213. package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts.map +1 -1
  214. package/dist/shared/modules/dynamic/types/index.d.ts +6 -0
  215. package/dist/shared/modules/dynamic/types/index.d.ts.map +1 -1
  216. package/dist/shared/pages/InvitePage/components/invite/index.d.ts +8 -8
  217. package/dist/shared/pages/LoginPage/components/login/Login.vue.d.ts.map +1 -1
  218. package/dist/shared/pages/ResetPasswordPage/components/reset-password/index.d.ts +8 -8
  219. package/dist/{simple-mode-HGTvdazT.js → simple-mode-BqqHn0g6.js} +1 -1
  220. package/dist/{sql-uoWIYwDX.js → sql-mMre1Bo3.js} +0 -2
  221. package/dist/tsconfig.tsbuildinfo +1 -1
  222. package/dist/{ttcn-DmjTzZb6.js → ttcn-Bsa4sfRm.js} +20 -22
  223. package/dist/{ttcn-cfg-B2U3U7dn.js → ttcn-cfg-Bac_acMi.js} +15 -17
  224. package/dist/ui/components/atoms/vc-card/vc-card.stories.d.ts +24 -24
  225. package/dist/ui/components/atoms/vc-icon/icons/ChevronDownIcon.vue.d.ts +18 -0
  226. package/dist/ui/components/atoms/vc-icon/icons/ChevronDownIcon.vue.d.ts.map +1 -0
  227. package/dist/ui/components/atoms/vc-icon/icons/ChevronLeftIcon.vue.d.ts +18 -0
  228. package/dist/ui/components/atoms/vc-icon/icons/ChevronLeftIcon.vue.d.ts.map +1 -0
  229. package/dist/ui/components/atoms/vc-icon/icons/ChevronRightIcon.vue.d.ts +18 -0
  230. package/dist/ui/components/atoms/vc-icon/icons/ChevronRightIcon.vue.d.ts.map +1 -0
  231. package/dist/ui/components/atoms/vc-icon/icons/ChevronUpIcon.vue.d.ts +18 -0
  232. package/dist/ui/components/atoms/vc-icon/icons/ChevronUpIcon.vue.d.ts.map +1 -0
  233. package/dist/ui/components/atoms/vc-icon/icons/DoubleArrowLeftIcon.vue.d.ts +18 -0
  234. package/dist/ui/components/atoms/vc-icon/icons/DoubleArrowLeftIcon.vue.d.ts.map +1 -0
  235. package/dist/ui/components/atoms/vc-icon/icons/DoubleArrowRightIcon.vue.d.ts +18 -0
  236. package/dist/ui/components/atoms/vc-icon/icons/DoubleArrowRightIcon.vue.d.ts.map +1 -0
  237. package/dist/ui/components/atoms/vc-icon/icons/SearchIcon.vue.d.ts +18 -0
  238. package/dist/ui/components/atoms/vc-icon/icons/SearchIcon.vue.d.ts.map +1 -0
  239. package/dist/ui/components/atoms/vc-icon/icons/VertDotsIcon.vue.d.ts +18 -0
  240. package/dist/ui/components/atoms/vc-icon/icons/VertDotsIcon.vue.d.ts.map +1 -0
  241. package/dist/ui/components/atoms/vc-icon/icons/index.d.ts +8 -0
  242. package/dist/ui/components/atoms/vc-icon/icons/index.d.ts.map +1 -1
  243. package/dist/ui/components/atoms/vc-icon/vc-icon.vue.d.ts.map +1 -1
  244. package/dist/ui/components/atoms/vc-image/vc-image.vue.d.ts.map +1 -1
  245. package/dist/ui/components/atoms/vc-skeleton/vc-skeleton.vue.d.ts +35 -0
  246. package/dist/ui/components/atoms/vc-skeleton/vc-skeleton.vue.d.ts.map +1 -0
  247. package/dist/ui/components/atoms/vc-status/vc-status.stories.d.ts +15 -0
  248. package/dist/ui/components/atoms/vc-status/vc-status.stories.d.ts.map +1 -1
  249. package/dist/ui/components/atoms/vc-status/vc-status.vue.d.ts +7 -0
  250. package/dist/ui/components/atoms/vc-status/vc-status.vue.d.ts.map +1 -1
  251. package/dist/ui/components/atoms/vc-widget/index.d.ts +6 -0
  252. package/dist/ui/components/atoms/vc-widget/index.d.ts.map +1 -1
  253. package/dist/ui/components/atoms/vc-widget/vc-widget.stories.d.ts +6 -0
  254. package/dist/ui/components/atoms/vc-widget/vc-widget.stories.d.ts.map +1 -1
  255. package/dist/ui/components/atoms/vc-widget/vc-widget.vue.d.ts +1 -3
  256. package/dist/ui/components/atoms/vc-widget/vc-widget.vue.d.ts.map +1 -1
  257. package/dist/ui/components/index.d.ts +1 -0
  258. package/dist/ui/components/index.d.ts.map +1 -1
  259. package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.stories.d.ts +67 -33
  260. package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.stories.d.ts.map +1 -1
  261. package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue.d.ts +25 -11
  262. package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue.d.ts.map +1 -1
  263. package/dist/ui/components/molecules/vc-field/vc-field.stories.d.ts +3 -3
  264. package/dist/ui/components/molecules/vc-field/vc-field.vue.d.ts +1 -1
  265. package/dist/ui/components/molecules/vc-file-upload/vc-file-upload.stories.d.ts +12 -12
  266. package/dist/ui/components/molecules/vc-input/vc-input.stories.d.ts +24 -24
  267. package/dist/ui/components/molecules/vc-input/vc-input.vue.d.ts +1 -1
  268. package/dist/ui/components/molecules/vc-input-currency/vc-input-currency.stories.d.ts +18 -18
  269. package/dist/ui/components/molecules/vc-multivalue/vc-multivalue.stories.d.ts +84 -84
  270. package/dist/ui/components/molecules/vc-multivalue/vc-multivalue.vue.d.ts +12 -12
  271. package/dist/ui/components/molecules/vc-pagination/vc-pagination.vue.d.ts.map +1 -1
  272. package/dist/ui/components/molecules/vc-select/vc-select.stories.d.ts +240 -240
  273. package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts +24 -24
  274. package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts.map +1 -1
  275. package/dist/ui/components/molecules/vc-slider/index.d.ts +9 -9
  276. package/dist/ui/components/molecules/vc-slider/vc-slider.stories.d.ts +9 -9
  277. package/dist/ui/components/organisms/vc-app/_internal/composables/useAppMenuState.d.ts +23 -0
  278. package/dist/ui/components/organisms/vc-app/_internal/composables/useAppMenuState.d.ts.map +1 -0
  279. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarContent.vue.d.ts +24 -0
  280. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarContent.vue.d.ts.map +1 -0
  281. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarHeader.vue.d.ts +35 -0
  282. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarHeader.vue.d.ts.map +1 -0
  283. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarOverlay.vue.d.ts +29 -0
  284. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarOverlay.vue.d.ts.map +1 -0
  285. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/MenuSidebar.vue.d.ts +39 -0
  286. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/MenuSidebar.vue.d.ts.map +1 -0
  287. package/dist/{shared → ui/components/organisms/vc-app/_internal/vc-app-bar}/components/app-bar-button/app-bar-button.vue.d.ts +9 -5
  288. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/components/app-bar-button/app-bar-button.vue.d.ts.map +1 -0
  289. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/composables/useAppBarOverlay.d.ts +19 -0
  290. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/composables/useAppBarOverlay.d.ts.map +1 -0
  291. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue.d.ts +9 -13
  292. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue.d.ts.map +1 -1
  293. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue.d.ts +1 -1
  294. 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
  295. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue.d.ts +3 -12
  296. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue.d.ts.map +1 -1
  297. package/dist/ui/components/organisms/vc-app/index.d.ts +1 -0
  298. package/dist/ui/components/organisms/vc-app/index.d.ts.map +1 -1
  299. package/dist/ui/components/organisms/vc-app/vc-app.stories.d.ts +24 -62
  300. package/dist/ui/components/organisms/vc-app/vc-app.stories.d.ts.map +1 -1
  301. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts +24 -62
  302. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
  303. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue.d.ts +1 -0
  304. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue.d.ts.map +1 -1
  305. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-base-button.vue.d.ts +48 -0
  306. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-base-button.vue.d.ts.map +1 -0
  307. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/{vc-blade-toolbar-button → vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button}/vc-blade-toolbar-button.vue.d.ts +10 -1
  308. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue.d.ts.map +1 -0
  309. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-circle-button.vue.d.ts +40 -0
  310. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-circle-button.vue.d.ts.map +1 -0
  311. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/desktop/vc-blade-toolbar-desktop.vue.d.ts +19 -0
  312. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/desktop/vc-blade-toolbar-desktop.vue.d.ts.map +1 -0
  313. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/mobile/vc-blade-toolbar-mobile.vue.d.ts +17 -0
  314. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/mobile/vc-blade-toolbar-mobile.vue.d.ts.map +1 -0
  315. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/vc-blade-toolbar-buttons.vue.d.ts +19 -0
  316. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/vc-blade-toolbar-buttons.vue.d.ts.map +1 -0
  317. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue.d.ts +2 -6
  318. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue.d.ts.map +1 -1
  319. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/index.d.ts +3 -0
  320. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/index.d.ts.map +1 -0
  321. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/vc-widget-container-desktop.vue.d.ts +16 -0
  322. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/vc-widget-container-desktop.vue.d.ts.map +1 -0
  323. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/vc-widget-container-mobile.vue.d.ts +16 -0
  324. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/vc-widget-container-mobile.vue.d.ts.map +1 -0
  325. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/vc-widget-container.vue.d.ts +15 -0
  326. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/vc-widget-container.vue.d.ts.map +1 -0
  327. package/dist/ui/components/organisms/vc-blade/vc-blade.stories.d.ts +2 -0
  328. package/dist/ui/components/organisms/vc-blade/vc-blade.stories.d.ts.map +1 -1
  329. package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts +56 -0
  330. package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts.map +1 -1
  331. package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue.d.ts +3 -3
  332. package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue.d.ts.map +1 -1
  333. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue.d.ts +2 -2
  334. package/dist/ui/components/organisms/vc-gallery/vc-gallery.stories.d.ts +13 -13
  335. package/dist/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts +1 -1
  336. package/dist/ui/components/organisms/vc-table/_internal/vc-table-base-header/vc-table-base-header.vue.d.ts.map +1 -1
  337. package/dist/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue.d.ts +2 -2
  338. package/dist/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue.d.ts.map +1 -1
  339. package/dist/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue.d.ts +2 -1
  340. package/dist/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue.d.ts.map +1 -1
  341. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-body/vc-table-body.vue.d.ts +219 -0
  342. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-body/vc-table-body.vue.d.ts.map +1 -0
  343. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-header/vc-table-header.vue.d.ts +114 -0
  344. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-header/vc-table-header.vue.d.ts.map +1 -0
  345. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-row/vc-table-row.vue.d.ts +236 -0
  346. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-row/vc-table-row.vue.d.ts.map +1 -0
  347. package/dist/{shared/components/user-dropdown-button/_internal/user-actions.vue.d.ts → ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-select-all-header/vc-table-select-all-header.vue.d.ts} +9 -6
  348. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-select-all-header/vc-table-select-all-header.vue.d.ts.map +1 -0
  349. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/vc-table-desktop-view.vue.d.ts +315 -0
  350. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/vc-table-desktop-view.vue.d.ts.map +1 -0
  351. package/dist/ui/components/organisms/vc-table/_internal/vc-table-empty/vc-table-empty.vue.d.ts +1 -1
  352. package/dist/ui/components/organisms/vc-table/_internal/vc-table-empty/vc-table-empty.vue.d.ts.map +1 -1
  353. package/dist/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue.d.ts.map +1 -1
  354. package/dist/ui/components/organisms/vc-table/_internal/vc-table-footer/vc-table-footer.vue.d.ts +44 -0
  355. package/dist/ui/components/organisms/vc-table/_internal/vc-table-footer/vc-table-footer.vue.d.ts.map +1 -0
  356. package/dist/ui/components/organisms/vc-table/_internal/vc-table-header/vc-table-header.vue.d.ts +66 -0
  357. package/dist/ui/components/organisms/vc-table/_internal/vc-table-header/vc-table-header.vue.d.ts.map +1 -0
  358. package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue.d.ts +6 -13
  359. package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue.d.ts.map +1 -1
  360. package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-view/vc-table-mobile-view.vue.d.ts +199 -0
  361. package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-view/vc-table-mobile-view.vue.d.ts.map +1 -0
  362. package/dist/ui/components/organisms/vc-table/_internal/vc-table-select-all/vc-table-select-all.vue.d.ts +38 -0
  363. package/dist/ui/components/organisms/vc-table/_internal/vc-table-select-all/vc-table-select-all.vue.d.ts.map +1 -0
  364. package/dist/ui/components/organisms/vc-table/composables/useTableActions.d.ts +17 -0
  365. package/dist/ui/components/organisms/vc-table/composables/useTableActions.d.ts.map +1 -0
  366. package/dist/ui/components/organisms/vc-table/composables/useTableColumnReorder.d.ts +407 -0
  367. package/dist/ui/components/organisms/vc-table/composables/useTableColumnReorder.d.ts.map +1 -0
  368. package/dist/ui/components/organisms/vc-table/composables/useTableColumnResize.d.ts +9 -0
  369. package/dist/ui/components/organisms/vc-table/composables/useTableColumnResize.d.ts.map +1 -0
  370. package/dist/ui/components/organisms/vc-table/composables/useTableRowReorder.d.ts +16 -0
  371. package/dist/ui/components/organisms/vc-table/composables/useTableRowReorder.d.ts.map +1 -0
  372. package/dist/ui/components/organisms/vc-table/composables/useTableSelection.d.ts +23 -0
  373. package/dist/ui/components/organisms/vc-table/composables/useTableSelection.d.ts.map +1 -0
  374. package/dist/ui/components/organisms/vc-table/composables/useTableState.d.ts +19 -0
  375. package/dist/ui/components/organisms/vc-table/composables/useTableState.d.ts.map +1 -0
  376. package/dist/ui/components/organisms/vc-table/composables/useTableSwipe.d.ts +12 -0
  377. package/dist/ui/components/organisms/vc-table/composables/useTableSwipe.d.ts.map +1 -0
  378. package/dist/ui/components/organisms/vc-table/types.d.ts +19 -0
  379. package/dist/ui/components/organisms/vc-table/types.d.ts.map +1 -0
  380. package/dist/ui/components/organisms/vc-table/vc-table.stories.d.ts +120 -735
  381. package/dist/ui/components/organisms/vc-table/vc-table.stories.d.ts.map +1 -1
  382. package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts +52 -142
  383. package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts.map +1 -1
  384. package/dist/ui/composables/useVisibleElements.d.ts +19 -0
  385. package/dist/ui/composables/useVisibleElements.d.ts.map +1 -0
  386. package/dist/{xquery-xQxle02u.js → xquery-BUQdORAS.js} +72 -76
  387. package/package.json +8 -6
  388. package/shared/components/app-switcher/components/vc-app-switcher/index.ts +1 -1
  389. package/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue +2 -2
  390. package/shared/components/blade-navigation/components/vc-blade-navigation/_internal/vc-mobile-back-button.vue +77 -0
  391. package/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue +17 -5
  392. package/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.ts +16 -4
  393. package/shared/components/blade-navigation/composables/useBladeNavigation/index.ts +14 -4
  394. package/shared/components/blade-navigation/types/index.ts +117 -107
  395. package/shared/components/change-password-button/change-password-button.vue +20 -0
  396. package/shared/components/change-password-button/index.ts +1 -0
  397. package/shared/components/common/popup/vc-popup-error.vue +11 -0
  398. package/shared/components/common/popup/vc-popup-info.vue +11 -0
  399. package/shared/components/common/popup/vc-popup-warning.vue +11 -0
  400. package/shared/components/error-interceptor/interceptor.ts +44 -44
  401. package/shared/components/generic-dropdown/generic-dropdown.vue +79 -31
  402. package/shared/components/index.ts +1 -2
  403. package/shared/components/language-selector/language-selector.vue +68 -42
  404. package/shared/components/logout-button/index.ts +1 -0
  405. package/shared/components/logout-button/logout-button.vue +27 -0
  406. package/shared/components/notification-dropdown/_internal/notification/index.ts +1 -0
  407. package/shared/components/notification-dropdown/_internal/notification/notification.vue +23 -22
  408. package/shared/components/notification-dropdown/notification-dropdown.vue +60 -39
  409. package/shared/components/notifications/styles/index.scss +10 -10
  410. package/shared/components/settings-menu/index.ts +1 -0
  411. package/shared/components/settings-menu/settings-menu.vue +24 -0
  412. package/shared/components/settings-menu-item/index.ts +1 -0
  413. package/shared/components/settings-menu-item/settings-menu-item.vue +136 -0
  414. package/shared/components/sidebar/sidebar.vue +32 -11
  415. package/shared/components/theme-selector/theme-selector.vue +59 -28
  416. package/shared/components/user-dropdown-button/_internal/user-info.vue +13 -5
  417. package/shared/components/user-dropdown-button/_internal/user-sidebar.vue +4 -29
  418. package/shared/components/user-dropdown-button/user-dropdown-button.vue +36 -50
  419. package/shared/composables/useMenuExpanded.ts +16 -0
  420. package/shared/composables/useSettingsMenu.ts +44 -0
  421. package/shared/modules/assets/index.ts +0 -1
  422. package/shared/modules/assets-manager/components/assets-manager/assets-manager.vue +0 -1
  423. package/shared/modules/dynamic/components/FIELD_MAP.ts +53 -53
  424. package/shared/modules/dynamic/components/SchemaRender.ts +102 -102
  425. package/shared/modules/dynamic/components/factories.ts +244 -244
  426. package/shared/modules/dynamic/components/fields/Button.ts +44 -44
  427. package/shared/modules/dynamic/components/fields/Card.ts +119 -119
  428. package/shared/modules/dynamic/components/fields/Checkbox.ts +53 -53
  429. package/shared/modules/dynamic/components/fields/ContentField.ts +33 -33
  430. package/shared/modules/dynamic/components/fields/CustomComponent.ts +29 -29
  431. package/shared/modules/dynamic/components/fields/DynamicProperty.ts +141 -141
  432. package/shared/modules/dynamic/components/fields/EditorField.ts +46 -46
  433. package/shared/modules/dynamic/components/fields/Fieldset.ts +65 -65
  434. package/shared/modules/dynamic/components/fields/GalleryField.ts +161 -161
  435. package/shared/modules/dynamic/components/fields/ImageField.ts +35 -35
  436. package/shared/modules/dynamic/components/fields/InputCurrency.ts +79 -79
  437. package/shared/modules/dynamic/components/fields/InputField.ts +81 -81
  438. package/shared/modules/dynamic/components/fields/MultivalueField.ts +68 -68
  439. package/shared/modules/dynamic/components/fields/RadioButtonGroup.ts +82 -82
  440. package/shared/modules/dynamic/components/fields/RatingField.ts +28 -28
  441. package/shared/modules/dynamic/components/fields/SelectField.ts +72 -72
  442. package/shared/modules/dynamic/components/fields/StatusField.ts +110 -110
  443. package/shared/modules/dynamic/components/fields/SwitchField.ts +29 -29
  444. package/shared/modules/dynamic/components/fields/Table.ts +1 -2
  445. package/shared/modules/dynamic/components/fields/TextareaField.ts +46 -46
  446. package/shared/modules/dynamic/components/fields/ValidationField.ts +54 -54
  447. package/shared/modules/dynamic/components/fields/VideoField.ts +30 -30
  448. package/shared/modules/dynamic/components/fields/props.ts +39 -39
  449. package/shared/modules/dynamic/components/fields/storybook/Button.stories.ts +247 -247
  450. package/shared/modules/dynamic/components/fields/storybook/Card.stories.ts +176 -176
  451. package/shared/modules/dynamic/components/fields/storybook/Checkbox.stories.ts +185 -185
  452. package/shared/modules/dynamic/components/fields/storybook/ContentField.stories.ts +245 -245
  453. package/shared/modules/dynamic/components/fields/storybook/EditorField.stories.ts +192 -192
  454. package/shared/modules/dynamic/components/fields/storybook/Fieldset.stories.ts +347 -347
  455. package/shared/modules/dynamic/components/fields/storybook/GalleryField.stories.ts +239 -239
  456. package/shared/modules/dynamic/components/fields/storybook/ImageField.stories.ts +186 -186
  457. package/shared/modules/dynamic/components/fields/storybook/InputCurrency.stories.ts +281 -281
  458. package/shared/modules/dynamic/components/fields/storybook/InputField.stories.ts +312 -312
  459. package/shared/modules/dynamic/components/fields/storybook/MultivalueField.stories.ts +361 -361
  460. package/shared/modules/dynamic/components/fields/storybook/RadioButtonGroup.stories.ts +224 -224
  461. package/shared/modules/dynamic/components/fields/storybook/RatingField.stories.ts +131 -131
  462. package/shared/modules/dynamic/components/fields/storybook/SelectField.stories.ts +666 -666
  463. package/shared/modules/dynamic/components/fields/storybook/StatusField.stories.ts +202 -202
  464. package/shared/modules/dynamic/components/fields/storybook/SwitchField.stories.ts +178 -178
  465. package/shared/modules/dynamic/components/fields/storybook/TextareaField.stories.ts +203 -203
  466. package/shared/modules/dynamic/components/fields/storybook/VideoField.stories.ts +92 -92
  467. package/shared/modules/dynamic/components/fields/storybook/common/args.ts +130 -130
  468. package/shared/modules/dynamic/components/fields/storybook/common/templates.ts +8 -8
  469. package/shared/modules/dynamic/components/index.ts +4 -4
  470. package/shared/modules/dynamic/composables/index.ts +4 -4
  471. package/shared/modules/dynamic/composables/useDynamicViewsUtils/index.ts +46 -46
  472. package/shared/modules/dynamic/composables/useFilterBuilder/index.ts +31 -22
  473. package/shared/modules/dynamic/composables/useTableTemplates/index.ts +67 -67
  474. package/shared/modules/dynamic/composables/useToolbarReducer/index.ts +70 -70
  475. package/shared/modules/dynamic/factories/base/useDetailsFactory.ts +144 -144
  476. package/shared/modules/dynamic/factories/base/useListFactory.ts +68 -68
  477. package/shared/modules/dynamic/factories/index.ts +4 -4
  478. package/shared/modules/dynamic/factories/types/index.ts +229 -229
  479. package/shared/modules/dynamic/helpers/getters.ts +12 -12
  480. package/shared/modules/dynamic/helpers/methodHandler.ts +22 -22
  481. package/shared/modules/dynamic/helpers/nodeBuilder.ts +242 -242
  482. package/shared/modules/dynamic/helpers/override.ts +153 -153
  483. package/shared/modules/dynamic/helpers/safeIn.ts +6 -6
  484. package/shared/modules/dynamic/helpers/setters.ts +24 -24
  485. package/shared/modules/dynamic/helpers/unrefNested.ts +14 -14
  486. package/shared/modules/dynamic/helpers/unwrapInterpolation.ts +16 -16
  487. package/shared/modules/dynamic/pages/dynamic-blade-form.vue +69 -31
  488. package/shared/modules/dynamic/pages/dynamic-blade-list.vue +18 -16
  489. package/shared/modules/dynamic/types/index.ts +6 -0
  490. package/shared/pages/ChangePasswordPage/components/change-password/index.ts +3 -3
  491. package/shared/pages/ChangePasswordPage/components/index.ts +1 -1
  492. package/shared/pages/ChangePasswordPage/index.ts +1 -1
  493. package/shared/pages/ChangePasswordPage/plugin.ts +4 -4
  494. package/shared/pages/InvitePage/components/index.ts +1 -1
  495. package/shared/pages/InvitePage/components/invite/Invite.vue +216 -216
  496. package/shared/pages/InvitePage/components/invite/index.ts +3 -3
  497. package/shared/pages/InvitePage/index.ts +1 -1
  498. package/shared/pages/InvitePage/plugin.ts +4 -4
  499. package/shared/pages/LoginPage/components/index.ts +1 -1
  500. package/shared/pages/LoginPage/components/login/Login.vue +26 -1
  501. package/shared/pages/LoginPage/components/login/README.md +52 -0
  502. package/shared/pages/LoginPage/components/login/index.ts +3 -3
  503. package/shared/pages/LoginPage/index.ts +1 -1
  504. package/shared/pages/LoginPage/plugin.ts +4 -4
  505. package/shared/pages/ResetPasswordPage/components/index.ts +1 -1
  506. package/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue +218 -218
  507. package/shared/pages/ResetPasswordPage/components/reset-password/index.ts +3 -3
  508. package/shared/pages/ResetPasswordPage/index.ts +1 -1
  509. package/shared/pages/ResetPasswordPage/plugin.ts +4 -4
  510. package/shared/pages/index.ts +4 -4
  511. package/shared/pages/plugin.ts +4 -4
  512. package/shared/utilities/assets.ts +42 -42
  513. package/shared/utilities/vueUtils.ts +50 -50
  514. package/tailwind.config.ts +126 -126
  515. package/ui/components/atoms/vc-badge/index.ts +1 -1
  516. package/ui/components/atoms/vc-badge/vc-badge.stories.ts +53 -53
  517. package/ui/components/atoms/vc-card/index.ts +3 -3
  518. package/ui/components/atoms/vc-card/vc-card.stories.ts +102 -102
  519. package/ui/components/atoms/vc-card/vc-card.vue +159 -159
  520. package/ui/components/atoms/vc-col/index.ts +1 -1
  521. package/ui/components/atoms/vc-col/vc-col.stories.ts +22 -22
  522. package/ui/components/atoms/vc-col/vc-col.vue +29 -29
  523. package/ui/components/atoms/vc-container/index.ts +10 -10
  524. package/ui/components/atoms/vc-container/vc-container.stories.ts +29 -29
  525. package/ui/components/atoms/vc-hint/index.ts +10 -10
  526. package/ui/components/atoms/vc-hint/vc-hint.stories.ts +23 -23
  527. package/ui/components/atoms/vc-hint/vc-hint.vue +17 -17
  528. package/ui/components/atoms/vc-icon/icons/AppWindowIcon.vue +9 -26
  529. package/ui/components/atoms/vc-icon/icons/ArrowLeftIcon.vue +14 -18
  530. package/ui/components/atoms/vc-icon/icons/ArrowRightIcon.vue +7 -18
  531. package/ui/components/atoms/vc-icon/icons/BellIcon.vue +8 -23
  532. package/ui/components/atoms/vc-icon/icons/ChevronDownIcon.vue +13 -0
  533. package/ui/components/atoms/vc-icon/icons/ChevronLeftIcon.vue +13 -0
  534. package/ui/components/atoms/vc-icon/icons/ChevronRightIcon.vue +13 -0
  535. package/ui/components/atoms/vc-icon/icons/ChevronUpIcon.vue +13 -0
  536. package/ui/components/atoms/vc-icon/icons/CircleDotsIcon.vue +10 -35
  537. package/ui/components/atoms/vc-icon/icons/CrossSignIcon.vue +14 -18
  538. package/ui/components/atoms/vc-icon/icons/DoubleArrowLeftIcon.vue +14 -0
  539. package/ui/components/atoms/vc-icon/icons/DoubleArrowRightIcon.vue +14 -0
  540. package/ui/components/atoms/vc-icon/icons/LogoutIcon.vue +7 -18
  541. package/ui/components/atoms/vc-icon/icons/MenuBurgerIcon.vue +14 -18
  542. package/ui/components/atoms/vc-icon/icons/MinusSignIcon.vue +8 -18
  543. package/ui/components/atoms/vc-icon/icons/PlusSignIcon.vue +14 -18
  544. package/ui/components/atoms/vc-icon/icons/SearchIcon.vue +14 -0
  545. package/ui/components/atoms/vc-icon/icons/SettingsBoltIcon.vue +15 -25
  546. package/ui/components/atoms/vc-icon/icons/VertDotsIcon.vue +19 -0
  547. package/ui/components/atoms/vc-icon/icons/index.ts +19 -11
  548. package/ui/components/atoms/vc-icon/vc-icon.vue +82 -79
  549. package/ui/components/atoms/vc-image/index.ts +1 -1
  550. package/ui/components/atoms/vc-image/vc-image.stories.ts +85 -85
  551. package/ui/components/atoms/vc-image/vc-image.vue +17 -1
  552. package/ui/components/atoms/vc-label/index.ts +1 -1
  553. package/ui/components/atoms/vc-label/vc-label.stories.ts +31 -31
  554. package/ui/components/atoms/vc-label/vc-label.vue +92 -92
  555. package/ui/components/atoms/vc-link/index.ts +10 -10
  556. package/ui/components/atoms/vc-link/vc-link.stories.ts +37 -37
  557. package/ui/components/atoms/vc-link/vc-link.vue +54 -54
  558. package/ui/components/atoms/vc-loading/index.ts +3 -3
  559. package/ui/components/atoms/vc-loading/vc-loading.stories.ts +18 -18
  560. package/ui/components/atoms/vc-loading/vc-loading.vue +58 -58
  561. package/ui/components/atoms/vc-progress/index.ts +10 -10
  562. package/ui/components/atoms/vc-progress/vc-progress.stories.ts +30 -30
  563. package/ui/components/atoms/vc-progress/vc-progress.vue +68 -68
  564. package/ui/components/atoms/vc-row/index.ts +1 -1
  565. package/ui/components/atoms/vc-row/vc-row.stories.ts +20 -20
  566. package/ui/components/atoms/vc-row/vc-row.vue +22 -22
  567. package/ui/components/atoms/vc-skeleton/vc-skeleton.vue +51 -0
  568. package/ui/components/atoms/vc-status/index.ts +1 -1
  569. package/ui/components/atoms/vc-status/vc-status.stories.ts +85 -85
  570. package/ui/components/atoms/vc-status/vc-status.vue +57 -23
  571. package/ui/components/atoms/vc-status-icon/index.ts +1 -1
  572. package/ui/components/atoms/vc-switch/index.ts +1 -1
  573. package/ui/components/atoms/vc-tooltip/index.ts +1 -1
  574. package/ui/components/atoms/vc-tooltip/vc-tooltip.vue +4 -4
  575. package/ui/components/atoms/vc-video/index.ts +1 -1
  576. package/ui/components/atoms/vc-video/vc-video.stories.ts +19 -19
  577. package/ui/components/atoms/vc-widget/index.ts +3 -3
  578. package/ui/components/atoms/vc-widget/vc-widget.stories.ts +20 -20
  579. package/ui/components/atoms/vc-widget/vc-widget.vue +73 -55
  580. package/ui/components/index.ts +2 -0
  581. package/ui/components/molecules/index.ts +16 -16
  582. package/ui/components/molecules/vc-breadcrumbs/_internal/vc-breadcrumbs-item/vc-breadcrumbs-item.vue +89 -92
  583. package/ui/components/molecules/vc-breadcrumbs/index.ts +1 -1
  584. package/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.stories.ts +43 -43
  585. package/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue +157 -121
  586. package/ui/components/molecules/vc-checkbox/index.ts +3 -3
  587. package/ui/components/molecules/vc-checkbox/vc-checkbox.stories.ts +84 -84
  588. package/ui/components/molecules/vc-editor/index.ts +1 -1
  589. package/ui/components/molecules/vc-editor/vc-editor.stories.ts +29 -29
  590. package/ui/components/molecules/vc-editor/vc-editor.vue +2 -2
  591. package/ui/components/molecules/vc-field/_internal/vc-field-type/vc-field-type.vue +96 -96
  592. package/ui/components/molecules/vc-field/index.ts +1 -1
  593. package/ui/components/molecules/vc-field/vc-field.stories.ts +114 -114
  594. package/ui/components/molecules/vc-file-upload/index.ts +1 -1
  595. package/ui/components/molecules/vc-file-upload/vc-file-upload.stories.ts +39 -39
  596. package/ui/components/molecules/vc-form/index.ts +10 -10
  597. package/ui/components/molecules/vc-form/vc-form.stories.ts +25 -25
  598. package/ui/components/molecules/vc-form/vc-form.vue +5 -5
  599. package/ui/components/molecules/vc-input/index.ts +1 -1
  600. package/ui/components/molecules/vc-input/vc-input.stories.ts +165 -165
  601. package/ui/components/molecules/vc-input-currency/index.ts +1 -1
  602. package/ui/components/molecules/vc-input-currency/vc-input-currency.stories.ts +83 -83
  603. package/ui/components/molecules/vc-multivalue/index.ts +1 -1
  604. package/ui/components/molecules/vc-multivalue/vc-multivalue.stories.ts +120 -120
  605. package/ui/components/molecules/vc-notification/index.ts +1 -1
  606. package/ui/components/molecules/vc-pagination/index.ts +3 -3
  607. package/ui/components/molecules/vc-pagination/vc-pagination.stories.ts +24 -24
  608. package/ui/components/molecules/vc-pagination/vc-pagination.vue +44 -98
  609. package/ui/components/molecules/vc-radio-button/index.ts +1 -1
  610. package/ui/components/molecules/vc-radio-button/vc-radio-button.stories.ts +97 -97
  611. package/ui/components/molecules/vc-radio-button/vc-radio-button.vue +192 -192
  612. package/ui/components/molecules/vc-rating/index.ts +1 -1
  613. package/ui/components/molecules/vc-rating/vc-rating.stories.ts +59 -59
  614. package/ui/components/molecules/vc-select/index.ts +1 -1
  615. package/ui/components/molecules/vc-select/vc-select.stories.ts +685 -685
  616. package/ui/components/molecules/vc-select/vc-select.vue +4 -1
  617. package/ui/components/molecules/vc-slider/index.ts +13 -13
  618. package/ui/components/molecules/vc-slider/vc-slider.stories.ts +61 -61
  619. package/ui/components/molecules/vc-slider/vc-slider.vue +118 -118
  620. package/ui/components/molecules/vc-textarea/index.ts +1 -1
  621. package/ui/components/molecules/vc-textarea/vc-textarea.stories.ts +53 -53
  622. package/ui/components/molecules/vc-textarea/vc-textarea.vue +151 -151
  623. package/ui/components/organisms/index.ts +7 -7
  624. package/ui/components/organisms/vc-app/_internal/composables/useAppMenuState.ts +49 -0
  625. package/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarContent.vue +47 -0
  626. package/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarHeader.vue +175 -0
  627. package/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarOverlay.vue +87 -0
  628. package/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/MenuSidebar.vue +171 -0
  629. package/{shared → ui/components/organisms/vc-app/_internal/vc-app-bar}/components/app-bar-button/app-bar-button.vue +79 -52
  630. package/ui/components/organisms/vc-app/_internal/vc-app-bar/composables/useAppBarOverlay.ts +78 -0
  631. package/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue +204 -282
  632. package/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue +94 -70
  633. package/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue +77 -101
  634. package/ui/components/organisms/vc-app/index.ts +1 -0
  635. package/ui/components/organisms/vc-app/vc-app.stories.ts +214 -214
  636. package/ui/components/organisms/vc-app/vc-app.vue +67 -64
  637. package/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue +133 -83
  638. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-base-button.vue +136 -0
  639. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/{vc-blade-toolbar-button → vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button}/vc-blade-toolbar-button.vue +53 -17
  640. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-circle-button.vue +101 -0
  641. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/desktop/vc-blade-toolbar-desktop.vue +182 -0
  642. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/mobile/vc-blade-toolbar-mobile.vue +146 -0
  643. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/vc-blade-toolbar-buttons.vue +32 -0
  644. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue +21 -204
  645. package/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/index.ts +2 -0
  646. package/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/vc-widget-container-desktop.vue +96 -0
  647. package/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/vc-widget-container-mobile.vue +181 -0
  648. package/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/vc-widget-container.vue +113 -0
  649. package/ui/components/organisms/vc-blade/index.ts +1 -1
  650. package/ui/components/organisms/vc-blade/vc-blade.stories.ts +83 -83
  651. package/ui/components/organisms/vc-blade/vc-blade.vue +138 -165
  652. package/ui/components/organisms/vc-dynamic-property/index.ts +1 -1
  653. package/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue +163 -163
  654. package/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue +166 -166
  655. package/ui/components/organisms/vc-gallery/index.ts +1 -1
  656. package/ui/components/organisms/vc-gallery/vc-gallery.stories.ts +91 -91
  657. package/ui/components/organisms/vc-gallery/vc-gallery.vue +348 -348
  658. package/ui/components/organisms/vc-login-form/index.ts +1 -1
  659. package/ui/components/organisms/vc-login-form/vc-login-form.vue +99 -99
  660. package/ui/components/organisms/vc-popup/index.ts +3 -3
  661. package/ui/components/organisms/vc-popup/vc-popup.vue +3 -3
  662. package/ui/components/organisms/vc-table/_internal/vc-table-add-new/vc-table-add-new.vue +63 -63
  663. package/ui/components/organisms/vc-table/_internal/vc-table-base-header/vc-table-base-header.vue +22 -16
  664. package/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue +4 -4
  665. package/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue +2 -1
  666. package/ui/components/organisms/vc-table/_internal/vc-table-counter/vc-table-counter.vue +3 -2
  667. package/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-body/vc-table-body.vue +134 -0
  668. package/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-header/vc-table-header.vue +244 -0
  669. package/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-row/vc-table-row.vue +237 -0
  670. package/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-select-all-header/vc-table-select-all-header.vue +54 -0
  671. package/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/vc-table-desktop-view.vue +215 -0
  672. package/ui/components/organisms/vc-table/_internal/vc-table-empty/vc-table-empty.vue +1 -1
  673. package/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue +24 -8
  674. package/ui/components/organisms/vc-table/_internal/vc-table-footer/vc-table-footer.vue +70 -0
  675. package/ui/components/organisms/vc-table/_internal/vc-table-header/vc-table-header.vue +106 -0
  676. package/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue +46 -68
  677. package/ui/components/organisms/vc-table/_internal/vc-table-mobile-view/vc-table-mobile-view.vue +343 -0
  678. package/ui/components/organisms/vc-table/_internal/vc-table-select-all/vc-table-select-all.vue +118 -0
  679. package/ui/components/organisms/vc-table/composables/useTableActions.ts +56 -0
  680. package/ui/components/organisms/vc-table/composables/useTableColumnReorder.ts +255 -0
  681. package/ui/components/organisms/vc-table/composables/useTableColumnResize.ts +147 -0
  682. package/ui/components/organisms/vc-table/composables/useTableRowReorder.ts +174 -0
  683. package/ui/components/organisms/vc-table/composables/useTableSelection.ts +118 -0
  684. package/ui/components/organisms/vc-table/composables/useTableState.ts +229 -0
  685. package/ui/components/organisms/vc-table/composables/useTableSwipe.ts +32 -0
  686. package/ui/components/organisms/vc-table/index.ts +1 -1
  687. package/ui/components/organisms/vc-table/types.ts +25 -0
  688. package/ui/components/organisms/vc-table/vc-table.stories.ts +214 -214
  689. package/ui/components/organisms/vc-table/vc-table.vue +253 -1259
  690. package/ui/composables/useVisibleElements.ts +146 -0
  691. package/dist/index-CUGEM4hi.js +0 -243
  692. package/dist/index-D8jMD-EZ.js +0 -312
  693. package/dist/shared/components/app-bar-button/app-bar-button.vue.d.ts.map +0 -1
  694. package/dist/shared/components/app-bar-button/index.d.ts +0 -2
  695. package/dist/shared/components/app-bar-button/index.d.ts.map +0 -1
  696. package/dist/shared/components/blade-navigation/injectionKeys.d.ts +0 -4
  697. package/dist/shared/components/blade-navigation/injectionKeys.d.ts.map +0 -1
  698. package/dist/shared/components/menu-item/index.d.ts +0 -2
  699. package/dist/shared/components/menu-item/index.d.ts.map +0 -1
  700. package/dist/shared/components/menu-item/menu-item.vue.d.ts.map +0 -1
  701. package/dist/shared/components/user-dropdown-button/_internal/user-actions.vue.d.ts.map +0 -1
  702. package/dist/shared/components/user-dropdown-button/composables/useUserActions.d.ts +0 -3921
  703. package/dist/shared/components/user-dropdown-button/composables/useUserActions.d.ts.map +0 -1
  704. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue.d.ts.map +0 -1
  705. package/shared/components/app-bar-button/index.ts +0 -1
  706. package/shared/components/blade-navigation/injectionKeys.ts +0 -4
  707. package/shared/components/menu-item/index.ts +0 -1
  708. package/shared/components/menu-item/menu-item.vue +0 -111
  709. package/shared/components/user-dropdown-button/_internal/user-actions.vue +0 -68
  710. package/shared/components/user-dropdown-button/composables/useUserActions.ts +0 -56
@@ -0,0 +1,182 @@
1
+ <template>
2
+ <div class="vc-blade-toolbar-desktop">
3
+ <!-- Measure container -->
4
+ <div class="vc-blade-toolbar-desktop__measure">
5
+ <template
6
+ v-for="item in items"
7
+ :key="`measure-${item.id}`"
8
+ >
9
+ <div class="vc-blade-toolbar-desktop__measure-item">
10
+ <VcBladeToolbarBaseButton
11
+ v-bind="item"
12
+ :ref="(el) => (el && '$el' in el ? setElementRef(item.id!, el?.$el) : null)"
13
+ :show-title="isExpanded"
14
+ />
15
+ </div>
16
+ </template>
17
+ </div>
18
+
19
+ <!-- Actual toolbar content -->
20
+ <div
21
+ ref="toolbarContentRef"
22
+ class="vc-blade-toolbar-desktop__content"
23
+ >
24
+ <template
25
+ v-for="item in displayedItems"
26
+ :key="item.id"
27
+ >
28
+ <VcBladeToolbarBaseButton
29
+ v-bind="item"
30
+ :show-title="isExpanded"
31
+ :on-click="item.clickHandler"
32
+ />
33
+ </template>
34
+
35
+ <GenericDropdown
36
+ v-if="showMoreButton"
37
+ :opened="isMenuOpen"
38
+ :items="overflowItems"
39
+ floating
40
+ placement="bottom-end"
41
+ variant="light"
42
+ @item:click="handleItemClick"
43
+ @update:opened="isMenuOpen = $event"
44
+ >
45
+ <template #trigger="{ isActive }">
46
+ <div
47
+ class="vc-blade-toolbar-desktop__more"
48
+ :class="{ 'vc-blade-toolbar-desktop__more--active': isActive }"
49
+ @click="toggleToolbar"
50
+ >
51
+ <VcIcon :icon="CircleDotsIcon" />
52
+ <span
53
+ v-if="isExpanded"
54
+ class="vc-blade-toolbar-desktop__more-text"
55
+ >
56
+ {{ $t("COMPONENTS.ORGANISMS.VC_BLADE.MORE") }}
57
+ </span>
58
+ </div>
59
+ </template>
60
+
61
+ <template #item="{ item, click }">
62
+ <VcBladeToolbarBaseButton
63
+ v-bind="item"
64
+ :show-title="true"
65
+ content-direction="row"
66
+ :on-click="
67
+ () => {
68
+ click();
69
+ item.clickHandler?.();
70
+ }
71
+ "
72
+ />
73
+ </template>
74
+ </GenericDropdown>
75
+ </div>
76
+ </div>
77
+ </template>
78
+
79
+ <script lang="ts" setup>
80
+ import { ref, onMounted, onBeforeUnmount, nextTick, computed, watch, toRef } from "vue";
81
+ import { VcIcon } from "../../../../../../../../../";
82
+ import { GenericDropdown } from "../../../../../../../../../shared/components/generic-dropdown";
83
+ import { CircleDotsIcon } from "../../../../../../../atoms/vc-icon/icons";
84
+ import { useVisibleElements } from "../../../../../../../../composables/useVisibleElements";
85
+ import type { IBladeToolbar } from "../../../../../../../../../core/types";
86
+ import VcBladeToolbarBaseButton from "../_internal/vc-blade-toolbar-button/vc-blade-toolbar-base-button.vue";
87
+
88
+ const props = defineProps<{
89
+ items: IBladeToolbar[];
90
+ isExpanded: boolean;
91
+ }>();
92
+
93
+ const isMenuOpen = ref(false);
94
+ const toolbarContentRef = ref<HTMLElement | null>(null);
95
+
96
+ const { setElementRef, displayedItems, overflowItems, showMoreButton, calculateVisibleElements, setupResizeObserver } =
97
+ useVisibleElements<IBladeToolbar>({
98
+ containerRef: toolbarContentRef,
99
+ items: toRef(props, "items"),
100
+ getItemId: (item: IBladeToolbar) => item.id ?? "",
101
+ moreButtonWidth: 70,
102
+ });
103
+
104
+ function handleItemClick(item: IBladeToolbar) {
105
+ item.clickHandler?.();
106
+ isMenuOpen.value = false;
107
+ }
108
+
109
+ const toggleToolbar = () => {
110
+ isMenuOpen.value = !isMenuOpen.value;
111
+ };
112
+
113
+ // Observe DOM changes
114
+ const observer = new MutationObserver(() => {
115
+ nextTick(calculateVisibleElements);
116
+ });
117
+
118
+ onMounted(() => {
119
+ nextTick(() => {
120
+ if (toolbarContentRef.value) {
121
+ observer.observe(toolbarContentRef.value, {
122
+ childList: true,
123
+ subtree: true,
124
+ attributes: true,
125
+ });
126
+ calculateVisibleElements();
127
+ }
128
+ });
129
+ });
130
+
131
+ // Recalculate when isExpanded changes
132
+ watch(
133
+ () => props.isExpanded,
134
+ () => {
135
+ nextTick(calculateVisibleElements);
136
+ },
137
+ );
138
+
139
+ // Set up resize observer
140
+ setupResizeObserver();
141
+
142
+ onBeforeUnmount(() => {
143
+ observer.disconnect();
144
+ });
145
+ </script>
146
+
147
+ <style lang="scss">
148
+ :root {
149
+ --blade-toolbar-desktop-more-color: var(--neutrals-700);
150
+ --blade-toolbar-desktop-more-hover-color: var(--primary-600);
151
+ }
152
+
153
+ .vc-blade-toolbar-desktop {
154
+ @apply tw-w-full tw-relative;
155
+
156
+ &__measure {
157
+ @apply tw-absolute tw-px-4 tw-invisible tw-pointer-events-none tw-flex tw-h-0 tw-overflow-hidden;
158
+ left: -9999px;
159
+ }
160
+
161
+ &__measure-item {
162
+ @apply tw-flex;
163
+ }
164
+
165
+ &__content {
166
+ @apply tw-flex tw-items-center tw-px-4 tw-h-full;
167
+ }
168
+
169
+ &__more {
170
+ @apply tw-flex tw-items-center tw-gap-2 tw-px-2 tw-cursor-pointer tw-text-[var(--blade-toolbar-desktop-more-color)] tw-flex-col;
171
+
172
+ &-text {
173
+ @apply tw-text-xs;
174
+ }
175
+
176
+ &:hover,
177
+ &--active {
178
+ @apply tw-text-[var(--blade-toolbar-desktop-more-hover-color)];
179
+ }
180
+ }
181
+ }
182
+ </style>
@@ -0,0 +1,146 @@
1
+ <template>
2
+ <div class="vc-blade-toolbar-mobile">
3
+ <!-- Main button with menu -->
4
+ <div
5
+ class="vc-blade-toolbar-mobile__pill"
6
+ :class="{ 'vc-blade-toolbar-mobile__pill--expanded': isExpanded }"
7
+ >
8
+ <VcBladeToolbarCircleButton
9
+ v-if="items[0]"
10
+ v-bind="items[0]"
11
+ :is-main="true"
12
+ :is-mobile="true"
13
+ :is-expanded="isExpanded"
14
+ :on-click="() => handleItemClick(items[0])"
15
+ />
16
+
17
+ <button
18
+ v-if="items.length > 1 && !isExpanded"
19
+ class="vc-blade-toolbar-mobile__toggle"
20
+ @click="toggleMenu"
21
+ >
22
+ <VcIcon icon="fas fa-chevron-up" />
23
+ </button>
24
+ </div>
25
+
26
+ <!-- Overlay -->
27
+ <Transition name="fade">
28
+ <div
29
+ v-show="isExpanded"
30
+ class="vc-blade-toolbar-mobile__overlay"
31
+ @click="closeMenu"
32
+ />
33
+ </Transition>
34
+
35
+ <!-- Vertical menu -->
36
+ <Transition name="menu">
37
+ <div
38
+ v-show="isExpanded"
39
+ class="vc-blade-toolbar-mobile__menu"
40
+ >
41
+ <VcBladeToolbarCircleButton
42
+ v-for="item in items.slice(1)"
43
+ :key="item.id"
44
+ v-bind="item"
45
+ :is-mobile="true"
46
+ :on-click="() => handleItemClick(item)"
47
+ />
48
+ </div>
49
+ </Transition>
50
+ </div>
51
+ </template>
52
+
53
+ <script lang="ts" setup>
54
+ import { ref } from "vue";
55
+ import { VcIcon } from "../../../../../../../../../";
56
+ import type { IBladeToolbar } from "../../../../../../../../../core/types";
57
+ import VcBladeToolbarCircleButton from "../_internal/vc-blade-toolbar-button/vc-blade-toolbar-circle-button.vue";
58
+
59
+ defineProps<{
60
+ items: IBladeToolbar[];
61
+ }>();
62
+
63
+ const isExpanded = ref(false);
64
+
65
+ function toggleMenu() {
66
+ isExpanded.value = !isExpanded.value;
67
+ }
68
+
69
+ function closeMenu() {
70
+ isExpanded.value = false;
71
+ }
72
+
73
+ function handleItemClick(item: IBladeToolbar) {
74
+ item.clickHandler?.();
75
+ closeMenu();
76
+ }
77
+ </script>
78
+
79
+ <style lang="scss">
80
+ :root {
81
+ --blade-toolbar-mobile-pill-bg-color: var(--primary-500);
82
+ --blade-toolbar-mobile-toggle-border-color: var(--primary-200);
83
+ --blade-toolbar-mobile-toggle-icon-color: var(--additional-50);
84
+ --blade-toolbar-mobile-overlay-bg-color: var(--additional-950);
85
+ --blade-toolbar-mobile-menu-shadow-base-color: var(--additional-950);
86
+ --blade-toolbar-mobile-shadow-color: rgb(from var(--blade-toolbar-mobile-menu-shadow-base-color) r g b / 25%);
87
+ --blade-toolbar-mobile-shadow-color-2: rgb(from var(--blade-toolbar-mobile-menu-shadow-base-color) r g b / 1%);
88
+ }
89
+
90
+ .vc-blade-toolbar-mobile {
91
+ &__pill {
92
+ @apply tw-fixed tw-bottom-28 tw-right-8 tw-flex tw-items-center tw-bg-[var(--blade-toolbar-mobile-pill-bg-color)] tw-rounded-full tw-shadow-lg tw-z-[60] tw-h-[48px];
93
+ box-shadow:
94
+ 0px 4px 4px 0px var(--blade-toolbar-mobile-shadow-color),
95
+ 0px 2px 10px 0px var(--blade-toolbar-mobile-shadow-color-2);
96
+
97
+ &--expanded {
98
+ @apply tw-bg-transparent tw-shadow-none;
99
+ }
100
+ }
101
+
102
+ &__toggle {
103
+ @apply tw-flex tw-items-center tw-justify-center tw-h-full tw-px-3 tw-border-0 tw-bg-transparent tw-border-l tw-border-solid tw-border-[var(--blade-toolbar-mobile-toggle-border-color)];
104
+ min-width: 40px;
105
+
106
+ .vc-icon {
107
+ @apply tw-text-[var(--blade-toolbar-mobile-toggle-icon-color)];
108
+ font-size: 14px;
109
+ }
110
+ }
111
+
112
+ &__overlay {
113
+ @apply tw-fixed tw-left-0 tw-top-0 tw-right-0 tw-bottom-0 tw-bg-[var(--blade-toolbar-mobile-overlay-bg-color)] tw-z-[55] tw-opacity-90;
114
+ transition: opacity 0.3s ease;
115
+ }
116
+
117
+ &__menu {
118
+ @apply tw-fixed tw-bottom-[167px] tw-right-[33px] tw-z-[60] tw-flex tw-flex-col tw-gap-2 tw-items-end;
119
+ }
120
+ }
121
+
122
+ .menu-enter-active,
123
+ .menu-leave-active {
124
+ transition: all 0.3s ease;
125
+ }
126
+
127
+ .menu-enter-from,
128
+ .menu-leave-to {
129
+ transform: translateY(20px);
130
+ opacity: 0;
131
+ }
132
+
133
+ .fade-enter-active {
134
+ transition: opacity 0.3s ease;
135
+ }
136
+
137
+ .fade-leave-active {
138
+ transition: opacity 0.3s ease;
139
+ transition-delay: 0.1s;
140
+ }
141
+
142
+ .fade-enter-from,
143
+ .fade-leave-to {
144
+ opacity: 0;
145
+ }
146
+ </style>
@@ -0,0 +1,32 @@
1
+ <template>
2
+ <div class="vc-blade-toolbar-buttons">
3
+ <VcBladeToolbarMobile
4
+ v-if="$isMobile.value"
5
+ :items="items"
6
+ />
7
+ <VcBladeToolbarDesktop
8
+ v-else
9
+ :items="items"
10
+ :is-expanded="isExpanded"
11
+ />
12
+ </div>
13
+ </template>
14
+
15
+ <script lang="ts" setup>
16
+ import { IBladeToolbar } from "../../../../../../../../core/types";
17
+ import VcBladeToolbarMobile from "./mobile/vc-blade-toolbar-mobile.vue";
18
+ import VcBladeToolbarDesktop from "./desktop/vc-blade-toolbar-desktop.vue";
19
+
20
+ defineProps<{
21
+ items: IBladeToolbar[];
22
+ isExpanded: boolean;
23
+ }>();
24
+ </script>
25
+
26
+ <style lang="scss">
27
+ .vc-blade-toolbar-buttons {
28
+ @apply tw-relative tw-overflow-hidden tw-flex;
29
+ width: -webkit-fill-available;
30
+ width: -moz-available !important;
31
+ }
32
+ </style>
@@ -1,103 +1,31 @@
1
1
  <template>
2
2
  <div
3
- v-if="isToolbarVisible()"
3
+ v-if="isToolbarVisible"
4
4
  class="vc-blade-toolbar"
5
- :class="{ 'vc-blade-toolbar--expanded': isExpanded }"
5
+ :class="{
6
+ 'vc-blade-toolbar--mobile': $isMobile.value,
7
+ }"
6
8
  >
7
- <div
8
- ref="toolbarContentRef"
9
- class="vc-blade-toolbar__content"
10
- >
11
- <template v-if="slots['widgets-container']">
12
- <template
13
- v-for="item in displayedItems"
14
- :key="item.id"
15
- >
16
- <VcBladeToolbarButton
17
- :id="item.id"
18
- :is-expanded="isExpanded"
19
- :icon="item.icon"
20
- :title="unref(item.title)"
21
- :disabled="item.disabled as boolean"
22
- :separator="item.separator"
23
- :click-handler="item.clickHandler"
24
- />
25
- </template>
9
+ <div class="vc-blade-toolbar__content">
10
+ <VcBladeToolbarButtons
11
+ :items="visibleItems"
12
+ :is-expanded="isExpanded"
13
+ />
26
14
 
27
- <GenericDropdown
28
- :opened="showToolbar"
29
- :items="overflowItems"
30
- floating
31
- placement="bottom-end"
32
- :on-item-click="onItemClick"
33
- @update:opened="showToolbar = $event"
34
- >
35
- <template #trigger>
36
- <div
37
- v-if="showMoreButton"
38
- class="vc-blade-toolbar__more"
39
- @click="toggleToolbar"
40
- >
41
- <VcIcon :icon="CircleDotsIcon" />
42
- <span class="vc-blade-toolbar__more-text">More</span>
43
- </div>
44
- </template>
45
-
46
- <template #item="{ item }">
47
- <div class="vc-blade-toolbar__more-item">
48
- <VcIcon
49
- class="vc-blade-toolbar-button__icon"
50
- :icon="typeof item.icon === 'function' ? item.icon() : item.icon"
51
- size="m"
52
- />
53
- <div class="vc-blade-toolbar-button__title">{{ item.title }}</div>
54
- </div>
55
- </template>
56
- </GenericDropdown>
57
- </template>
58
- <template v-else>
59
- <template
60
- v-for="item in visibleItems"
61
- :key="item.id"
62
- >
63
- <VcBladeToolbarButton
64
- :id="item.id"
65
- :is-expanded="isExpanded"
66
- :icon="item.icon"
67
- :title="unref(item.title)"
68
- :disabled="item.disabled as boolean"
69
- :separator="item.separator"
70
- :click-handler="item.clickHandler"
71
- />
72
- </template>
73
- </template>
74
- </div>
75
-
76
- <div class="vc-blade-toolbar__toolbar-container">
77
- <div
78
- v-if="!slots['widgets-container']"
79
- id="vc-blade-toolbar-container"
80
- class="tw-w-full tw-max-w-[500px]"
81
- ></div>
82
- <div
15
+ <slot
83
16
  v-if="slots['widgets-container']"
84
- class="vc-blade-toolbar__toolbar-container-inner"
85
- >
86
- <slot name="widgets-container"></slot>
87
- </div>
17
+ name="widgets-container"
18
+ />
88
19
  </div>
89
20
  </div>
90
21
  </template>
91
22
 
92
23
  <script lang="ts" setup>
93
- import { IBladeToolbar } from "./../../../../../../core/types";
94
- import { unref, ref, computed, useSlots, onMounted, onBeforeUnmount, inject, ComputedRef, provide } from "vue";
95
- import VcBladeToolbarButton from "./_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue";
96
- import { VcIcon } from "./../../../../";
24
+ import { computed, useSlots } from "vue";
97
25
  import { useLocalStorage } from "@vueuse/core";
98
- import { GenericDropdown } from "../../../../../../shared/components/generic-dropdown";
99
26
  import { usePermissions } from "../../../../../../core/composables";
100
- import { CircleDotsIcon } from "../../../../atoms/vc-icon/icons";
27
+ import { IBladeToolbar } from "./../../../../../../core/types";
28
+ import VcBladeToolbarButtons from "./_internal/vc-blade-toolbar-buttons/vc-blade-toolbar-buttons.vue";
101
29
 
102
30
  export interface Props {
103
31
  items: IBladeToolbar[];
@@ -107,60 +35,9 @@ const props = withDefaults(defineProps<Props>(), {
107
35
  items: () => [],
108
36
  });
109
37
 
110
- defineSlots<{
111
- "widgets-container": void;
112
- "custom-container": void;
113
- }>();
114
-
38
+ const slots = useSlots();
115
39
  const isExpanded = useLocalStorage("VC_BLADE_TOOLBAR_IS_EXPANDED", true);
116
40
  const { hasAccess } = usePermissions();
117
- const bladeExpanded = inject("$bladeExpanded") as ComputedRef<boolean>;
118
- const toolbarContainerId = "vc-blade-toolbar-container";
119
-
120
- const showToolbar = ref(false);
121
-
122
- const toggleToolbar = () => {
123
- showToolbar.value = !showToolbar.value;
124
- };
125
-
126
- const slots = useSlots();
127
-
128
- function onItemClick(item: IBladeToolbar) {
129
- item.clickHandler?.();
130
- }
131
-
132
- const toolbarContentRef = ref<HTMLElement | null>(null);
133
- const isOverflowing = ref(false);
134
-
135
- const toolbarSpace = ref(0);
136
-
137
- const checkOverflow = () => {
138
- if (toolbarContentRef.value) {
139
- const element = toolbarContentRef.value;
140
- isOverflowing.value = element.scrollWidth > element.clientWidth;
141
- }
142
- };
143
-
144
- // Setup resize observer
145
- onMounted(() => {
146
- const resizeObserver = new ResizeObserver(checkOverflow);
147
- if (toolbarContentRef.value) {
148
- resizeObserver.observe(toolbarContentRef.value);
149
- }
150
-
151
- // Cleanup
152
- onBeforeUnmount(() => {
153
- resizeObserver.disconnect();
154
- });
155
-
156
- const container = document.getElementById(toolbarContainerId);
157
- if (container) {
158
- const observer = new ResizeObserver((entries) => {
159
- toolbarSpace.value = entries[0].contentRect.width;
160
- });
161
- observer.observe(container);
162
- }
163
- });
164
41
 
165
42
  const visibleItems = computed(() => {
166
43
  return props.items.filter(
@@ -168,40 +45,7 @@ const visibleItems = computed(() => {
168
45
  );
169
46
  });
170
47
 
171
- const displayedItems = computed(() => {
172
- console.log("displayedItems", slots);
173
- if (!slots["widgets-container"] || visibleItems.value.length <= 2) {
174
- // If not overflowing and 2 or fewer items, show all
175
- if (!isOverflowing.value) {
176
- return visibleItems.value;
177
- }
178
- }
179
- // If overflowing or 3+ items, show only first item
180
- return visibleItems.value.slice(0, 1);
181
- });
182
-
183
- const overflowItems = computed(() => {
184
- if (!slots["widgets-container"] && !isOverflowing.value) {
185
- return [];
186
- }
187
- // If overflowing or has 3+ items, include remaining items
188
- return visibleItems.value.length >= 3 || isOverflowing.value
189
- ? visibleItems.value.slice(1)
190
- : visibleItems.value.slice(2);
191
- });
192
-
193
- const showMoreButton = computed(() => {
194
- return (slots["widgets-container"] && visibleItems.value.length >= 3) || isOverflowing.value;
195
- });
196
-
197
- function isToolbarVisible() {
198
- const visibleItems = (props.items as { isVisible: boolean }[]).filter(
199
- (item) => item.isVisible === undefined || item.isVisible,
200
- );
201
- return !!visibleItems.length;
202
- }
203
-
204
- provide("toolbarContainerId", "vc-blade-toolbar-container");
48
+ const isToolbarVisible = computed(() => visibleItems.value.length > 0);
205
49
  </script>
206
50
 
207
51
  <style lang="scss">
@@ -215,41 +59,14 @@ provide("toolbarContainerId", "vc-blade-toolbar-container");
215
59
  }
216
60
 
217
61
  .vc-blade-toolbar {
218
- @apply tw-min-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;
219
-
220
- /* &--expanded {
221
- @apply tw-h-[var(--blade-toolbar-height-expanded)] #{!important};
222
- } */
62
+ @apply 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;
223
63
 
224
64
  &__content {
225
- @apply tw-flex tw-content-start tw-items-center tw-px-2;
226
- flex-grow: 1;
227
- overflow: hidden;
228
- width: auto;
229
- }
230
-
231
- &__toolbar-container {
232
- @apply tw-grow-[2] tw-basis-0 tw-flex tw-justify-end tw-shrink-0 tw-items-center;
233
- }
234
-
235
- &__icon {
236
- @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)];
237
- }
238
-
239
- &__more {
240
- @apply tw-flex tw-flex-col tw-items-center tw-px-2 tw-cursor-pointer tw-text-[color:var(--blade-toolbar-icon-color)] hover:tw-text-[color:var(--blade-toolbar-icon-hover-color)];
241
- }
242
-
243
- &__more-text {
244
- @apply tw-text-xs tw-mt-1 tw-font-normal;
245
- }
246
-
247
- &__more-item {
248
- @apply tw-flex tw-items-center tw-gap-2 tw-px-2 tw-py-1 tw-cursor-pointer tw-text-[color:var(--blade-toolbar-icon-color)] hover:tw-text-[color:var(--blade-toolbar-icon-hover-color)];
65
+ @apply tw-flex tw-flex-row tw-w-full tw-relative tw-overflow-hidden tw-min-h-[var(--blade-toolbar-height)];
249
66
  }
250
67
 
251
- &__toolbar-container-inner {
252
- @apply tw-flex tw-flex-row tw-items-center tw-overflow-visible tw-w-full;
68
+ &--mobile {
69
+ @apply tw-fixed tw-bottom-0 tw-right-0 tw-z-50 tw-p-4 tw-bg-transparent tw-border-0 tw-w-auto;
253
70
  }
254
71
  }
255
72
  </style>
@@ -0,0 +1,2 @@
1
+ export { default as WidgetContainerDesktop } from './vc-widget-container-desktop.vue';
2
+ export { default as WidgetContainerMobile } from './vc-widget-container-mobile.vue';