@vc-shell/framework 1.0.340 → 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 (761) hide show
  1. package/CHANGELOG.md +22 -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/useBeforeUnload/index.ts +25 -25
  6. package/core/composables/useFunctions/debounce.ts +16 -16
  7. package/core/composables/useFunctions/delay.ts +4 -4
  8. package/core/composables/useFunctions/index.ts +21 -21
  9. package/core/composables/useFunctions/once.ts +12 -12
  10. package/core/composables/useFunctions/sleep.ts +4 -4
  11. package/core/composables/useFunctions/throttle.ts +14 -14
  12. package/core/composables/useGlobalSearch.ts +44 -0
  13. package/core/composables/useLanguages/index.ts +78 -78
  14. package/core/composables/useLoading/index.ts +9 -9
  15. package/core/composables/useMenuService/index.ts +110 -110
  16. package/core/composables/useTheme/index.ts +62 -61
  17. package/core/composables/useWidgets/index.ts +18 -0
  18. package/core/directives/autofocus/index.ts +9 -9
  19. package/core/directives/loading/index.ts +30 -1
  20. package/core/directives/loading/styles.css +36 -7
  21. package/core/plugins/i18n/index.ts +11 -11
  22. package/core/plugins/modularity/index.ts +28 -26
  23. package/core/plugins/moment/humanize.ts +74 -74
  24. package/core/plugins/moment/index.ts +1 -1
  25. package/core/plugins/permissions/index.ts +10 -10
  26. package/core/plugins/validation/index.ts +1 -1
  27. package/core/plugins/validation/rules.ts +145 -145
  28. package/core/services/toolbarbus-service.ts +34 -0
  29. package/core/services/widget-service.ts +130 -0
  30. package/core/types/index.ts +12 -16
  31. package/core/types/widget.ts +15 -0
  32. package/core/utilities/camelToSnake.ts +7 -7
  33. package/core/utilities/camelize.ts +5 -5
  34. package/core/utilities/generateId.ts +3 -3
  35. package/core/utilities/kebabToCamel.ts +7 -7
  36. package/dist/{asn1-DF4fnRHj.js → asn1-jKiBa2Ya.js} +20 -18
  37. package/dist/{clike-l4mx49Q1.js → clike-BUuHEmgZ.js} +0 -1
  38. package/dist/{cobol-CJVkMW0i.js → cobol-BlTKFDRj.js} +0 -1
  39. package/dist/core/composables/index.d.ts +8 -7
  40. package/dist/core/composables/index.d.ts.map +1 -1
  41. package/dist/core/composables/useGlobalSearch.d.ts +10 -0
  42. package/dist/core/composables/useGlobalSearch.d.ts.map +1 -0
  43. package/dist/core/composables/useTheme/index.d.ts.map +1 -1
  44. package/dist/core/composables/useWidgets/index.d.ts +4 -0
  45. package/dist/core/composables/useWidgets/index.d.ts.map +1 -0
  46. package/dist/core/directives/loading/index.d.ts.map +1 -1
  47. package/dist/core/plugins/modularity/index.d.ts +7 -7
  48. package/dist/core/plugins/modularity/index.d.ts.map +1 -1
  49. package/dist/core/services/toolbarbus-service.d.ts +10 -0
  50. package/dist/core/services/toolbarbus-service.d.ts.map +1 -0
  51. package/dist/core/services/widget-service.d.ts +35 -0
  52. package/dist/core/services/widget-service.d.ts.map +1 -0
  53. package/dist/core/types/index.d.ts +11 -14
  54. package/dist/core/types/index.d.ts.map +1 -1
  55. package/dist/core/types/widget.d.ts +12 -0
  56. package/dist/core/types/widget.d.ts.map +1 -0
  57. package/dist/{dockerfile-CFG_IPGn.js → dockerfile-Bo-KZxHS.js} +1 -1
  58. package/dist/{factor-DJHfQ4a1.js → factor-Bny6SIz6.js} +1 -1
  59. package/dist/framework.js +252 -223
  60. package/dist/{haxe-pdDS1aE8.js → haxe-70NVW1pR.js} +1 -1
  61. package/dist/{index-Ce86fM2z.js → index-3eLJLrzP.js} +94187 -91660
  62. package/dist/{index-Dho4-wXM.js → index-B7KsNz2e.js} +8 -8
  63. package/dist/{index-bAD1-blW.js → index-BbLSuXfB.js} +7 -7
  64. package/dist/{index-YvFwPxsI.js → index-CUuop2Pm.js} +9 -9
  65. package/dist/index-D5mVNTjP.js +308 -0
  66. package/dist/index-D7HzlheD.js +243 -0
  67. package/dist/{index-lnO7rLKk.js → index-D8YubeMT.js} +9 -9
  68. package/dist/{index-DSefVRVC.js → index-DQXUkbse.js} +19 -19
  69. package/dist/{index-n48DzlNW.js → index-DY3kTJtR.js} +9 -9
  70. package/dist/{index-DK6ijkM9.js → index-DdgLwPZH.js} +171 -162
  71. package/dist/{index-BXTIkfHT.js → index-DkfZxmI7.js} +42 -42
  72. package/dist/{index-CV4fOhK1.js → index-Dn54TX9M.js} +6 -6
  73. package/dist/{index-Dcdjgpoe.js → index-DnpVJexS.js} +5 -5
  74. package/dist/{index-Ck9pr8TI.js → index-Yc2AandF.js} +16 -16
  75. package/dist/{index-wsG2MecP.js → index-h6Tp1RYq.js} +7 -7
  76. package/dist/{index-BON_eF-3.js → index-lE5Ov0XL.js} +9 -9
  77. package/dist/{index-CT72nbMk.js → index-q2J1GObW.js} +10 -10
  78. package/dist/index.css +1 -1
  79. package/dist/index.d.ts +6 -0
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/injection-keys.d.ts +10 -0
  82. package/dist/injection-keys.d.ts.map +1 -0
  83. package/dist/{javascript-CWGekh08.js → javascript-WMWNx-Vj.js} +1 -1
  84. package/dist/{livescript-CE_BxZmN.js → livescript-CanGTf8u.js} +25 -25
  85. package/dist/locales/de.json +5 -2
  86. package/dist/locales/en.json +3 -1
  87. package/dist/{mllike-1yy7Y7jE.js → mllike-BSnXJBGA.js} +0 -3
  88. package/dist/{nsis-BtA0qkjU.js → nsis-BEzMtmb7.js} +1 -1
  89. package/dist/{pascal-ixanSKUz.js → pascal-De0D6mP7.js} +1 -1
  90. package/dist/{pug-CW1q1xhQ.js → pug-BqUR2bBq.js} +1 -1
  91. package/dist/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue.d.ts.map +1 -1
  92. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/_internal/vc-mobile-back-button.vue.d.ts +19 -0
  93. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/_internal/vc-mobile-back-button.vue.d.ts.map +1 -0
  94. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue.d.ts.map +1 -1
  95. package/dist/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.d.ts +32 -2
  96. package/dist/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.d.ts.map +1 -1
  97. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts +5 -1
  98. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts.map +1 -1
  99. package/dist/shared/components/blade-navigation/types/index.d.ts +9 -0
  100. package/dist/shared/components/blade-navigation/types/index.d.ts.map +1 -1
  101. package/dist/shared/components/change-password-button/change-password-button.vue.d.ts +3 -0
  102. package/dist/shared/components/change-password-button/change-password-button.vue.d.ts.map +1 -0
  103. package/dist/shared/components/change-password-button/index.d.ts +2 -0
  104. package/dist/shared/components/change-password-button/index.d.ts.map +1 -0
  105. package/dist/shared/components/generic-dropdown/generic-dropdown.vue.d.ts +122 -0
  106. package/dist/shared/components/generic-dropdown/generic-dropdown.vue.d.ts.map +1 -0
  107. package/dist/shared/components/generic-dropdown/index.d.ts +2 -0
  108. package/dist/shared/components/generic-dropdown/index.d.ts.map +1 -0
  109. package/dist/shared/components/index.d.ts +2 -1
  110. package/dist/shared/components/index.d.ts.map +1 -1
  111. package/dist/shared/components/language-selector/language-selector.vue.d.ts.map +1 -1
  112. package/dist/shared/components/logout-button/index.d.ts +2 -0
  113. package/dist/shared/components/logout-button/index.d.ts.map +1 -0
  114. package/dist/shared/components/logout-button/logout-button.vue.d.ts +3 -0
  115. package/dist/shared/components/logout-button/logout-button.vue.d.ts.map +1 -0
  116. package/dist/shared/components/notification-dropdown/_internal/notification/index.d.ts +2 -0
  117. package/dist/shared/components/notification-dropdown/_internal/notification/index.d.ts.map +1 -0
  118. package/dist/shared/components/notification-dropdown/index.d.ts +13 -1
  119. package/dist/shared/components/notification-dropdown/index.d.ts.map +1 -1
  120. package/dist/shared/components/notification-dropdown/notification-dropdown.vue.d.ts +27 -1
  121. package/dist/shared/components/notification-dropdown/notification-dropdown.vue.d.ts.map +1 -1
  122. package/dist/shared/components/notification-template/index.d.ts +4 -31
  123. package/dist/shared/components/notification-template/index.d.ts.map +1 -1
  124. package/dist/shared/components/notification-template/notification-template.vue.d.ts +4 -14
  125. package/dist/shared/components/notification-template/notification-template.vue.d.ts.map +1 -1
  126. package/dist/shared/components/notifications/components/notification-container/index.d.ts +1 -1
  127. package/dist/shared/components/notifications/components/notification-container/index.d.ts.map +1 -1
  128. package/dist/shared/components/settings-menu/index.d.ts +2 -0
  129. package/dist/shared/components/settings-menu/index.d.ts.map +1 -0
  130. package/dist/shared/components/settings-menu/settings-menu.vue.d.ts +3 -0
  131. package/dist/shared/components/settings-menu/settings-menu.vue.d.ts.map +1 -0
  132. package/dist/shared/components/settings-menu-item/index.d.ts +2 -0
  133. package/dist/shared/components/settings-menu-item/index.d.ts.map +1 -0
  134. package/dist/shared/components/settings-menu-item/settings-menu-item.vue.d.ts +57 -0
  135. package/dist/shared/components/settings-menu-item/settings-menu-item.vue.d.ts.map +1 -0
  136. package/dist/shared/components/sidebar/sidebar.vue.d.ts +7 -2
  137. package/dist/shared/components/sidebar/sidebar.vue.d.ts.map +1 -1
  138. package/dist/shared/components/theme-selector/theme-selector.vue.d.ts.map +1 -1
  139. package/dist/shared/components/user-dropdown-button/_internal/user-info.vue.d.ts +18 -0
  140. package/dist/shared/components/user-dropdown-button/_internal/user-info.vue.d.ts.map +1 -0
  141. package/dist/shared/components/user-dropdown-button/_internal/user-sidebar.vue.d.ts +23 -0
  142. package/dist/shared/components/user-dropdown-button/_internal/user-sidebar.vue.d.ts.map +1 -0
  143. package/dist/shared/components/user-dropdown-button/index.d.ts +9 -25
  144. package/dist/shared/components/user-dropdown-button/index.d.ts.map +1 -1
  145. package/dist/shared/components/user-dropdown-button/user-dropdown-button.vue.d.ts +1 -18
  146. package/dist/shared/components/user-dropdown-button/user-dropdown-button.vue.d.ts.map +1 -1
  147. package/dist/shared/composables/useMenuExpanded.d.ts +5 -0
  148. package/dist/shared/composables/useMenuExpanded.d.ts.map +1 -0
  149. package/dist/shared/composables/useSettingsMenu.d.ts +180 -0
  150. package/dist/shared/composables/useSettingsMenu.d.ts.map +1 -0
  151. package/dist/shared/modules/assets/index.d.ts.map +1 -1
  152. package/dist/shared/modules/assets-manager/components/assets-manager/assets-manager.vue.d.ts.map +1 -1
  153. package/dist/shared/modules/assets-manager/components/assets-manager/index.d.ts +16 -16
  154. package/dist/shared/modules/dynamic/components/fields/Button.d.ts +1 -7
  155. package/dist/shared/modules/dynamic/components/fields/Button.d.ts.map +1 -1
  156. package/dist/shared/modules/dynamic/components/fields/Card.d.ts +1 -7
  157. package/dist/shared/modules/dynamic/components/fields/Card.d.ts.map +1 -1
  158. package/dist/shared/modules/dynamic/components/fields/Checkbox.d.ts +1 -7
  159. package/dist/shared/modules/dynamic/components/fields/Checkbox.d.ts.map +1 -1
  160. package/dist/shared/modules/dynamic/components/fields/ContentField.d.ts +1 -7
  161. package/dist/shared/modules/dynamic/components/fields/ContentField.d.ts.map +1 -1
  162. package/dist/shared/modules/dynamic/components/fields/CustomComponent.d.ts +1 -7
  163. package/dist/shared/modules/dynamic/components/fields/CustomComponent.d.ts.map +1 -1
  164. package/dist/shared/modules/dynamic/components/fields/DynamicProperty.d.ts +1 -7
  165. package/dist/shared/modules/dynamic/components/fields/DynamicProperty.d.ts.map +1 -1
  166. package/dist/shared/modules/dynamic/components/fields/EditorField.d.ts +1 -7
  167. package/dist/shared/modules/dynamic/components/fields/EditorField.d.ts.map +1 -1
  168. package/dist/shared/modules/dynamic/components/fields/Fieldset.d.ts +1 -7
  169. package/dist/shared/modules/dynamic/components/fields/Fieldset.d.ts.map +1 -1
  170. package/dist/shared/modules/dynamic/components/fields/GalleryField.d.ts +1 -7
  171. package/dist/shared/modules/dynamic/components/fields/GalleryField.d.ts.map +1 -1
  172. package/dist/shared/modules/dynamic/components/fields/ImageField.d.ts +1 -7
  173. package/dist/shared/modules/dynamic/components/fields/ImageField.d.ts.map +1 -1
  174. package/dist/shared/modules/dynamic/components/fields/InputCurrency.d.ts +1 -7
  175. package/dist/shared/modules/dynamic/components/fields/InputCurrency.d.ts.map +1 -1
  176. package/dist/shared/modules/dynamic/components/fields/InputField.d.ts +1 -7
  177. package/dist/shared/modules/dynamic/components/fields/InputField.d.ts.map +1 -1
  178. package/dist/shared/modules/dynamic/components/fields/MultivalueField.d.ts +1 -7
  179. package/dist/shared/modules/dynamic/components/fields/MultivalueField.d.ts.map +1 -1
  180. package/dist/shared/modules/dynamic/components/fields/RadioButtonGroup.d.ts +1 -7
  181. package/dist/shared/modules/dynamic/components/fields/RadioButtonGroup.d.ts.map +1 -1
  182. package/dist/shared/modules/dynamic/components/fields/RatingField.d.ts +1 -7
  183. package/dist/shared/modules/dynamic/components/fields/RatingField.d.ts.map +1 -1
  184. package/dist/shared/modules/dynamic/components/fields/SelectField.d.ts +1 -7
  185. package/dist/shared/modules/dynamic/components/fields/SelectField.d.ts.map +1 -1
  186. package/dist/shared/modules/dynamic/components/fields/StatusField.d.ts +1 -7
  187. package/dist/shared/modules/dynamic/components/fields/StatusField.d.ts.map +1 -1
  188. package/dist/shared/modules/dynamic/components/fields/SwitchField.d.ts +1 -7
  189. package/dist/shared/modules/dynamic/components/fields/SwitchField.d.ts.map +1 -1
  190. package/dist/shared/modules/dynamic/components/fields/Table.d.ts +1 -7
  191. package/dist/shared/modules/dynamic/components/fields/Table.d.ts.map +1 -1
  192. package/dist/shared/modules/dynamic/components/fields/TextareaField.d.ts +1 -7
  193. package/dist/shared/modules/dynamic/components/fields/TextareaField.d.ts.map +1 -1
  194. package/dist/shared/modules/dynamic/components/fields/VideoField.d.ts +1 -7
  195. package/dist/shared/modules/dynamic/components/fields/VideoField.d.ts.map +1 -1
  196. package/dist/shared/modules/dynamic/components/fields/props.d.ts +1 -7
  197. package/dist/shared/modules/dynamic/components/fields/props.d.ts.map +1 -1
  198. package/dist/shared/modules/dynamic/components/fields/storybook/Button.stories.d.ts +3 -21
  199. package/dist/shared/modules/dynamic/components/fields/storybook/Button.stories.d.ts.map +1 -1
  200. package/dist/shared/modules/dynamic/components/fields/storybook/Card.stories.d.ts +3 -21
  201. package/dist/shared/modules/dynamic/components/fields/storybook/Card.stories.d.ts.map +1 -1
  202. package/dist/shared/modules/dynamic/components/fields/storybook/Checkbox.stories.d.ts +3 -21
  203. package/dist/shared/modules/dynamic/components/fields/storybook/Checkbox.stories.d.ts.map +1 -1
  204. package/dist/shared/modules/dynamic/components/fields/storybook/ContentField.stories.d.ts +3 -21
  205. package/dist/shared/modules/dynamic/components/fields/storybook/ContentField.stories.d.ts.map +1 -1
  206. package/dist/shared/modules/dynamic/components/fields/storybook/EditorField.stories.d.ts +3 -21
  207. package/dist/shared/modules/dynamic/components/fields/storybook/EditorField.stories.d.ts.map +1 -1
  208. package/dist/shared/modules/dynamic/components/fields/storybook/Fieldset.stories.d.ts +3 -21
  209. package/dist/shared/modules/dynamic/components/fields/storybook/Fieldset.stories.d.ts.map +1 -1
  210. package/dist/shared/modules/dynamic/components/fields/storybook/GalleryField.stories.d.ts +3 -21
  211. package/dist/shared/modules/dynamic/components/fields/storybook/GalleryField.stories.d.ts.map +1 -1
  212. package/dist/shared/modules/dynamic/components/fields/storybook/ImageField.stories.d.ts +3 -21
  213. package/dist/shared/modules/dynamic/components/fields/storybook/ImageField.stories.d.ts.map +1 -1
  214. package/dist/shared/modules/dynamic/components/fields/storybook/InputCurrency.stories.d.ts +3 -21
  215. package/dist/shared/modules/dynamic/components/fields/storybook/InputCurrency.stories.d.ts.map +1 -1
  216. package/dist/shared/modules/dynamic/components/fields/storybook/InputField.stories.d.ts +3 -21
  217. package/dist/shared/modules/dynamic/components/fields/storybook/InputField.stories.d.ts.map +1 -1
  218. package/dist/shared/modules/dynamic/components/fields/storybook/MultivalueField.stories.d.ts +3 -21
  219. package/dist/shared/modules/dynamic/components/fields/storybook/MultivalueField.stories.d.ts.map +1 -1
  220. package/dist/shared/modules/dynamic/components/fields/storybook/RadioButtonGroup.stories.d.ts +3 -21
  221. package/dist/shared/modules/dynamic/components/fields/storybook/RadioButtonGroup.stories.d.ts.map +1 -1
  222. package/dist/shared/modules/dynamic/components/fields/storybook/RatingField.stories.d.ts +3 -21
  223. package/dist/shared/modules/dynamic/components/fields/storybook/RatingField.stories.d.ts.map +1 -1
  224. package/dist/shared/modules/dynamic/components/fields/storybook/SelectField.stories.d.ts +3 -21
  225. package/dist/shared/modules/dynamic/components/fields/storybook/SelectField.stories.d.ts.map +1 -1
  226. package/dist/shared/modules/dynamic/components/fields/storybook/StatusField.stories.d.ts +3 -21
  227. package/dist/shared/modules/dynamic/components/fields/storybook/StatusField.stories.d.ts.map +1 -1
  228. package/dist/shared/modules/dynamic/components/fields/storybook/TextareaField.stories.d.ts +3 -21
  229. package/dist/shared/modules/dynamic/components/fields/storybook/TextareaField.stories.d.ts.map +1 -1
  230. package/dist/shared/modules/dynamic/components/fields/storybook/VideoField.stories.d.ts +3 -21
  231. package/dist/shared/modules/dynamic/components/fields/storybook/VideoField.stories.d.ts.map +1 -1
  232. package/dist/shared/modules/dynamic/components/fields/storybook/pages/DynamicRender.d.ts +3 -21
  233. package/dist/shared/modules/dynamic/components/fields/storybook/pages/DynamicRender.d.ts.map +1 -1
  234. package/dist/shared/modules/dynamic/composables/useFilterBuilder/index.d.ts.map +1 -1
  235. package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts +2 -14
  236. package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts.map +1 -1
  237. package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts +3 -17
  238. package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts.map +1 -1
  239. package/dist/shared/modules/dynamic/types/index.d.ts +5 -0
  240. package/dist/shared/modules/dynamic/types/index.d.ts.map +1 -1
  241. package/dist/shared/pages/InvitePage/components/invite/index.d.ts +10 -10
  242. package/dist/shared/pages/ResetPasswordPage/components/reset-password/index.d.ts +10 -10
  243. package/dist/{simple-mode-HGTvdazT.js → simple-mode-BqqHn0g6.js} +1 -1
  244. package/dist/{sql-uoWIYwDX.js → sql-mMre1Bo3.js} +0 -2
  245. package/dist/tailwind.config.d.ts +1 -1
  246. package/dist/tsconfig.tsbuildinfo +1 -1
  247. package/dist/{ttcn-DmjTzZb6.js → ttcn-Bsa4sfRm.js} +20 -22
  248. package/dist/{ttcn-cfg-B2U3U7dn.js → ttcn-cfg-Bac_acMi.js} +15 -17
  249. package/dist/ui/components/atoms/vc-button/vc-button.stories.d.ts +156 -156
  250. package/dist/ui/components/atoms/vc-button/vc-button.vue.d.ts +2 -1
  251. package/dist/ui/components/atoms/vc-button/vc-button.vue.d.ts.map +1 -1
  252. package/dist/ui/components/atoms/vc-card/vc-card.stories.d.ts +24 -24
  253. package/dist/ui/components/atoms/vc-icon/icons/AppWindowIcon.vue.d.ts +18 -0
  254. package/dist/ui/components/atoms/vc-icon/icons/AppWindowIcon.vue.d.ts.map +1 -0
  255. package/dist/ui/components/atoms/vc-icon/icons/ArrowLeftIcon.vue.d.ts +18 -0
  256. package/dist/ui/components/atoms/vc-icon/icons/ArrowLeftIcon.vue.d.ts.map +1 -0
  257. package/dist/ui/components/atoms/vc-icon/icons/ArrowRightIcon.vue.d.ts +18 -0
  258. package/dist/ui/components/atoms/vc-icon/icons/ArrowRightIcon.vue.d.ts.map +1 -0
  259. package/dist/ui/components/atoms/vc-icon/icons/BellIcon.vue.d.ts +18 -0
  260. package/dist/ui/components/atoms/vc-icon/icons/BellIcon.vue.d.ts.map +1 -0
  261. package/dist/ui/components/atoms/vc-icon/icons/ChevronDownIcon.vue.d.ts +18 -0
  262. package/dist/ui/components/atoms/vc-icon/icons/ChevronDownIcon.vue.d.ts.map +1 -0
  263. package/dist/ui/components/atoms/vc-icon/icons/ChevronLeftIcon.vue.d.ts +18 -0
  264. package/dist/ui/components/atoms/vc-icon/icons/ChevronLeftIcon.vue.d.ts.map +1 -0
  265. package/dist/ui/components/atoms/vc-icon/icons/ChevronRightIcon.vue.d.ts +18 -0
  266. package/dist/ui/components/atoms/vc-icon/icons/ChevronRightIcon.vue.d.ts.map +1 -0
  267. package/dist/ui/components/atoms/vc-icon/icons/ChevronUpIcon.vue.d.ts +18 -0
  268. package/dist/ui/components/atoms/vc-icon/icons/ChevronUpIcon.vue.d.ts.map +1 -0
  269. package/dist/ui/components/atoms/vc-icon/icons/CircleDotsIcon.vue.d.ts +18 -0
  270. package/dist/ui/components/atoms/vc-icon/icons/CircleDotsIcon.vue.d.ts.map +1 -0
  271. package/dist/ui/components/atoms/vc-icon/icons/CrossSignIcon.vue.d.ts +18 -0
  272. package/dist/ui/components/atoms/vc-icon/icons/CrossSignIcon.vue.d.ts.map +1 -0
  273. package/dist/ui/components/atoms/vc-icon/icons/DoubleArrowLeftIcon.vue.d.ts +18 -0
  274. package/dist/ui/components/atoms/vc-icon/icons/DoubleArrowLeftIcon.vue.d.ts.map +1 -0
  275. package/dist/ui/components/atoms/vc-icon/icons/DoubleArrowRightIcon.vue.d.ts +18 -0
  276. package/dist/ui/components/atoms/vc-icon/icons/DoubleArrowRightIcon.vue.d.ts.map +1 -0
  277. package/dist/ui/components/atoms/vc-icon/icons/LogoutIcon.vue.d.ts +18 -0
  278. package/dist/ui/components/atoms/vc-icon/icons/LogoutIcon.vue.d.ts.map +1 -0
  279. package/dist/ui/components/atoms/vc-icon/icons/MenuBurgerIcon.vue.d.ts +18 -0
  280. package/dist/ui/components/atoms/vc-icon/icons/MenuBurgerIcon.vue.d.ts.map +1 -0
  281. package/dist/ui/components/atoms/vc-icon/icons/MinusSignIcon.vue.d.ts +18 -0
  282. package/dist/ui/components/atoms/vc-icon/icons/MinusSignIcon.vue.d.ts.map +1 -0
  283. package/dist/ui/components/atoms/vc-icon/icons/PlusSignIcon.vue.d.ts +18 -0
  284. package/dist/ui/components/atoms/vc-icon/icons/PlusSignIcon.vue.d.ts.map +1 -0
  285. package/dist/ui/components/atoms/vc-icon/icons/SearchIcon.vue.d.ts +18 -0
  286. package/dist/ui/components/atoms/vc-icon/icons/SearchIcon.vue.d.ts.map +1 -0
  287. package/dist/ui/components/atoms/vc-icon/icons/SettingsBoltIcon.vue.d.ts +18 -0
  288. package/dist/ui/components/atoms/vc-icon/icons/SettingsBoltIcon.vue.d.ts.map +1 -0
  289. package/dist/ui/components/atoms/vc-icon/icons/VertDotsIcon.vue.d.ts +18 -0
  290. package/dist/ui/components/atoms/vc-icon/icons/VertDotsIcon.vue.d.ts.map +1 -0
  291. package/dist/ui/components/atoms/vc-icon/icons/index.d.ts +20 -0
  292. package/dist/ui/components/atoms/vc-icon/icons/index.d.ts.map +1 -0
  293. package/dist/ui/components/atoms/vc-icon/index.d.ts +1 -0
  294. package/dist/ui/components/atoms/vc-icon/index.d.ts.map +1 -1
  295. package/dist/ui/components/atoms/vc-icon/vc-icon.stories.d.ts +3 -3
  296. package/dist/ui/components/atoms/vc-icon/vc-icon.vue.d.ts +3 -2
  297. package/dist/ui/components/atoms/vc-icon/vc-icon.vue.d.ts.map +1 -1
  298. package/dist/ui/components/atoms/vc-skeleton/vc-skeleton.vue.d.ts +35 -0
  299. package/dist/ui/components/atoms/vc-skeleton/vc-skeleton.vue.d.ts.map +1 -0
  300. package/dist/ui/components/atoms/vc-status/vc-status.stories.d.ts +15 -0
  301. package/dist/ui/components/atoms/vc-status/vc-status.stories.d.ts.map +1 -1
  302. package/dist/ui/components/atoms/vc-status/vc-status.vue.d.ts +7 -0
  303. package/dist/ui/components/atoms/vc-status/vc-status.vue.d.ts.map +1 -1
  304. package/dist/ui/components/atoms/vc-tooltip/vc-tooltip.vue.d.ts +4 -0
  305. package/dist/ui/components/atoms/vc-tooltip/vc-tooltip.vue.d.ts.map +1 -1
  306. package/dist/ui/components/atoms/vc-widget/index.d.ts +6 -0
  307. package/dist/ui/components/atoms/vc-widget/index.d.ts.map +1 -1
  308. package/dist/ui/components/atoms/vc-widget/vc-widget.stories.d.ts +6 -0
  309. package/dist/ui/components/atoms/vc-widget/vc-widget.stories.d.ts.map +1 -1
  310. package/dist/ui/components/atoms/vc-widget/vc-widget.vue.d.ts +1 -3
  311. package/dist/ui/components/atoms/vc-widget/vc-widget.vue.d.ts.map +1 -1
  312. package/dist/ui/components/index.d.ts +1 -0
  313. package/dist/ui/components/index.d.ts.map +1 -1
  314. package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.stories.d.ts +67 -33
  315. package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.stories.d.ts.map +1 -1
  316. package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue.d.ts +25 -11
  317. package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue.d.ts.map +1 -1
  318. package/dist/ui/components/molecules/vc-editor/vc-editor.stories.d.ts +996 -0
  319. package/dist/ui/components/molecules/vc-editor/vc-editor.stories.d.ts.map +1 -1
  320. package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts +332 -0
  321. package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts.map +1 -1
  322. package/dist/ui/components/molecules/vc-field/vc-field.stories.d.ts +3 -3
  323. package/dist/ui/components/molecules/vc-field/vc-field.vue.d.ts +1 -1
  324. package/dist/ui/components/molecules/vc-file-upload/vc-file-upload.stories.d.ts +12 -12
  325. package/dist/ui/components/molecules/vc-input/vc-input.stories.d.ts +24 -24
  326. package/dist/ui/components/molecules/vc-input/vc-input.vue.d.ts +1 -1
  327. package/dist/ui/components/molecules/vc-input-currency/vc-input-currency.stories.d.ts +18 -18
  328. package/dist/ui/components/molecules/vc-multivalue/vc-multivalue.stories.d.ts +84 -84
  329. package/dist/ui/components/molecules/vc-multivalue/vc-multivalue.vue.d.ts +12 -12
  330. package/dist/ui/components/molecules/vc-pagination/vc-pagination.vue.d.ts.map +1 -1
  331. package/dist/ui/components/molecules/vc-select/vc-select.stories.d.ts +240 -240
  332. package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts +24 -24
  333. package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts.map +1 -1
  334. package/dist/ui/components/molecules/vc-slider/index.d.ts +9 -9
  335. package/dist/ui/components/molecules/vc-slider/vc-slider.stories.d.ts +9 -9
  336. package/dist/ui/components/organisms/vc-app/_internal/composables/useAppMenuState.d.ts +23 -0
  337. package/dist/ui/components/organisms/vc-app/_internal/composables/useAppMenuState.d.ts.map +1 -0
  338. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarContent.vue.d.ts +24 -0
  339. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarContent.vue.d.ts.map +1 -0
  340. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarHeader.vue.d.ts +35 -0
  341. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarHeader.vue.d.ts.map +1 -0
  342. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarOverlay.vue.d.ts +29 -0
  343. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarOverlay.vue.d.ts.map +1 -0
  344. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/MenuSidebar.vue.d.ts +39 -0
  345. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/MenuSidebar.vue.d.ts.map +1 -0
  346. package/dist/{shared → ui/components/organisms/vc-app/_internal/vc-app-bar}/components/app-bar-button/app-bar-button.vue.d.ts +9 -5
  347. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/components/app-bar-button/app-bar-button.vue.d.ts.map +1 -0
  348. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/composables/useAppBarOverlay.d.ts +19 -0
  349. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/composables/useAppBarOverlay.d.ts.map +1 -0
  350. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue.d.ts +9 -16
  351. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue.d.ts.map +1 -1
  352. 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
  353. 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
  354. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue.d.ts +3 -12
  355. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue.d.ts.map +1 -1
  356. package/dist/ui/components/organisms/vc-app/composables/useToolbarSlots.d.ts +5 -0
  357. package/dist/ui/components/organisms/vc-app/composables/useToolbarSlots.d.ts.map +1 -0
  358. package/dist/ui/components/organisms/vc-app/index.d.ts +1 -0
  359. package/dist/ui/components/organisms/vc-app/index.d.ts.map +1 -1
  360. package/dist/ui/components/organisms/vc-app/vc-app.stories.d.ts +16 -146
  361. package/dist/ui/components/organisms/vc-app/vc-app.stories.d.ts.map +1 -1
  362. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts +16 -146
  363. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
  364. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue.d.ts +1 -2
  365. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue.d.ts.map +1 -1
  366. 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
  367. 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
  368. 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 -4
  369. 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
  370. 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
  371. 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
  372. 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
  373. 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
  374. 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
  375. 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
  376. 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
  377. 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
  378. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue.d.ts +9 -2
  379. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue.d.ts.map +1 -1
  380. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/index.d.ts +3 -0
  381. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/index.d.ts.map +1 -0
  382. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/vc-widget-container-desktop.vue.d.ts +16 -0
  383. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/vc-widget-container-desktop.vue.d.ts.map +1 -0
  384. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/vc-widget-container-mobile.vue.d.ts +16 -0
  385. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/vc-widget-container-mobile.vue.d.ts.map +1 -0
  386. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/vc-widget-container.vue.d.ts +15 -0
  387. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/vc-widget-container.vue.d.ts.map +1 -0
  388. package/dist/ui/components/organisms/vc-blade/vc-blade.stories.d.ts +2 -16
  389. package/dist/ui/components/organisms/vc-blade/vc-blade.stories.d.ts.map +1 -1
  390. package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts +56 -2
  391. package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts.map +1 -1
  392. package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue.d.ts +3 -3
  393. package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue.d.ts.map +1 -1
  394. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue.d.ts +2 -2
  395. package/dist/ui/components/organisms/vc-gallery/vc-gallery.stories.d.ts +13 -13
  396. package/dist/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts +1 -1
  397. package/dist/ui/components/organisms/vc-table/_internal/vc-table-base-header/vc-table-base-header.vue.d.ts.map +1 -1
  398. package/dist/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue.d.ts +2 -2
  399. package/dist/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue.d.ts.map +1 -1
  400. package/dist/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue.d.ts +2 -1
  401. package/dist/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue.d.ts.map +1 -1
  402. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-body/vc-table-body.vue.d.ts +219 -0
  403. 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
  404. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-header/vc-table-header.vue.d.ts +114 -0
  405. 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
  406. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-row/vc-table-row.vue.d.ts +236 -0
  407. 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
  408. 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 +24 -0
  409. 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
  410. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/vc-table-desktop-view.vue.d.ts +315 -0
  411. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/vc-table-desktop-view.vue.d.ts.map +1 -0
  412. package/dist/ui/components/organisms/vc-table/_internal/vc-table-empty/vc-table-empty.vue.d.ts +1 -1
  413. package/dist/ui/components/organisms/vc-table/_internal/vc-table-empty/vc-table-empty.vue.d.ts.map +1 -1
  414. package/dist/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue.d.ts.map +1 -1
  415. package/dist/ui/components/organisms/vc-table/_internal/vc-table-footer/vc-table-footer.vue.d.ts +44 -0
  416. package/dist/ui/components/organisms/vc-table/_internal/vc-table-footer/vc-table-footer.vue.d.ts.map +1 -0
  417. package/dist/ui/components/organisms/vc-table/_internal/vc-table-header/vc-table-header.vue.d.ts +66 -0
  418. package/dist/ui/components/organisms/vc-table/_internal/vc-table-header/vc-table-header.vue.d.ts.map +1 -0
  419. package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue.d.ts +6 -13
  420. package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue.d.ts.map +1 -1
  421. package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-view/vc-table-mobile-view.vue.d.ts +199 -0
  422. package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-view/vc-table-mobile-view.vue.d.ts.map +1 -0
  423. package/dist/ui/components/organisms/vc-table/_internal/vc-table-select-all/vc-table-select-all.vue.d.ts +38 -0
  424. package/dist/ui/components/organisms/vc-table/_internal/vc-table-select-all/vc-table-select-all.vue.d.ts.map +1 -0
  425. package/dist/ui/components/organisms/vc-table/composables/useTableActions.d.ts +17 -0
  426. package/dist/ui/components/organisms/vc-table/composables/useTableActions.d.ts.map +1 -0
  427. package/dist/ui/components/organisms/vc-table/composables/useTableColumnReorder.d.ts +407 -0
  428. package/dist/ui/components/organisms/vc-table/composables/useTableColumnReorder.d.ts.map +1 -0
  429. package/dist/ui/components/organisms/vc-table/composables/useTableColumnResize.d.ts +9 -0
  430. package/dist/ui/components/organisms/vc-table/composables/useTableColumnResize.d.ts.map +1 -0
  431. package/dist/ui/components/organisms/vc-table/composables/useTableRowReorder.d.ts +16 -0
  432. package/dist/ui/components/organisms/vc-table/composables/useTableRowReorder.d.ts.map +1 -0
  433. package/dist/ui/components/organisms/vc-table/composables/useTableSelection.d.ts +23 -0
  434. package/dist/ui/components/organisms/vc-table/composables/useTableSelection.d.ts.map +1 -0
  435. package/dist/ui/components/organisms/vc-table/composables/useTableState.d.ts +19 -0
  436. package/dist/ui/components/organisms/vc-table/composables/useTableState.d.ts.map +1 -0
  437. package/dist/ui/components/organisms/vc-table/composables/useTableSwipe.d.ts +12 -0
  438. package/dist/ui/components/organisms/vc-table/composables/useTableSwipe.d.ts.map +1 -0
  439. package/dist/ui/components/organisms/vc-table/types.d.ts +19 -0
  440. package/dist/ui/components/organisms/vc-table/types.d.ts.map +1 -0
  441. package/dist/ui/components/organisms/vc-table/vc-table.stories.d.ts +105 -735
  442. package/dist/ui/components/organisms/vc-table/vc-table.stories.d.ts.map +1 -1
  443. package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts +49 -142
  444. package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts.map +1 -1
  445. package/dist/ui/composables/useVisibleElements.d.ts +19 -0
  446. package/dist/ui/composables/useVisibleElements.d.ts.map +1 -0
  447. package/dist/{xquery-xQxle02u.js → xquery-BUQdORAS.js} +72 -76
  448. package/package.json +11 -6
  449. package/shared/components/app-switcher/components/vc-app-switcher/index.ts +1 -1
  450. package/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue +31 -134
  451. package/shared/components/blade-navigation/components/vc-blade-navigation/_internal/vc-mobile-back-button.vue +77 -0
  452. package/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue +23 -10
  453. package/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.ts +30 -6
  454. package/shared/components/blade-navigation/composables/useBladeNavigation/index.ts +9 -1
  455. package/shared/components/blade-navigation/types/index.ts +117 -107
  456. package/shared/components/change-password/change-password.vue +2 -1
  457. package/shared/components/change-password-button/change-password-button.vue +20 -0
  458. package/shared/components/change-password-button/index.ts +1 -0
  459. package/shared/components/error-interceptor/interceptor.ts +44 -44
  460. package/shared/components/generic-dropdown/generic-dropdown.vue +219 -0
  461. package/shared/components/generic-dropdown/index.ts +1 -0
  462. package/shared/components/index.ts +2 -1
  463. package/shared/components/language-selector/language-selector.vue +56 -65
  464. package/shared/components/logout-button/index.ts +1 -0
  465. package/shared/components/logout-button/logout-button.vue +27 -0
  466. package/shared/components/notification-dropdown/_internal/notification/index.ts +1 -0
  467. package/shared/components/notification-dropdown/notification-dropdown.vue +44 -74
  468. package/shared/components/notification-template/notification-template.vue +26 -61
  469. package/shared/components/notifications/styles/index.scss +10 -10
  470. package/shared/components/settings-menu/index.ts +1 -0
  471. package/shared/components/settings-menu/settings-menu.vue +24 -0
  472. package/shared/components/settings-menu-item/index.ts +1 -0
  473. package/shared/components/settings-menu-item/settings-menu-item.vue +136 -0
  474. package/shared/components/sidebar/sidebar.vue +45 -11
  475. package/shared/components/theme-selector/theme-selector.vue +55 -66
  476. package/shared/components/user-dropdown-button/_internal/user-info.vue +82 -0
  477. package/shared/components/user-dropdown-button/_internal/user-sidebar.vue +48 -0
  478. package/shared/components/user-dropdown-button/user-dropdown-button.vue +73 -289
  479. package/shared/composables/useMenuExpanded.ts +16 -0
  480. package/shared/composables/useSettingsMenu.ts +44 -0
  481. package/shared/modules/assets/index.ts +0 -1
  482. package/shared/modules/assets-manager/components/assets-manager/assets-manager.vue +0 -1
  483. package/shared/modules/dynamic/components/FIELD_MAP.ts +53 -53
  484. package/shared/modules/dynamic/components/SchemaRender.ts +102 -102
  485. package/shared/modules/dynamic/components/factories.ts +244 -244
  486. package/shared/modules/dynamic/components/fields/Button.ts +44 -44
  487. package/shared/modules/dynamic/components/fields/Card.ts +119 -119
  488. package/shared/modules/dynamic/components/fields/Checkbox.ts +53 -53
  489. package/shared/modules/dynamic/components/fields/ContentField.ts +33 -33
  490. package/shared/modules/dynamic/components/fields/CustomComponent.ts +29 -29
  491. package/shared/modules/dynamic/components/fields/DynamicProperty.ts +141 -141
  492. package/shared/modules/dynamic/components/fields/EditorField.ts +46 -46
  493. package/shared/modules/dynamic/components/fields/Fieldset.ts +65 -65
  494. package/shared/modules/dynamic/components/fields/GalleryField.ts +161 -161
  495. package/shared/modules/dynamic/components/fields/ImageField.ts +35 -35
  496. package/shared/modules/dynamic/components/fields/InputCurrency.ts +79 -79
  497. package/shared/modules/dynamic/components/fields/InputField.ts +81 -81
  498. package/shared/modules/dynamic/components/fields/MultivalueField.ts +68 -68
  499. package/shared/modules/dynamic/components/fields/RadioButtonGroup.ts +82 -82
  500. package/shared/modules/dynamic/components/fields/RatingField.ts +28 -28
  501. package/shared/modules/dynamic/components/fields/SelectField.ts +72 -72
  502. package/shared/modules/dynamic/components/fields/StatusField.ts +110 -110
  503. package/shared/modules/dynamic/components/fields/SwitchField.ts +29 -29
  504. package/shared/modules/dynamic/components/fields/Table.ts +1 -2
  505. package/shared/modules/dynamic/components/fields/TextareaField.ts +46 -46
  506. package/shared/modules/dynamic/components/fields/ValidationField.ts +54 -54
  507. package/shared/modules/dynamic/components/fields/VideoField.ts +30 -30
  508. package/shared/modules/dynamic/components/fields/props.ts +39 -39
  509. package/shared/modules/dynamic/components/fields/storybook/Button.stories.ts +247 -247
  510. package/shared/modules/dynamic/components/fields/storybook/Card.stories.ts +176 -176
  511. package/shared/modules/dynamic/components/fields/storybook/Checkbox.stories.ts +185 -185
  512. package/shared/modules/dynamic/components/fields/storybook/ContentField.stories.ts +245 -245
  513. package/shared/modules/dynamic/components/fields/storybook/EditorField.stories.ts +192 -192
  514. package/shared/modules/dynamic/components/fields/storybook/Fieldset.stories.ts +347 -347
  515. package/shared/modules/dynamic/components/fields/storybook/GalleryField.stories.ts +239 -239
  516. package/shared/modules/dynamic/components/fields/storybook/ImageField.stories.ts +186 -186
  517. package/shared/modules/dynamic/components/fields/storybook/InputCurrency.stories.ts +281 -281
  518. package/shared/modules/dynamic/components/fields/storybook/InputField.stories.ts +312 -312
  519. package/shared/modules/dynamic/components/fields/storybook/MultivalueField.stories.ts +361 -361
  520. package/shared/modules/dynamic/components/fields/storybook/RadioButtonGroup.stories.ts +224 -224
  521. package/shared/modules/dynamic/components/fields/storybook/RatingField.stories.ts +131 -131
  522. package/shared/modules/dynamic/components/fields/storybook/SelectField.stories.ts +666 -666
  523. package/shared/modules/dynamic/components/fields/storybook/StatusField.stories.ts +202 -202
  524. package/shared/modules/dynamic/components/fields/storybook/SwitchField.stories.ts +178 -178
  525. package/shared/modules/dynamic/components/fields/storybook/TextareaField.stories.ts +203 -203
  526. package/shared/modules/dynamic/components/fields/storybook/VideoField.stories.ts +92 -92
  527. package/shared/modules/dynamic/components/fields/storybook/common/args.ts +130 -130
  528. package/shared/modules/dynamic/components/fields/storybook/common/templates.ts +8 -8
  529. package/shared/modules/dynamic/components/index.ts +4 -4
  530. package/shared/modules/dynamic/composables/index.ts +4 -4
  531. package/shared/modules/dynamic/composables/useDynamicViewsUtils/index.ts +46 -46
  532. package/shared/modules/dynamic/composables/useFilterBuilder/index.ts +31 -22
  533. package/shared/modules/dynamic/composables/useTableTemplates/index.ts +67 -67
  534. package/shared/modules/dynamic/composables/useToolbarReducer/index.ts +70 -70
  535. package/shared/modules/dynamic/factories/base/useDetailsFactory.ts +144 -144
  536. package/shared/modules/dynamic/factories/base/useListFactory.ts +68 -68
  537. package/shared/modules/dynamic/factories/index.ts +4 -4
  538. package/shared/modules/dynamic/factories/types/index.ts +229 -229
  539. package/shared/modules/dynamic/helpers/getters.ts +12 -12
  540. package/shared/modules/dynamic/helpers/methodHandler.ts +22 -22
  541. package/shared/modules/dynamic/helpers/nodeBuilder.ts +242 -242
  542. package/shared/modules/dynamic/helpers/override.ts +153 -153
  543. package/shared/modules/dynamic/helpers/safeIn.ts +6 -6
  544. package/shared/modules/dynamic/helpers/setters.ts +24 -24
  545. package/shared/modules/dynamic/helpers/unrefNested.ts +14 -14
  546. package/shared/modules/dynamic/helpers/unwrapInterpolation.ts +16 -16
  547. package/shared/modules/dynamic/pages/dynamic-blade-form.vue +69 -31
  548. package/shared/modules/dynamic/pages/dynamic-blade-list.vue +17 -16
  549. package/shared/modules/dynamic/types/index.ts +5 -0
  550. package/shared/pages/ChangePasswordPage/components/change-password/index.ts +3 -3
  551. package/shared/pages/ChangePasswordPage/components/index.ts +1 -1
  552. package/shared/pages/ChangePasswordPage/index.ts +1 -1
  553. package/shared/pages/ChangePasswordPage/plugin.ts +4 -4
  554. package/shared/pages/InvitePage/components/index.ts +1 -1
  555. package/shared/pages/InvitePage/components/invite/Invite.vue +216 -216
  556. package/shared/pages/InvitePage/components/invite/index.ts +3 -3
  557. package/shared/pages/InvitePage/index.ts +1 -1
  558. package/shared/pages/InvitePage/plugin.ts +4 -4
  559. package/shared/pages/LoginPage/components/index.ts +1 -1
  560. package/shared/pages/LoginPage/components/login/index.ts +3 -3
  561. package/shared/pages/LoginPage/index.ts +1 -1
  562. package/shared/pages/LoginPage/plugin.ts +4 -4
  563. package/shared/pages/ResetPasswordPage/components/index.ts +1 -1
  564. package/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue +218 -218
  565. package/shared/pages/ResetPasswordPage/components/reset-password/index.ts +3 -3
  566. package/shared/pages/ResetPasswordPage/index.ts +1 -1
  567. package/shared/pages/ResetPasswordPage/plugin.ts +4 -4
  568. package/shared/pages/index.ts +4 -4
  569. package/shared/pages/plugin.ts +4 -4
  570. package/shared/utilities/assets.ts +42 -42
  571. package/shared/utilities/vueUtils.ts +50 -50
  572. package/tailwind.config.ts +126 -126
  573. package/ui/components/atoms/vc-badge/index.ts +1 -1
  574. package/ui/components/atoms/vc-badge/vc-badge.stories.ts +53 -53
  575. package/ui/components/atoms/vc-badge/vc-badge.vue +10 -9
  576. package/ui/components/atoms/vc-button/vc-button.vue +2 -2
  577. package/ui/components/atoms/vc-card/index.ts +3 -3
  578. package/ui/components/atoms/vc-card/vc-card.stories.ts +102 -102
  579. package/ui/components/atoms/vc-card/vc-card.vue +159 -162
  580. package/ui/components/atoms/vc-col/index.ts +1 -1
  581. package/ui/components/atoms/vc-col/vc-col.stories.ts +22 -22
  582. package/ui/components/atoms/vc-col/vc-col.vue +29 -29
  583. package/ui/components/atoms/vc-container/index.ts +10 -10
  584. package/ui/components/atoms/vc-container/vc-container.stories.ts +29 -29
  585. package/ui/components/atoms/vc-hint/index.ts +10 -10
  586. package/ui/components/atoms/vc-hint/vc-hint.stories.ts +23 -23
  587. package/ui/components/atoms/vc-hint/vc-hint.vue +17 -17
  588. package/ui/components/atoms/vc-icon/icons/AppWindowIcon.vue +15 -0
  589. package/ui/components/atoms/vc-icon/icons/ArrowLeftIcon.vue +20 -0
  590. package/ui/components/atoms/vc-icon/icons/ArrowRightIcon.vue +13 -0
  591. package/ui/components/atoms/vc-icon/icons/BellIcon.vue +14 -0
  592. package/ui/components/atoms/vc-icon/icons/ChevronDownIcon.vue +13 -0
  593. package/ui/components/atoms/vc-icon/icons/ChevronLeftIcon.vue +13 -0
  594. package/ui/components/atoms/vc-icon/icons/ChevronRightIcon.vue +13 -0
  595. package/ui/components/atoms/vc-icon/icons/ChevronUpIcon.vue +13 -0
  596. package/ui/components/atoms/vc-icon/icons/CircleDotsIcon.vue +16 -0
  597. package/ui/components/atoms/vc-icon/icons/CrossSignIcon.vue +20 -0
  598. package/ui/components/atoms/vc-icon/icons/DoubleArrowLeftIcon.vue +14 -0
  599. package/ui/components/atoms/vc-icon/icons/DoubleArrowRightIcon.vue +14 -0
  600. package/ui/components/atoms/vc-icon/icons/LogoutIcon.vue +13 -0
  601. package/ui/components/atoms/vc-icon/icons/MenuBurgerIcon.vue +20 -0
  602. package/ui/components/atoms/vc-icon/icons/MinusSignIcon.vue +14 -0
  603. package/ui/components/atoms/vc-icon/icons/PlusSignIcon.vue +20 -0
  604. package/ui/components/atoms/vc-icon/icons/SearchIcon.vue +14 -0
  605. package/ui/components/atoms/vc-icon/icons/SettingsBoltIcon.vue +21 -0
  606. package/ui/components/atoms/vc-icon/icons/VertDotsIcon.vue +19 -0
  607. package/ui/components/atoms/vc-icon/icons/index.ts +19 -0
  608. package/ui/components/atoms/vc-icon/index.ts +1 -0
  609. package/ui/components/atoms/vc-icon/vc-icon.vue +82 -49
  610. package/ui/components/atoms/vc-image/index.ts +1 -1
  611. package/ui/components/atoms/vc-image/vc-image.stories.ts +85 -85
  612. package/ui/components/atoms/vc-label/index.ts +1 -1
  613. package/ui/components/atoms/vc-label/vc-label.stories.ts +31 -31
  614. package/ui/components/atoms/vc-label/vc-label.vue +92 -92
  615. package/ui/components/atoms/vc-link/index.ts +10 -10
  616. package/ui/components/atoms/vc-link/vc-link.stories.ts +37 -37
  617. package/ui/components/atoms/vc-link/vc-link.vue +54 -54
  618. package/ui/components/atoms/vc-loading/index.ts +3 -3
  619. package/ui/components/atoms/vc-loading/vc-loading.stories.ts +18 -18
  620. package/ui/components/atoms/vc-loading/vc-loading.vue +58 -58
  621. package/ui/components/atoms/vc-progress/index.ts +10 -10
  622. package/ui/components/atoms/vc-progress/vc-progress.stories.ts +30 -30
  623. package/ui/components/atoms/vc-progress/vc-progress.vue +68 -68
  624. package/ui/components/atoms/vc-row/index.ts +1 -1
  625. package/ui/components/atoms/vc-row/vc-row.stories.ts +20 -20
  626. package/ui/components/atoms/vc-row/vc-row.vue +22 -22
  627. package/ui/components/atoms/vc-skeleton/vc-skeleton.vue +51 -0
  628. package/ui/components/atoms/vc-status/index.ts +1 -1
  629. package/ui/components/atoms/vc-status/vc-status.stories.ts +85 -85
  630. package/ui/components/atoms/vc-status/vc-status.vue +64 -17
  631. package/ui/components/atoms/vc-status-icon/index.ts +1 -1
  632. package/ui/components/atoms/vc-switch/index.ts +1 -1
  633. package/ui/components/atoms/vc-tooltip/index.ts +1 -1
  634. package/ui/components/atoms/vc-tooltip/vc-tooltip.vue +26 -11
  635. package/ui/components/atoms/vc-video/index.ts +1 -1
  636. package/ui/components/atoms/vc-video/vc-video.stories.ts +19 -19
  637. package/ui/components/atoms/vc-widget/index.ts +3 -3
  638. package/ui/components/atoms/vc-widget/vc-widget.stories.ts +20 -20
  639. package/ui/components/atoms/vc-widget/vc-widget.vue +86 -59
  640. package/ui/components/index.ts +2 -0
  641. package/ui/components/molecules/index.ts +16 -16
  642. package/ui/components/molecules/vc-breadcrumbs/_internal/vc-breadcrumbs-item/vc-breadcrumbs-item.vue +89 -92
  643. package/ui/components/molecules/vc-breadcrumbs/index.ts +1 -1
  644. package/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.stories.ts +43 -43
  645. package/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue +157 -121
  646. package/ui/components/molecules/vc-checkbox/index.ts +3 -3
  647. package/ui/components/molecules/vc-checkbox/vc-checkbox.stories.ts +84 -84
  648. package/ui/components/molecules/vc-editor/index.ts +1 -1
  649. package/ui/components/molecules/vc-editor/vc-editor.stories.ts +29 -29
  650. package/ui/components/molecules/vc-editor/vc-editor.vue +2 -2
  651. package/ui/components/molecules/vc-field/_internal/vc-field-type/vc-field-type.vue +96 -96
  652. package/ui/components/molecules/vc-field/index.ts +1 -1
  653. package/ui/components/molecules/vc-field/vc-field.stories.ts +114 -114
  654. package/ui/components/molecules/vc-file-upload/index.ts +1 -1
  655. package/ui/components/molecules/vc-file-upload/vc-file-upload.stories.ts +39 -39
  656. package/ui/components/molecules/vc-form/index.ts +10 -10
  657. package/ui/components/molecules/vc-form/vc-form.stories.ts +25 -25
  658. package/ui/components/molecules/vc-form/vc-form.vue +5 -5
  659. package/ui/components/molecules/vc-input/index.ts +1 -1
  660. package/ui/components/molecules/vc-input/vc-input.stories.ts +165 -165
  661. package/ui/components/molecules/vc-input-currency/index.ts +1 -1
  662. package/ui/components/molecules/vc-input-currency/vc-input-currency.stories.ts +83 -83
  663. package/ui/components/molecules/vc-multivalue/index.ts +1 -1
  664. package/ui/components/molecules/vc-multivalue/vc-multivalue.stories.ts +120 -120
  665. package/ui/components/molecules/vc-notification/index.ts +1 -1
  666. package/ui/components/molecules/vc-pagination/index.ts +3 -3
  667. package/ui/components/molecules/vc-pagination/vc-pagination.stories.ts +24 -24
  668. package/ui/components/molecules/vc-pagination/vc-pagination.vue +48 -110
  669. package/ui/components/molecules/vc-radio-button/index.ts +1 -1
  670. package/ui/components/molecules/vc-radio-button/vc-radio-button.stories.ts +97 -97
  671. package/ui/components/molecules/vc-radio-button/vc-radio-button.vue +192 -192
  672. package/ui/components/molecules/vc-rating/index.ts +1 -1
  673. package/ui/components/molecules/vc-rating/vc-rating.stories.ts +59 -59
  674. package/ui/components/molecules/vc-select/index.ts +1 -1
  675. package/ui/components/molecules/vc-select/vc-select.stories.ts +685 -685
  676. package/ui/components/molecules/vc-slider/index.ts +13 -13
  677. package/ui/components/molecules/vc-slider/vc-slider.stories.ts +61 -61
  678. package/ui/components/molecules/vc-slider/vc-slider.vue +118 -118
  679. package/ui/components/molecules/vc-textarea/index.ts +1 -1
  680. package/ui/components/molecules/vc-textarea/vc-textarea.stories.ts +53 -53
  681. package/ui/components/molecules/vc-textarea/vc-textarea.vue +151 -151
  682. package/ui/components/organisms/index.ts +7 -7
  683. package/ui/components/organisms/vc-app/_internal/composables/useAppMenuState.ts +49 -0
  684. package/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarContent.vue +47 -0
  685. package/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarHeader.vue +175 -0
  686. package/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/AppBarOverlay.vue +87 -0
  687. package/ui/components/organisms/vc-app/_internal/vc-app-bar/_internal/MenuSidebar.vue +171 -0
  688. package/ui/components/organisms/vc-app/_internal/vc-app-bar/components/app-bar-button/app-bar-button.vue +213 -0
  689. package/ui/components/organisms/vc-app/_internal/vc-app-bar/composables/useAppBarOverlay.ts +78 -0
  690. package/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue +216 -148
  691. package/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue +133 -109
  692. package/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue +80 -128
  693. package/ui/components/organisms/vc-app/composables/useToolbarSlots.ts +37 -0
  694. package/ui/components/organisms/vc-app/index.ts +1 -0
  695. package/ui/components/organisms/vc-app/vc-app.stories.ts +214 -214
  696. package/ui/components/organisms/vc-app/vc-app.vue +105 -90
  697. package/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue +137 -87
  698. 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
  699. 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 +61 -85
  700. 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
  701. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/desktop/vc-blade-toolbar-desktop.vue +182 -0
  702. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/mobile/vc-blade-toolbar-mobile.vue +146 -0
  703. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/vc-blade-toolbar-buttons.vue +32 -0
  704. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue +32 -47
  705. package/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/index.ts +2 -0
  706. package/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/vc-widget-container-desktop.vue +96 -0
  707. package/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/vc-widget-container-mobile.vue +181 -0
  708. package/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/vc-widget-container.vue +113 -0
  709. package/ui/components/organisms/vc-blade/index.ts +1 -1
  710. package/ui/components/organisms/vc-blade/vc-blade.stories.ts +83 -83
  711. package/ui/components/organisms/vc-blade/vc-blade.vue +170 -115
  712. package/ui/components/organisms/vc-dynamic-property/index.ts +1 -1
  713. package/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue +163 -163
  714. package/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue +166 -166
  715. package/ui/components/organisms/vc-gallery/index.ts +1 -1
  716. package/ui/components/organisms/vc-gallery/vc-gallery.stories.ts +91 -91
  717. package/ui/components/organisms/vc-gallery/vc-gallery.vue +348 -348
  718. package/ui/components/organisms/vc-login-form/index.ts +1 -1
  719. package/ui/components/organisms/vc-login-form/vc-login-form.vue +99 -99
  720. package/ui/components/organisms/vc-popup/index.ts +3 -3
  721. package/ui/components/organisms/vc-popup/vc-popup.vue +1 -1
  722. package/ui/components/organisms/vc-table/_internal/vc-table-add-new/vc-table-add-new.vue +63 -63
  723. package/ui/components/organisms/vc-table/_internal/vc-table-base-header/vc-table-base-header.vue +22 -16
  724. package/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue +5 -5
  725. package/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue +2 -1
  726. package/ui/components/organisms/vc-table/_internal/vc-table-counter/vc-table-counter.vue +3 -2
  727. package/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-body/vc-table-body.vue +134 -0
  728. package/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-header/vc-table-header.vue +244 -0
  729. package/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-row/vc-table-row.vue +237 -0
  730. 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
  731. package/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/vc-table-desktop-view.vue +215 -0
  732. package/ui/components/organisms/vc-table/_internal/vc-table-empty/vc-table-empty.vue +1 -1
  733. package/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue +58 -31
  734. package/ui/components/organisms/vc-table/_internal/vc-table-footer/vc-table-footer.vue +70 -0
  735. package/ui/components/organisms/vc-table/_internal/vc-table-header/vc-table-header.vue +106 -0
  736. package/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue +46 -68
  737. package/ui/components/organisms/vc-table/_internal/vc-table-mobile-view/vc-table-mobile-view.vue +343 -0
  738. package/ui/components/organisms/vc-table/_internal/vc-table-select-all/vc-table-select-all.vue +118 -0
  739. package/ui/components/organisms/vc-table/composables/useTableActions.ts +56 -0
  740. package/ui/components/organisms/vc-table/composables/useTableColumnReorder.ts +255 -0
  741. package/ui/components/organisms/vc-table/composables/useTableColumnResize.ts +147 -0
  742. package/ui/components/organisms/vc-table/composables/useTableRowReorder.ts +174 -0
  743. package/ui/components/organisms/vc-table/composables/useTableSelection.ts +118 -0
  744. package/ui/components/organisms/vc-table/composables/useTableState.ts +229 -0
  745. package/ui/components/organisms/vc-table/composables/useTableSwipe.ts +32 -0
  746. package/ui/components/organisms/vc-table/index.ts +1 -1
  747. package/ui/components/organisms/vc-table/types.ts +25 -0
  748. package/ui/components/organisms/vc-table/vc-table.stories.ts +214 -214
  749. package/ui/components/organisms/vc-table/vc-table.vue +271 -1264
  750. package/ui/composables/useVisibleElements.ts +146 -0
  751. package/dist/index-DiJJUsG2.js +0 -243
  752. package/dist/index-PaekRinB.js +0 -312
  753. package/dist/shared/components/app-bar-button/app-bar-button.vue.d.ts.map +0 -1
  754. package/dist/shared/components/app-bar-button/index.d.ts +0 -2
  755. package/dist/shared/components/app-bar-button/index.d.ts.map +0 -1
  756. package/dist/shared/components/blade-navigation/injectionKeys.d.ts +0 -4
  757. package/dist/shared/components/blade-navigation/injectionKeys.d.ts.map +0 -1
  758. 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
  759. package/shared/components/app-bar-button/app-bar-button.vue +0 -169
  760. package/shared/components/app-bar-button/index.ts +0 -1
  761. package/shared/components/blade-navigation/injectionKeys.ts +0 -4
@@ -1,685 +1,685 @@
1
- import type { Meta, StoryFn } from "@storybook/vue3";
2
- import { VcSelect } from "./";
3
- import { ref } from "vue";
4
-
5
- export default {
6
- title: "molecules/VcSelect",
7
- component: VcSelect as Record<keyof typeof VcSelect, unknown>,
8
- args: {
9
- label: "Select",
10
- placeholder: "Select an option",
11
- },
12
- argTypes: {
13
- options: {
14
- description: `Method that is used to get select options.
15
- Method should be defined in the blade \`scope\` and could be:
16
- \n1) async method with the following arguments: (\`keyword: string\`, \`skip\`, \`ids?: string[]\`).
17
- \n2) any array
18
- \n3) composable returning array`,
19
- table: {
20
- type: {
21
- summary: "((keyword?: string, skip?: number, ids?: string[]) => Promise<P>) | T[]",
22
- },
23
- },
24
- },
25
- optionValue: {
26
- description: "Property which holds the `value`",
27
- control: "text",
28
- table: {
29
- type: {
30
- summary: "string",
31
- },
32
- defaultValue: {
33
- summary: "id",
34
- },
35
- },
36
- },
37
- optionLabel: {
38
- description: "Property which holds the `label`",
39
- control: "text",
40
- table: {
41
- type: {
42
- summary: "string",
43
- },
44
- defaultValue: {
45
- summary: "title",
46
- },
47
- },
48
- },
49
- debounce: {
50
- control: "number",
51
- },
52
- clearable: {
53
- description: "Whether the select is clearable or not.",
54
- control: "boolean",
55
- table: {
56
- type: {
57
- summary: "boolean",
58
- },
59
- defaultValue: {
60
- summary: false,
61
- },
62
- },
63
- },
64
- emitValue: {
65
- description: `Update model with the value of the selected option instead of the whole option.
66
- \n Example:
67
- \nIf emitValue is \`true\` and the selected option is { id: 1, title: "Option 1" }, the model will be updated with 1.
68
- \nIf emitValue is \`false\`, the model will be updated with the whole option.`,
69
- table: {
70
- type: {
71
- summary: "boolean",
72
- },
73
- defaultValue: {
74
- summary: "true",
75
- },
76
- },
77
- },
78
- searchable: {
79
- description: "Whether the select is searchable or not.",
80
- table: {
81
- type: {
82
- summary: "boolean",
83
- },
84
- defaultValue: {
85
- summary: false,
86
- },
87
- },
88
- },
89
- multiple: {
90
- description: "Select multiple values.",
91
- table: {
92
- type: {
93
- summary: "boolean",
94
- },
95
- defaultValue: {
96
- summary: false,
97
- },
98
- },
99
- },
100
- },
101
- } satisfies Meta<typeof VcSelect>;
102
-
103
- export const ObjectArrayOptions: StoryFn<typeof VcSelect> = (args) => ({
104
- components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
105
- setup() {
106
- const val = ref();
107
- return { args, val };
108
- },
109
- template: `<VcSelect
110
- v-bind="args"
111
- v-model="val"
112
- :options="[
113
- { title: 'Option 1', label: 'Option 1' },
114
- { title: 'Option 2', label: 'Option 2' },
115
- { title: 'Option 3', label: 'Option 3' },
116
- ]"
117
- optionLabel="label"
118
- optionValue="title"
119
- ></VcSelect>`,
120
- });
121
-
122
- export const StringArrayOptions: StoryFn<typeof VcSelect> = (args) => ({
123
- components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
124
- setup() {
125
- const val = ref();
126
- return { args, val };
127
- },
128
- template: `<VcSelect v-bind="args" v-model="val" :options="['Option 1', 'Option 2', 'Option 3']"></VcSelect>`,
129
- });
130
-
131
- export const AsyncOptions: StoryFn<typeof VcSelect> = (args) => ({
132
- components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
133
- setup() {
134
- const val = ref();
135
- const getItems = async () =>
136
- new Promise((resolve) => {
137
- setTimeout(() => {
138
- resolve({
139
- results: [
140
- { title: "Option 1", label: "Option 1" },
141
- { title: "Option 2", label: "Option 2" },
142
- { title: "Option 3", label: "Option 3" },
143
- ],
144
- totalCount: 3,
145
- });
146
- }, 1000);
147
- });
148
- return { args, val, getItems };
149
- },
150
-
151
- template: `
152
- <VcSelect
153
- v-bind="args"
154
- v-model="val"
155
- :options="getItems"
156
- optionLabel="label"
157
- optionValue="title"
158
- ></VcSelect>`,
159
- });
160
-
161
- export const EmitValueTrueProp: StoryFn<typeof VcSelect> = (args) => ({
162
- components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
163
- setup() {
164
- const val = ref("Option 1");
165
- return { args, val };
166
- },
167
-
168
- template: `
169
- <div>
170
- <VcSelect
171
- v-bind="args"
172
- v-model="val"
173
- :options="[
174
- { title: 'Option 1', label: 'Option 1 label' },
175
- { title: 'Option 2', label: 'Option 2 label' },
176
- { title: 'Option 3', label: 'Option 3 label' },
177
- ]"
178
- optionLabel="label"
179
- optionValue="title"
180
- ></VcSelect>
181
-
182
- <p>Selected value: {{val}}</p>
183
- </div>`,
184
- });
185
- EmitValueTrueProp.parameters = {
186
- docs: {
187
- description: {
188
- story: "The default emitValue === <b>true</b> returns the value of key defined in optionValue",
189
- },
190
- },
191
- };
192
-
193
- export const EmitValueFalseProp: StoryFn<typeof VcSelect> = (args) => ({
194
- components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
195
- setup() {
196
- const val = ref({ title: "Option 1", label: "Option 1 label" });
197
- return { args, val };
198
- },
199
-
200
- template: `
201
- <div>
202
- <VcSelect
203
- v-bind="args"
204
- v-model="val"
205
- :emit-value="false"
206
- :options="[
207
- { title: 'Option 1', label: 'Option 1 label' },
208
- { title: 'Option 2', label: 'Option 2 label' },
209
- { title: 'Option 3', label: 'Option 3 label' },
210
- ]"
211
- optionLabel="label"
212
- optionValue="title"
213
- ></VcSelect>
214
-
215
- <p>Selected value: {{val}}</p>
216
- </div>`,
217
- });
218
- EmitValueFalseProp.parameters = {
219
- docs: {
220
- description: {
221
- story: "emitValue === <b>false</b> returns the complete object as the result",
222
- },
223
- },
224
- };
225
-
226
- export const MapOptionsTrueProp: StoryFn<typeof VcSelect> = (args) => ({
227
- components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
228
- setup() {
229
- const val = ref("Option 1 title");
230
- return { args, val };
231
- },
232
-
233
- template: `
234
- <div>
235
- <VcSelect
236
- v-bind="args"
237
- v-model="val"
238
- :options="[
239
- { title: 'Option 1 title', label: 'Option 1 label' },
240
- { title: 'Option 2 title', label: 'Option 2 label' },
241
- { title: 'Option 3 title', label: 'Option 3 label' },
242
- ]"
243
- optionLabel="label"
244
- optionValue="title"
245
- ></VcSelect>
246
-
247
- <p>Selected value: {{val}}</p>
248
- </div>`,
249
- });
250
- MapOptionsTrueProp.parameters = {
251
- docs: {
252
- description: {
253
- story:
254
- "The default mapOptions === <b>true</b> maps map labels of model from 'options' Array. If you are using emit-value you will probably need to use map-options to display the label text in the select field rather than the value.",
255
- },
256
- },
257
- };
258
-
259
- export const MapOptionsFalseProp: StoryFn<typeof VcSelect> = (args) => ({
260
- components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
261
- setup() {
262
- const val = ref("Option 1 title");
263
- return { args, val };
264
- },
265
-
266
- template: `
267
- <div>
268
- <VcSelect
269
- v-bind="args"
270
- v-model="val"
271
- :map-options="false"
272
- :options="[
273
- { title: 'Option 1 title', label: 'Option 1 label' },
274
- { title: 'Option 2 title', label: 'Option 2 label' },
275
- { title: 'Option 3 title', label: 'Option 3 label' },
276
- ]"
277
- optionLabel="label"
278
- optionValue="title"
279
- ></VcSelect>
280
-
281
- <p>Selected value: {{val}}</p>
282
- </div>`,
283
- });
284
- MapOptionsFalseProp.parameters = {
285
- docs: {
286
- description: {
287
- story: "mapOptions === <b>false</b> will not map labels of model from 'options' Array.",
288
- },
289
- },
290
- };
291
-
292
- export const Error = ObjectArrayOptions.bind({});
293
- Error.args = {
294
- error: true,
295
- errorMessage: "Some error message",
296
- };
297
-
298
- export const Tooltip = ObjectArrayOptions.bind({});
299
- Tooltip.args = {
300
- tooltip: "Some tooltip",
301
- };
302
-
303
- export const Disabled = ObjectArrayOptions.bind({});
304
- Disabled.args = {
305
- disabled: true,
306
- };
307
-
308
- export const SearchableInput = ObjectArrayOptions.bind({});
309
- SearchableInput.args = {
310
- searchable: true,
311
- };
312
-
313
- export const SearchableInputCustomDebounce = SearchableInput.bind({});
314
- SearchableInputCustomDebounce.args = {
315
- searchable: true,
316
- debounce: 2000,
317
- };
318
-
319
- export const Required = ObjectArrayOptions.bind({});
320
- Required.args = {
321
- required: true,
322
- };
323
-
324
- export const MultipleSelect: StoryFn<typeof VcSelect> = (args) => ({
325
- components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
326
- setup() {
327
- const val = ref([
328
- { title: "Option 1", label: "Option 1" },
329
- { title: "Option 2", label: "Option 2" },
330
- ]);
331
- return { args, val };
332
- },
333
-
334
- template: `
335
- <VcSelect
336
- v-bind="args"
337
- v-model="val"
338
- multiple
339
- :options="[
340
- { title: 'Option 1', label: 'Option 1' },
341
- { title: 'Option 2', label: 'Option 2' },
342
- { title: 'Option 3', label: 'Option 3' },
343
- ]"
344
- optionLabel="label"
345
- optionValue="title"
346
- ></VcSelect>`,
347
- });
348
-
349
- export const NotClearable: StoryFn<typeof VcSelect> = (args) => ({
350
- components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
351
- setup() {
352
- const val = ref("Option 1");
353
- return { args, val };
354
- },
355
- template: `<VcSelect
356
- v-bind="args"
357
- v-model="val"
358
- :clearable="false"
359
- :options="[
360
- { title: 'Option 1', label: 'Option 1' },
361
- { title: 'Option 2', label: 'Option 2' },
362
- { title: 'Option 3', label: 'Option 3' },
363
- ]"
364
- optionLabel="label"
365
- optionValue="title"
366
- ></VcSelect>`,
367
- });
368
-
369
- export const Loading = ObjectArrayOptions.bind({});
370
- Loading.args = {
371
- loading: true,
372
- };
373
-
374
- export const Prefix = ObjectArrayOptions.bind({});
375
- Prefix.args = {
376
- prefix: "prefix",
377
- };
378
-
379
- export const Suffix = ObjectArrayOptions.bind({});
380
- Suffix.args = {
381
- suffix: "suffix",
382
- };
383
-
384
- export const Hint = ObjectArrayOptions.bind({});
385
- Hint.args = {
386
- hint: "Some hint",
387
- };
388
-
389
- export const CustomSelectControlSlot: StoryFn<typeof VcSelect> = (args) => ({
390
- components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
391
- setup() {
392
- const val = ref();
393
- return { args, val };
394
- },
395
- template: `<VcSelect
396
- v-bind="args"
397
- v-model="val"
398
- :options="[
399
- { title: 'Option 1', label: 'Option 1' },
400
- { title: 'Option 2', label: 'Option 2' },
401
- { title: 'Option 3', label: 'Option 3' },
402
- ]"
403
- optionLabel="label"
404
- optionValue="title"
405
- customSelectControl
406
- >
407
- <template #control="scope">
408
- <VcButton @click="scope.toggleHandler" class="tw-w-full">Custom control</VcButton>
409
- </template>
410
- </VcSelect>`,
411
- });
412
- CustomSelectControlSlot.parameters = {
413
- docs: {
414
- description: {
415
- story: `
416
- "control": (scope: {
417
- /**
418
- * Toggle dropdown handler
419
- */
420
- toggleHandler: () => void;
421
- }) => any;`,
422
- },
423
- },
424
- };
425
-
426
- export const CustomPrependInnerSlot: StoryFn<typeof VcSelect> = (args) => ({
427
- components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
428
- setup() {
429
- const val = ref();
430
- return { args, val };
431
- },
432
- template: `<VcSelect
433
- v-bind="args"
434
- v-model="val"
435
- :options="[
436
- { title: 'Option 1', label: 'Option 1' },
437
- { title: 'Option 2', label: 'Option 2' },
438
- { title: 'Option 3', label: 'Option 3' },
439
- ]"
440
- optionLabel="label"
441
- optionValue="title"
442
- customPrependInner
443
- >
444
- <template #prepend-inner>
445
- <VcButton>Action</VcButton>
446
- </template>
447
- </VcSelect>`,
448
- });
449
-
450
- export const CustomAppendInnerSlot: StoryFn<typeof VcSelect> = (args) => ({
451
- components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
452
- setup() {
453
- const val = ref();
454
- return { args, val };
455
- },
456
- template: `<VcSelect
457
- v-bind="args"
458
- v-model="val"
459
- :options="[
460
- { title: 'Option 1', label: 'Option 1' },
461
- { title: 'Option 2', label: 'Option 2' },
462
- { title: 'Option 3', label: 'Option 3' },
463
- ]"
464
- optionLabel="label"
465
- optionValue="title"
466
- customAppendInner
467
- >
468
- <template #append-inner>
469
- <VcButton>Action</VcButton>
470
- </template>
471
- </VcSelect>`,
472
- });
473
-
474
- export const CustomPrependSlot: StoryFn<typeof VcSelect> = (args) => ({
475
- components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
476
- setup() {
477
- const val = ref();
478
- return { args, val };
479
- },
480
- template: `<VcSelect
481
- v-bind="args"
482
- v-model="val"
483
- :options="[
484
- { title: 'Option 1', label: 'Option 1' },
485
- { title: 'Option 2', label: 'Option 2' },
486
- { title: 'Option 3', label: 'Option 3' },
487
- ]"
488
- optionLabel="label"
489
- optionValue="title"
490
- customPrepend
491
- >
492
- <template #prepend>
493
- <VcButton>Action</VcButton>
494
- </template>
495
- </VcSelect>`,
496
- });
497
-
498
- export const CustomAppendSlot: StoryFn<typeof VcSelect> = (args) => ({
499
- components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
500
- setup() {
501
- const val = ref();
502
- return { args, val };
503
- },
504
- template: `<VcSelect
505
- v-bind="args"
506
- v-model="val"
507
- :options="[
508
- { title: 'Option 1', label: 'Option 1' },
509
- { title: 'Option 2', label: 'Option 2' },
510
- { title: 'Option 3', label: 'Option 3' },
511
- ]"
512
- optionLabel="label"
513
- optionValue="title"
514
- customAppend
515
- >
516
- <template #append>
517
- <VcButton>Action</VcButton>
518
- </template>
519
- </VcSelect>`,
520
- });
521
-
522
- export const CustomNoOptionsSlot: StoryFn<typeof VcSelect> = (args) => ({
523
- components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
524
- setup() {
525
- const val = ref();
526
- return { args, val };
527
- },
528
- template: `<VcSelect
529
- v-bind="args"
530
- v-model="val"
531
- :options="[]"
532
- optionLabel="label"
533
- optionValue="title"
534
- customNoOptions
535
- >
536
- <template #no-options>
537
- <h2 class="tw-font-bold">I'm custom slot!</h2>
538
- <p>Please try again later</p>
539
- </template>
540
- </VcSelect>`,
541
- });
542
-
543
- export const CustomErrorSlot: StoryFn<typeof VcSelect> = (args) => ({
544
- components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
545
- setup() {
546
- const val = ref();
547
- return { args, val };
548
- },
549
- template: `<VcSelect
550
- v-bind="args"
551
- v-model="val"
552
- :options="[]"
553
- optionLabel="label"
554
- optionValue="title"
555
- error
556
- customError
557
- >
558
- <template #error>
559
- <p class="tw-font-bold">I'm custom error message!</p>
560
- </template>
561
- </VcSelect>`,
562
- });
563
-
564
- export const CustomHintSlot: StoryFn<typeof VcSelect> = (args) => ({
565
- components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
566
- setup() {
567
- const val = ref();
568
- return { args, val };
569
- },
570
- template: `<VcSelect
571
- v-bind="args"
572
- v-model="val"
573
- :options="[]"
574
- optionLabel="label"
575
- optionValue="title"
576
- customHint
577
- >
578
- <template #hint>
579
- <p class="tw-font-bold">I'm custom hint message!</p>
580
- </template>
581
- </VcSelect>`,
582
- });
583
-
584
- export const CustomSelectedOptionSlot: StoryFn<typeof VcSelect> = (args) => ({
585
- components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
586
- setup() {
587
- const val = ref("Option 1");
588
- return { args, val };
589
- },
590
- template: `<VcSelect
591
- v-bind="args"
592
- v-model="val"
593
- :options="[
594
- { title: 'Option 1', label: 'Option 1' },
595
- { title: 'Option 2', label: 'Option 2' },
596
- { title: 'Option 3', label: 'Option 3' },
597
- ]"
598
- optionLabel="label"
599
- optionValue="title"
600
- >
601
- <template #selected-item="{ opt }">
602
-
603
- <VcIcon class="tw-mr-2 tw-text-green-300" icon="fas fa-check" />
604
- <p>{{opt.label}}</p>
605
-
606
- </template>
607
- </VcSelect>`,
608
- });
609
- CustomSelectedOptionSlot.parameters = {
610
- docs: {
611
- description: {
612
- story: `
613
- "selected-item": (scope: {
614
- /**
615
- * Selection index
616
- */
617
- index: number;
618
- /**
619
- * Selected option -- its value is taken from model
620
- */
621
- opt: Option;
622
- /**
623
- * Always true -- passed as prop
624
- */
625
- selected: boolean;
626
- /**
627
- * Remove selected option located at specific index
628
- * @param index Index at which to remove selection
629
- */
630
- removeAtIndex: (index: number) => void;
631
- }) => any;`,
632
- },
633
- },
634
- };
635
-
636
- export const CustomListOptionSlot: StoryFn<typeof VcSelect> = (args) => ({
637
- components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
638
- setup() {
639
- const val = ref("Option 1");
640
- return { args, val };
641
- },
642
- template: `<VcSelect
643
- v-bind="args"
644
- v-model="val"
645
- :options="[
646
- { title: 'Option 1', label: 'Option 1' },
647
- { title: 'Option 2', label: 'Option 2' },
648
- { title: 'Option 3', label: 'Option 3' },
649
- ]"
650
- optionLabel="label"
651
- optionValue="title"
652
- >
653
- <template #option="{ opt }">
654
- <VcIcon class="tw-mr-2 tw-text-green-300" icon="fas fa-check" />
655
- <p>{{opt.label}}</p>
656
- </template>
657
- </VcSelect>`,
658
- });
659
- CustomListOptionSlot.parameters = {
660
- docs: {
661
- description: {
662
- story: `
663
- option: (scope: {
664
- /**
665
- * Option index
666
- */
667
- index: number;
668
- /**
669
- * Option -- its value is taken from 'options' prop
670
- */
671
- opt: Option;
672
- /**
673
- * Is option selected
674
- */
675
- selected: boolean;
676
- /**
677
- * Add/remove option from model
678
- * @param opt Option to add to model
679
- */
680
- toggleOption: (opt: any) => void;
681
- }) => any;
682
- `,
683
- },
684
- },
685
- };
1
+ import type { Meta, StoryFn } from "@storybook/vue3";
2
+ import { VcSelect } from "./";
3
+ import { ref } from "vue";
4
+
5
+ export default {
6
+ title: "molecules/VcSelect",
7
+ component: VcSelect as Record<keyof typeof VcSelect, unknown>,
8
+ args: {
9
+ label: "Select",
10
+ placeholder: "Select an option",
11
+ },
12
+ argTypes: {
13
+ options: {
14
+ description: `Method that is used to get select options.
15
+ Method should be defined in the blade \`scope\` and could be:
16
+ \n1) async method with the following arguments: (\`keyword: string\`, \`skip\`, \`ids?: string[]\`).
17
+ \n2) any array
18
+ \n3) composable returning array`,
19
+ table: {
20
+ type: {
21
+ summary: "((keyword?: string, skip?: number, ids?: string[]) => Promise<P>) | T[]",
22
+ },
23
+ },
24
+ },
25
+ optionValue: {
26
+ description: "Property which holds the `value`",
27
+ control: "text",
28
+ table: {
29
+ type: {
30
+ summary: "string",
31
+ },
32
+ defaultValue: {
33
+ summary: "id",
34
+ },
35
+ },
36
+ },
37
+ optionLabel: {
38
+ description: "Property which holds the `label`",
39
+ control: "text",
40
+ table: {
41
+ type: {
42
+ summary: "string",
43
+ },
44
+ defaultValue: {
45
+ summary: "title",
46
+ },
47
+ },
48
+ },
49
+ debounce: {
50
+ control: "number",
51
+ },
52
+ clearable: {
53
+ description: "Whether the select is clearable or not.",
54
+ control: "boolean",
55
+ table: {
56
+ type: {
57
+ summary: "boolean",
58
+ },
59
+ defaultValue: {
60
+ summary: false,
61
+ },
62
+ },
63
+ },
64
+ emitValue: {
65
+ description: `Update model with the value of the selected option instead of the whole option.
66
+ \n Example:
67
+ \nIf emitValue is \`true\` and the selected option is { id: 1, title: "Option 1" }, the model will be updated with 1.
68
+ \nIf emitValue is \`false\`, the model will be updated with the whole option.`,
69
+ table: {
70
+ type: {
71
+ summary: "boolean",
72
+ },
73
+ defaultValue: {
74
+ summary: "true",
75
+ },
76
+ },
77
+ },
78
+ searchable: {
79
+ description: "Whether the select is searchable or not.",
80
+ table: {
81
+ type: {
82
+ summary: "boolean",
83
+ },
84
+ defaultValue: {
85
+ summary: false,
86
+ },
87
+ },
88
+ },
89
+ multiple: {
90
+ description: "Select multiple values.",
91
+ table: {
92
+ type: {
93
+ summary: "boolean",
94
+ },
95
+ defaultValue: {
96
+ summary: false,
97
+ },
98
+ },
99
+ },
100
+ },
101
+ } satisfies Meta<typeof VcSelect>;
102
+
103
+ export const ObjectArrayOptions: StoryFn<typeof VcSelect> = (args) => ({
104
+ components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
105
+ setup() {
106
+ const val = ref();
107
+ return { args, val };
108
+ },
109
+ template: `<VcSelect
110
+ v-bind="args"
111
+ v-model="val"
112
+ :options="[
113
+ { title: 'Option 1', label: 'Option 1' },
114
+ { title: 'Option 2', label: 'Option 2' },
115
+ { title: 'Option 3', label: 'Option 3' },
116
+ ]"
117
+ optionLabel="label"
118
+ optionValue="title"
119
+ ></VcSelect>`,
120
+ });
121
+
122
+ export const StringArrayOptions: StoryFn<typeof VcSelect> = (args) => ({
123
+ components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
124
+ setup() {
125
+ const val = ref();
126
+ return { args, val };
127
+ },
128
+ template: `<VcSelect v-bind="args" v-model="val" :options="['Option 1', 'Option 2', 'Option 3']"></VcSelect>`,
129
+ });
130
+
131
+ export const AsyncOptions: StoryFn<typeof VcSelect> = (args) => ({
132
+ components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
133
+ setup() {
134
+ const val = ref();
135
+ const getItems = async () =>
136
+ new Promise((resolve) => {
137
+ setTimeout(() => {
138
+ resolve({
139
+ results: [
140
+ { title: "Option 1", label: "Option 1" },
141
+ { title: "Option 2", label: "Option 2" },
142
+ { title: "Option 3", label: "Option 3" },
143
+ ],
144
+ totalCount: 3,
145
+ });
146
+ }, 1000);
147
+ });
148
+ return { args, val, getItems };
149
+ },
150
+
151
+ template: `
152
+ <VcSelect
153
+ v-bind="args"
154
+ v-model="val"
155
+ :options="getItems"
156
+ optionLabel="label"
157
+ optionValue="title"
158
+ ></VcSelect>`,
159
+ });
160
+
161
+ export const EmitValueTrueProp: StoryFn<typeof VcSelect> = (args) => ({
162
+ components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
163
+ setup() {
164
+ const val = ref("Option 1");
165
+ return { args, val };
166
+ },
167
+
168
+ template: `
169
+ <div>
170
+ <VcSelect
171
+ v-bind="args"
172
+ v-model="val"
173
+ :options="[
174
+ { title: 'Option 1', label: 'Option 1 label' },
175
+ { title: 'Option 2', label: 'Option 2 label' },
176
+ { title: 'Option 3', label: 'Option 3 label' },
177
+ ]"
178
+ optionLabel="label"
179
+ optionValue="title"
180
+ ></VcSelect>
181
+
182
+ <p>Selected value: {{val}}</p>
183
+ </div>`,
184
+ });
185
+ EmitValueTrueProp.parameters = {
186
+ docs: {
187
+ description: {
188
+ story: "The default emitValue === <b>true</b> returns the value of key defined in optionValue",
189
+ },
190
+ },
191
+ };
192
+
193
+ export const EmitValueFalseProp: StoryFn<typeof VcSelect> = (args) => ({
194
+ components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
195
+ setup() {
196
+ const val = ref({ title: "Option 1", label: "Option 1 label" });
197
+ return { args, val };
198
+ },
199
+
200
+ template: `
201
+ <div>
202
+ <VcSelect
203
+ v-bind="args"
204
+ v-model="val"
205
+ :emit-value="false"
206
+ :options="[
207
+ { title: 'Option 1', label: 'Option 1 label' },
208
+ { title: 'Option 2', label: 'Option 2 label' },
209
+ { title: 'Option 3', label: 'Option 3 label' },
210
+ ]"
211
+ optionLabel="label"
212
+ optionValue="title"
213
+ ></VcSelect>
214
+
215
+ <p>Selected value: {{val}}</p>
216
+ </div>`,
217
+ });
218
+ EmitValueFalseProp.parameters = {
219
+ docs: {
220
+ description: {
221
+ story: "emitValue === <b>false</b> returns the complete object as the result",
222
+ },
223
+ },
224
+ };
225
+
226
+ export const MapOptionsTrueProp: StoryFn<typeof VcSelect> = (args) => ({
227
+ components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
228
+ setup() {
229
+ const val = ref("Option 1 title");
230
+ return { args, val };
231
+ },
232
+
233
+ template: `
234
+ <div>
235
+ <VcSelect
236
+ v-bind="args"
237
+ v-model="val"
238
+ :options="[
239
+ { title: 'Option 1 title', label: 'Option 1 label' },
240
+ { title: 'Option 2 title', label: 'Option 2 label' },
241
+ { title: 'Option 3 title', label: 'Option 3 label' },
242
+ ]"
243
+ optionLabel="label"
244
+ optionValue="title"
245
+ ></VcSelect>
246
+
247
+ <p>Selected value: {{val}}</p>
248
+ </div>`,
249
+ });
250
+ MapOptionsTrueProp.parameters = {
251
+ docs: {
252
+ description: {
253
+ story:
254
+ "The default mapOptions === <b>true</b> maps map labels of model from 'options' Array. If you are using emit-value you will probably need to use map-options to display the label text in the select field rather than the value.",
255
+ },
256
+ },
257
+ };
258
+
259
+ export const MapOptionsFalseProp: StoryFn<typeof VcSelect> = (args) => ({
260
+ components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
261
+ setup() {
262
+ const val = ref("Option 1 title");
263
+ return { args, val };
264
+ },
265
+
266
+ template: `
267
+ <div>
268
+ <VcSelect
269
+ v-bind="args"
270
+ v-model="val"
271
+ :map-options="false"
272
+ :options="[
273
+ { title: 'Option 1 title', label: 'Option 1 label' },
274
+ { title: 'Option 2 title', label: 'Option 2 label' },
275
+ { title: 'Option 3 title', label: 'Option 3 label' },
276
+ ]"
277
+ optionLabel="label"
278
+ optionValue="title"
279
+ ></VcSelect>
280
+
281
+ <p>Selected value: {{val}}</p>
282
+ </div>`,
283
+ });
284
+ MapOptionsFalseProp.parameters = {
285
+ docs: {
286
+ description: {
287
+ story: "mapOptions === <b>false</b> will not map labels of model from 'options' Array.",
288
+ },
289
+ },
290
+ };
291
+
292
+ export const Error = ObjectArrayOptions.bind({});
293
+ Error.args = {
294
+ error: true,
295
+ errorMessage: "Some error message",
296
+ };
297
+
298
+ export const Tooltip = ObjectArrayOptions.bind({});
299
+ Tooltip.args = {
300
+ tooltip: "Some tooltip",
301
+ };
302
+
303
+ export const Disabled = ObjectArrayOptions.bind({});
304
+ Disabled.args = {
305
+ disabled: true,
306
+ };
307
+
308
+ export const SearchableInput = ObjectArrayOptions.bind({});
309
+ SearchableInput.args = {
310
+ searchable: true,
311
+ };
312
+
313
+ export const SearchableInputCustomDebounce = SearchableInput.bind({});
314
+ SearchableInputCustomDebounce.args = {
315
+ searchable: true,
316
+ debounce: 2000,
317
+ };
318
+
319
+ export const Required = ObjectArrayOptions.bind({});
320
+ Required.args = {
321
+ required: true,
322
+ };
323
+
324
+ export const MultipleSelect: StoryFn<typeof VcSelect> = (args) => ({
325
+ components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
326
+ setup() {
327
+ const val = ref([
328
+ { title: "Option 1", label: "Option 1" },
329
+ { title: "Option 2", label: "Option 2" },
330
+ ]);
331
+ return { args, val };
332
+ },
333
+
334
+ template: `
335
+ <VcSelect
336
+ v-bind="args"
337
+ v-model="val"
338
+ multiple
339
+ :options="[
340
+ { title: 'Option 1', label: 'Option 1' },
341
+ { title: 'Option 2', label: 'Option 2' },
342
+ { title: 'Option 3', label: 'Option 3' },
343
+ ]"
344
+ optionLabel="label"
345
+ optionValue="title"
346
+ ></VcSelect>`,
347
+ });
348
+
349
+ export const NotClearable: StoryFn<typeof VcSelect> = (args) => ({
350
+ components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
351
+ setup() {
352
+ const val = ref("Option 1");
353
+ return { args, val };
354
+ },
355
+ template: `<VcSelect
356
+ v-bind="args"
357
+ v-model="val"
358
+ :clearable="false"
359
+ :options="[
360
+ { title: 'Option 1', label: 'Option 1' },
361
+ { title: 'Option 2', label: 'Option 2' },
362
+ { title: 'Option 3', label: 'Option 3' },
363
+ ]"
364
+ optionLabel="label"
365
+ optionValue="title"
366
+ ></VcSelect>`,
367
+ });
368
+
369
+ export const Loading = ObjectArrayOptions.bind({});
370
+ Loading.args = {
371
+ loading: true,
372
+ };
373
+
374
+ export const Prefix = ObjectArrayOptions.bind({});
375
+ Prefix.args = {
376
+ prefix: "prefix",
377
+ };
378
+
379
+ export const Suffix = ObjectArrayOptions.bind({});
380
+ Suffix.args = {
381
+ suffix: "suffix",
382
+ };
383
+
384
+ export const Hint = ObjectArrayOptions.bind({});
385
+ Hint.args = {
386
+ hint: "Some hint",
387
+ };
388
+
389
+ export const CustomSelectControlSlot: StoryFn<typeof VcSelect> = (args) => ({
390
+ components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
391
+ setup() {
392
+ const val = ref();
393
+ return { args, val };
394
+ },
395
+ template: `<VcSelect
396
+ v-bind="args"
397
+ v-model="val"
398
+ :options="[
399
+ { title: 'Option 1', label: 'Option 1' },
400
+ { title: 'Option 2', label: 'Option 2' },
401
+ { title: 'Option 3', label: 'Option 3' },
402
+ ]"
403
+ optionLabel="label"
404
+ optionValue="title"
405
+ customSelectControl
406
+ >
407
+ <template #control="scope">
408
+ <VcButton @click="scope.toggleHandler" class="tw-w-full">Custom control</VcButton>
409
+ </template>
410
+ </VcSelect>`,
411
+ });
412
+ CustomSelectControlSlot.parameters = {
413
+ docs: {
414
+ description: {
415
+ story: `
416
+ "control": (scope: {
417
+ /**
418
+ * Toggle dropdown handler
419
+ */
420
+ toggleHandler: () => void;
421
+ }) => any;`,
422
+ },
423
+ },
424
+ };
425
+
426
+ export const CustomPrependInnerSlot: StoryFn<typeof VcSelect> = (args) => ({
427
+ components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
428
+ setup() {
429
+ const val = ref();
430
+ return { args, val };
431
+ },
432
+ template: `<VcSelect
433
+ v-bind="args"
434
+ v-model="val"
435
+ :options="[
436
+ { title: 'Option 1', label: 'Option 1' },
437
+ { title: 'Option 2', label: 'Option 2' },
438
+ { title: 'Option 3', label: 'Option 3' },
439
+ ]"
440
+ optionLabel="label"
441
+ optionValue="title"
442
+ customPrependInner
443
+ >
444
+ <template #prepend-inner>
445
+ <VcButton>Action</VcButton>
446
+ </template>
447
+ </VcSelect>`,
448
+ });
449
+
450
+ export const CustomAppendInnerSlot: StoryFn<typeof VcSelect> = (args) => ({
451
+ components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
452
+ setup() {
453
+ const val = ref();
454
+ return { args, val };
455
+ },
456
+ template: `<VcSelect
457
+ v-bind="args"
458
+ v-model="val"
459
+ :options="[
460
+ { title: 'Option 1', label: 'Option 1' },
461
+ { title: 'Option 2', label: 'Option 2' },
462
+ { title: 'Option 3', label: 'Option 3' },
463
+ ]"
464
+ optionLabel="label"
465
+ optionValue="title"
466
+ customAppendInner
467
+ >
468
+ <template #append-inner>
469
+ <VcButton>Action</VcButton>
470
+ </template>
471
+ </VcSelect>`,
472
+ });
473
+
474
+ export const CustomPrependSlot: StoryFn<typeof VcSelect> = (args) => ({
475
+ components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
476
+ setup() {
477
+ const val = ref();
478
+ return { args, val };
479
+ },
480
+ template: `<VcSelect
481
+ v-bind="args"
482
+ v-model="val"
483
+ :options="[
484
+ { title: 'Option 1', label: 'Option 1' },
485
+ { title: 'Option 2', label: 'Option 2' },
486
+ { title: 'Option 3', label: 'Option 3' },
487
+ ]"
488
+ optionLabel="label"
489
+ optionValue="title"
490
+ customPrepend
491
+ >
492
+ <template #prepend>
493
+ <VcButton>Action</VcButton>
494
+ </template>
495
+ </VcSelect>`,
496
+ });
497
+
498
+ export const CustomAppendSlot: StoryFn<typeof VcSelect> = (args) => ({
499
+ components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
500
+ setup() {
501
+ const val = ref();
502
+ return { args, val };
503
+ },
504
+ template: `<VcSelect
505
+ v-bind="args"
506
+ v-model="val"
507
+ :options="[
508
+ { title: 'Option 1', label: 'Option 1' },
509
+ { title: 'Option 2', label: 'Option 2' },
510
+ { title: 'Option 3', label: 'Option 3' },
511
+ ]"
512
+ optionLabel="label"
513
+ optionValue="title"
514
+ customAppend
515
+ >
516
+ <template #append>
517
+ <VcButton>Action</VcButton>
518
+ </template>
519
+ </VcSelect>`,
520
+ });
521
+
522
+ export const CustomNoOptionsSlot: StoryFn<typeof VcSelect> = (args) => ({
523
+ components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
524
+ setup() {
525
+ const val = ref();
526
+ return { args, val };
527
+ },
528
+ template: `<VcSelect
529
+ v-bind="args"
530
+ v-model="val"
531
+ :options="[]"
532
+ optionLabel="label"
533
+ optionValue="title"
534
+ customNoOptions
535
+ >
536
+ <template #no-options>
537
+ <h2 class="tw-font-bold">I'm custom slot!</h2>
538
+ <p>Please try again later</p>
539
+ </template>
540
+ </VcSelect>`,
541
+ });
542
+
543
+ export const CustomErrorSlot: StoryFn<typeof VcSelect> = (args) => ({
544
+ components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
545
+ setup() {
546
+ const val = ref();
547
+ return { args, val };
548
+ },
549
+ template: `<VcSelect
550
+ v-bind="args"
551
+ v-model="val"
552
+ :options="[]"
553
+ optionLabel="label"
554
+ optionValue="title"
555
+ error
556
+ customError
557
+ >
558
+ <template #error>
559
+ <p class="tw-font-bold">I'm custom error message!</p>
560
+ </template>
561
+ </VcSelect>`,
562
+ });
563
+
564
+ export const CustomHintSlot: StoryFn<typeof VcSelect> = (args) => ({
565
+ components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
566
+ setup() {
567
+ const val = ref();
568
+ return { args, val };
569
+ },
570
+ template: `<VcSelect
571
+ v-bind="args"
572
+ v-model="val"
573
+ :options="[]"
574
+ optionLabel="label"
575
+ optionValue="title"
576
+ customHint
577
+ >
578
+ <template #hint>
579
+ <p class="tw-font-bold">I'm custom hint message!</p>
580
+ </template>
581
+ </VcSelect>`,
582
+ });
583
+
584
+ export const CustomSelectedOptionSlot: StoryFn<typeof VcSelect> = (args) => ({
585
+ components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
586
+ setup() {
587
+ const val = ref("Option 1");
588
+ return { args, val };
589
+ },
590
+ template: `<VcSelect
591
+ v-bind="args"
592
+ v-model="val"
593
+ :options="[
594
+ { title: 'Option 1', label: 'Option 1' },
595
+ { title: 'Option 2', label: 'Option 2' },
596
+ { title: 'Option 3', label: 'Option 3' },
597
+ ]"
598
+ optionLabel="label"
599
+ optionValue="title"
600
+ >
601
+ <template #selected-item="{ opt }">
602
+
603
+ <VcIcon class="tw-mr-2 tw-text-green-300" icon="fas fa-check" />
604
+ <p>{{opt.label}}</p>
605
+
606
+ </template>
607
+ </VcSelect>`,
608
+ });
609
+ CustomSelectedOptionSlot.parameters = {
610
+ docs: {
611
+ description: {
612
+ story: `
613
+ "selected-item": (scope: {
614
+ /**
615
+ * Selection index
616
+ */
617
+ index: number;
618
+ /**
619
+ * Selected option -- its value is taken from model
620
+ */
621
+ opt: Option;
622
+ /**
623
+ * Always true -- passed as prop
624
+ */
625
+ selected: boolean;
626
+ /**
627
+ * Remove selected option located at specific index
628
+ * @param index Index at which to remove selection
629
+ */
630
+ removeAtIndex: (index: number) => void;
631
+ }) => any;`,
632
+ },
633
+ },
634
+ };
635
+
636
+ export const CustomListOptionSlot: StoryFn<typeof VcSelect> = (args) => ({
637
+ components: { VcSelect } as Record<keyof typeof VcSelect, unknown>,
638
+ setup() {
639
+ const val = ref("Option 1");
640
+ return { args, val };
641
+ },
642
+ template: `<VcSelect
643
+ v-bind="args"
644
+ v-model="val"
645
+ :options="[
646
+ { title: 'Option 1', label: 'Option 1' },
647
+ { title: 'Option 2', label: 'Option 2' },
648
+ { title: 'Option 3', label: 'Option 3' },
649
+ ]"
650
+ optionLabel="label"
651
+ optionValue="title"
652
+ >
653
+ <template #option="{ opt }">
654
+ <VcIcon class="tw-mr-2 tw-text-green-300" icon="fas fa-check" />
655
+ <p>{{opt.label}}</p>
656
+ </template>
657
+ </VcSelect>`,
658
+ });
659
+ CustomListOptionSlot.parameters = {
660
+ docs: {
661
+ description: {
662
+ story: `
663
+ option: (scope: {
664
+ /**
665
+ * Option index
666
+ */
667
+ index: number;
668
+ /**
669
+ * Option -- its value is taken from 'options' prop
670
+ */
671
+ opt: Option;
672
+ /**
673
+ * Is option selected
674
+ */
675
+ selected: boolean;
676
+ /**
677
+ * Add/remove option from model
678
+ * @param opt Option to add to model
679
+ */
680
+ toggleOption: (opt: any) => void;
681
+ }) => any;
682
+ `,
683
+ },
684
+ },
685
+ };