@vc-shell/framework 1.2.4-beta.8 → 2.0.0-alpha.0

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 (1160) hide show
  1. package/dist/assets/0d67e9e056b4c500.woff +0 -0
  2. package/dist/assets/131b34336aedaf47.woff +0 -0
  3. package/dist/assets/19bb1c668a5db39f.woff2 +0 -0
  4. package/dist/assets/2010ada3e82156ed.woff +0 -0
  5. package/dist/assets/3fc09a6113184f16.woff +0 -0
  6. package/dist/assets/477e1881a0394cc5.woff +0 -0
  7. package/dist/assets/b7ffde2383bb16ba.woff2 +0 -0
  8. package/dist/assets/c5195215cb712e9c.woff2 +0 -0
  9. package/dist/assets/c97328b91ac5cc66.woff +0 -0
  10. package/dist/assets/cdc69f8b549c866d.woff2 +0 -0
  11. package/dist/assets/d5eb20bcdcf5616a.woff2 +0 -0
  12. package/dist/assets/da4b7f5883fe7743.woff2 +0 -0
  13. package/dist/core/composables/useApiClient/index.d.ts +4 -3
  14. package/dist/core/composables/useApiClient/index.d.ts.map +1 -1
  15. package/dist/core/composables/useAppBarMobileButtons/index.d.ts +2 -1
  16. package/dist/core/composables/useAppBarMobileButtons/index.d.ts.map +1 -1
  17. package/dist/core/composables/useAppBarWidget/index.d.ts +2 -1
  18. package/dist/core/composables/useAppBarWidget/index.d.ts.map +1 -1
  19. package/dist/core/composables/useAppInsights/index.d.ts +4 -2
  20. package/dist/core/composables/useAppInsights/index.d.ts.map +1 -1
  21. package/dist/core/composables/useAssets/index.d.ts +4 -2
  22. package/dist/core/composables/useAssets/index.d.ts.map +1 -1
  23. package/dist/core/composables/useAsync/index.d.ts +4 -2
  24. package/dist/core/composables/useAsync/index.d.ts.map +1 -1
  25. package/dist/core/composables/useBeforeUnload/index.d.ts +4 -3
  26. package/dist/core/composables/useBeforeUnload/index.d.ts.map +1 -1
  27. package/dist/core/composables/useBlade/index.d.ts +23 -18
  28. package/dist/core/composables/useBlade/index.d.ts.map +1 -1
  29. package/dist/core/composables/useBladeRegistry/index.d.ts +6 -3
  30. package/dist/core/composables/useBladeRegistry/index.d.ts.map +1 -1
  31. package/dist/core/composables/useBreadcrumbs/index.d.ts +4 -2
  32. package/dist/core/composables/useBreadcrumbs/index.d.ts.map +1 -1
  33. package/dist/core/composables/useConnectionStatus/index.d.ts +4 -2
  34. package/dist/core/composables/useConnectionStatus/index.d.ts.map +1 -1
  35. package/dist/core/composables/useDashboard/index.d.ts +2 -1
  36. package/dist/core/composables/useDashboard/index.d.ts.map +1 -1
  37. package/dist/core/composables/useDynamicProperties/index.d.ts +4 -2
  38. package/dist/core/composables/useDynamicProperties/index.d.ts.map +1 -1
  39. package/dist/core/composables/useErrorHandler/index.d.ts +4 -3
  40. package/dist/core/composables/useErrorHandler/index.d.ts.map +1 -1
  41. package/dist/core/composables/useFunctions/index.d.ts +4 -3
  42. package/dist/core/composables/useFunctions/index.d.ts.map +1 -1
  43. package/dist/core/composables/useGlobalSearch/index.d.ts +2 -1
  44. package/dist/core/composables/useGlobalSearch/index.d.ts.map +1 -1
  45. package/dist/core/composables/useKeyboardNavigation/index.d.ts +9 -9
  46. package/dist/core/composables/useKeyboardNavigation/index.d.ts.map +1 -1
  47. package/dist/core/composables/useLanguages/index.d.ts +4 -2
  48. package/dist/core/composables/useLanguages/index.d.ts.map +1 -1
  49. package/dist/core/composables/useLoading/index.d.ts +2 -1
  50. package/dist/core/composables/useLoading/index.d.ts.map +1 -1
  51. package/dist/core/composables/useMenuService/index.d.ts +1 -0
  52. package/dist/core/composables/useMenuService/index.d.ts.map +1 -1
  53. package/dist/core/composables/useNotifications/index.d.ts +4 -3
  54. package/dist/core/composables/useNotifications/index.d.ts.map +1 -1
  55. package/dist/core/composables/usePermissions/index.d.ts +4 -3
  56. package/dist/core/composables/usePermissions/index.d.ts.map +1 -1
  57. package/dist/core/composables/useSettings/index.d.ts +4 -2
  58. package/dist/core/composables/useSettings/index.d.ts.map +1 -1
  59. package/dist/core/composables/useSettingsMenu/index.d.ts +2 -1
  60. package/dist/core/composables/useSettingsMenu/index.d.ts.map +1 -1
  61. package/dist/core/composables/useSidebarState/index.d.ts +5 -3
  62. package/dist/core/composables/useSidebarState/index.d.ts.map +1 -1
  63. package/dist/core/composables/useTheme/index.d.ts +4 -2
  64. package/dist/core/composables/useTheme/index.d.ts.map +1 -1
  65. package/dist/core/composables/useToolbar/index.d.ts +10 -9
  66. package/dist/core/composables/useToolbar/index.d.ts.map +1 -1
  67. package/dist/core/composables/useUser/index.d.ts +4 -2
  68. package/dist/core/composables/useUser/index.d.ts.map +1 -1
  69. package/dist/core/composables/useUserManagement/index.d.ts +4 -2
  70. package/dist/core/composables/useUserManagement/index.d.ts.map +1 -1
  71. package/dist/core/composables/useWebVitals/index.d.ts +1 -0
  72. package/dist/core/composables/useWebVitals/index.d.ts.map +1 -1
  73. package/dist/core/composables/useWidgets/index.d.ts +2 -1
  74. package/dist/core/composables/useWidgets/index.d.ts.map +1 -1
  75. package/dist/core/plugins/ai-agent/components/VcAiAgentPanel.vue.d.ts.map +1 -1
  76. package/dist/core/plugins/ai-agent/composables/useAiAgent.d.ts +1 -0
  77. package/dist/core/plugins/ai-agent/composables/useAiAgent.d.ts.map +1 -1
  78. package/dist/core/plugins/ai-agent/constants.d.ts +16 -0
  79. package/dist/core/plugins/ai-agent/constants.d.ts.map +1 -1
  80. package/dist/core/plugins/ai-agent/services/ai-agent-service.d.ts +2 -0
  81. package/dist/core/plugins/ai-agent/services/ai-agent-service.d.ts.map +1 -1
  82. package/dist/core/plugins/ai-agent/types.d.ts +19 -0
  83. package/dist/core/plugins/ai-agent/types.d.ts.map +1 -1
  84. package/dist/core/plugins/extension-points/defineExtensionPoint.d.ts +26 -4
  85. package/dist/core/plugins/extension-points/defineExtensionPoint.d.ts.map +1 -1
  86. package/dist/core/plugins/extension-points/index.d.ts +14 -0
  87. package/dist/core/plugins/extension-points/index.d.ts.map +1 -1
  88. package/dist/core/plugins/modularity/index.d.ts +2 -6
  89. package/dist/core/plugins/modularity/index.d.ts.map +1 -1
  90. package/dist/core/plugins/modularity/loader-mf.d.ts +17 -0
  91. package/dist/core/plugins/modularity/loader-mf.d.ts.map +1 -0
  92. package/dist/framework.css +9 -0
  93. package/dist/framework.js +25999 -24595
  94. package/dist/index.d.ts +4 -0
  95. package/dist/index.d.ts.map +1 -1
  96. package/dist/injection-keys.d.ts +39 -2
  97. package/dist/injection-keys.d.ts.map +1 -1
  98. package/dist/locales/de.json +5 -1
  99. package/dist/locales/en.json +5 -1
  100. package/dist/shared/components/app-switcher/index.d.ts +3 -1
  101. package/dist/shared/components/app-switcher/index.d.ts.map +1 -1
  102. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation-new.vue.d.ts.map +1 -1
  103. package/dist/shared/components/blade-navigation/composables/useBladeMessaging.d.ts +2 -0
  104. package/dist/shared/components/blade-navigation/composables/useBladeMessaging.d.ts.map +1 -1
  105. package/dist/shared/components/blade-navigation/composables/useBladeStack.d.ts +3 -1
  106. package/dist/shared/components/blade-navigation/composables/useBladeStack.d.ts.map +1 -1
  107. package/dist/shared/components/blade-navigation/plugin-v2.d.ts.map +1 -1
  108. package/dist/shared/components/blade-navigation/types/index.d.ts +1 -0
  109. package/dist/shared/components/blade-navigation/types/index.d.ts.map +1 -1
  110. package/dist/shared/components/blade-navigation/utils/navigateToMainRoute.d.ts +9 -0
  111. package/dist/shared/components/blade-navigation/utils/navigateToMainRoute.d.ts.map +1 -0
  112. package/dist/shared/components/blade-navigation/utils/restoreFromUrl.d.ts +4 -1
  113. package/dist/shared/components/blade-navigation/utils/restoreFromUrl.d.ts.map +1 -1
  114. package/dist/shared/components/multilanguage-selector/multilanguage-selector.vue.d.ts +1 -1
  115. package/dist/shared/components/notifications/components/notification-container/index.d.ts +3 -3
  116. package/dist/shared/components/notifications/components/notification-container/index.d.ts.map +1 -1
  117. package/dist/shared/components/user-dropdown-button/_internal/user-info.vue.d.ts.map +1 -1
  118. package/dist/shared/components/user-dropdown-button/user-dropdown-button.vue.d.ts.map +1 -1
  119. package/dist/shared/composables/useExternalWidgets.d.ts +3 -2
  120. package/dist/shared/composables/useExternalWidgets.d.ts.map +1 -1
  121. package/dist/shared/composables/useMenuExpanded.d.ts +6 -4
  122. package/dist/shared/composables/useMenuExpanded.d.ts.map +1 -1
  123. package/dist/shared/modules/dynamic/components/fields/InputField.d.ts.map +1 -1
  124. package/dist/shared/modules/dynamic/index.d.ts +11 -5
  125. package/dist/shared/modules/dynamic/index.d.ts.map +1 -1
  126. package/dist/shared/pages/ChangePasswordPage/plugin.d.ts +3 -1
  127. package/dist/shared/pages/ChangePasswordPage/plugin.d.ts.map +1 -1
  128. package/dist/shared/pages/ForgotPasswordPage/plugin.d.ts +3 -1
  129. package/dist/shared/pages/ForgotPasswordPage/plugin.d.ts.map +1 -1
  130. package/dist/shared/pages/InvitePage/plugin.d.ts +3 -1
  131. package/dist/shared/pages/InvitePage/plugin.d.ts.map +1 -1
  132. package/dist/shared/pages/LoginPage/plugin.d.ts +3 -1
  133. package/dist/shared/pages/LoginPage/plugin.d.ts.map +1 -1
  134. package/dist/shared/pages/ResetPasswordPage/plugin.d.ts +3 -1
  135. package/dist/shared/pages/ResetPasswordPage/plugin.d.ts.map +1 -1
  136. package/dist/tailwind.config.d.ts.map +1 -1
  137. package/dist/test-helpers.d.ts +227 -0
  138. package/dist/test-helpers.d.ts.map +1 -0
  139. package/dist/tsconfig.tsbuildinfo +1 -1
  140. package/dist/ui/components/atoms/vc-badge/vc-badge.vue.d.ts +2 -2
  141. package/dist/ui/components/atoms/vc-badge/vc-badge.vue.d.ts.map +1 -1
  142. package/dist/ui/components/atoms/vc-button/types.d.ts +1 -1
  143. package/dist/ui/components/atoms/vc-button/types.d.ts.map +1 -1
  144. package/dist/ui/components/atoms/vc-button/vc-button.vue.d.ts +1 -1
  145. package/dist/ui/components/atoms/vc-button/vc-button.vue.d.ts.map +1 -1
  146. package/dist/ui/components/atoms/vc-icon/vc-material-icon.vue.d.ts +1 -1
  147. package/dist/ui/components/atoms/vc-icon/vc-material-icon.vue.d.ts.map +1 -1
  148. package/dist/ui/components/atoms/vc-progress/vc-progress.vue.d.ts +1 -1
  149. package/dist/ui/components/atoms/vc-progress/vc-progress.vue.d.ts.map +1 -1
  150. package/dist/ui/components/atoms/vc-tooltip/vc-tooltip.vue.d.ts +2 -2
  151. package/dist/ui/components/atoms/vc-tooltip/vc-tooltip.vue.d.ts.map +1 -1
  152. package/dist/ui/components/molecules/index.d.ts +2 -1
  153. package/dist/ui/components/molecules/index.d.ts.map +1 -1
  154. package/dist/ui/components/molecules/vc-accordion/_internal/vc-accordion-item/vc-accordion-item.vue.d.ts.map +1 -1
  155. package/dist/ui/components/molecules/vc-accordion/index.d.ts +5 -1
  156. package/dist/ui/components/molecules/vc-accordion/index.d.ts.map +1 -1
  157. package/dist/ui/components/molecules/vc-accordion/vc-accordion.vue.d.ts +9 -9
  158. package/dist/ui/components/molecules/vc-accordion/vc-accordion.vue.d.ts.map +1 -1
  159. package/dist/ui/components/molecules/vc-checkbox-group/index.d.ts +1 -1
  160. package/dist/ui/components/molecules/vc-checkbox-group/index.d.ts.map +1 -1
  161. package/dist/ui/components/molecules/vc-checkbox-group/vc-checkbox-group.vue.d.ts +11 -17
  162. package/dist/ui/components/molecules/vc-checkbox-group/vc-checkbox-group.vue.d.ts.map +1 -1
  163. package/dist/ui/components/molecules/vc-color-input/vc-color-input.vue.d.ts +2 -2
  164. package/dist/ui/components/molecules/vc-date-picker/vc-date-picker.vue.d.ts +3 -3
  165. package/dist/ui/components/molecules/vc-date-picker/vc-date-picker.vue.d.ts.map +1 -1
  166. package/dist/ui/components/molecules/vc-dropdown/_internal/VcDropdownItem.vue.d.ts +1 -1
  167. package/dist/ui/components/molecules/vc-dropdown/_internal/VcDropdownItem.vue.d.ts.map +1 -1
  168. package/dist/ui/components/molecules/vc-dropdown/index.d.ts +1 -0
  169. package/dist/ui/components/molecules/vc-dropdown/index.d.ts.map +1 -1
  170. package/dist/ui/components/molecules/vc-dropdown/vc-dropdown.vue.d.ts +3 -3
  171. package/dist/ui/components/molecules/vc-dropdown/vc-dropdown.vue.d.ts.map +1 -1
  172. package/dist/ui/components/molecules/vc-dropdown-panel/vc-dropdown-panel.vue.d.ts +3 -3
  173. package/dist/ui/components/molecules/vc-dropdown-panel/vc-dropdown-panel.vue.d.ts.map +1 -1
  174. package/dist/ui/components/molecules/vc-editor/index.d.ts +1 -0
  175. package/dist/ui/components/molecules/vc-editor/index.d.ts.map +1 -1
  176. package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts +7 -10
  177. package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts.map +1 -1
  178. package/dist/ui/components/molecules/vc-field/_internal/vc-field-type/vc-field-type.vue.d.ts +1 -1
  179. package/dist/ui/components/molecules/vc-field/_internal/vc-field-type/vc-field-type.vue.d.ts.map +1 -1
  180. package/dist/ui/components/molecules/vc-field/index.d.ts +1 -0
  181. package/dist/ui/components/molecules/vc-field/index.d.ts.map +1 -1
  182. package/dist/ui/components/molecules/vc-field/vc-field.vue.d.ts +3 -3
  183. package/dist/ui/components/molecules/vc-field/vc-field.vue.d.ts.map +1 -1
  184. package/dist/ui/components/molecules/vc-file-upload/vc-file-upload.vue.d.ts +2 -1
  185. package/dist/ui/components/molecules/vc-file-upload/vc-file-upload.vue.d.ts.map +1 -1
  186. package/dist/ui/components/molecules/vc-input/vc-input.vue.d.ts +8 -7
  187. package/dist/ui/components/molecules/vc-input/vc-input.vue.d.ts.map +1 -1
  188. package/dist/ui/components/molecules/vc-input-dropdown/index.d.ts +1 -0
  189. package/dist/ui/components/molecules/vc-input-dropdown/index.d.ts.map +1 -1
  190. package/dist/ui/components/molecules/vc-input-dropdown/vc-input-dropdown.vue.d.ts +10 -60
  191. package/dist/ui/components/molecules/vc-input-dropdown/vc-input-dropdown.vue.d.ts.map +1 -1
  192. package/dist/ui/components/molecules/vc-menu/constants.d.ts +3 -0
  193. package/dist/ui/components/molecules/vc-menu/constants.d.ts.map +1 -0
  194. package/dist/ui/components/molecules/vc-menu/index.d.ts +9 -0
  195. package/dist/ui/components/molecules/vc-menu/index.d.ts.map +1 -0
  196. package/dist/ui/components/molecules/vc-menu/types.d.ts +28 -0
  197. package/dist/ui/components/molecules/vc-menu/types.d.ts.map +1 -0
  198. package/dist/ui/components/molecules/vc-menu/vc-menu-group.vue.d.ts +32 -0
  199. package/dist/ui/components/molecules/vc-menu/vc-menu-group.vue.d.ts.map +1 -0
  200. package/dist/ui/components/molecules/vc-menu/vc-menu-item.vue.d.ts +34 -0
  201. package/dist/ui/components/molecules/vc-menu/vc-menu-item.vue.d.ts.map +1 -0
  202. package/dist/ui/components/molecules/vc-menu/vc-menu.vue.d.ts +19 -0
  203. package/dist/ui/components/molecules/vc-menu/vc-menu.vue.d.ts.map +1 -0
  204. package/dist/ui/components/molecules/vc-multivalue/_internal/MultivalueTrigger.vue.d.ts +2 -2
  205. package/dist/ui/components/molecules/vc-radio-button/index.d.ts +1 -0
  206. package/dist/ui/components/molecules/vc-radio-button/index.d.ts.map +1 -1
  207. package/dist/ui/components/molecules/vc-radio-button/vc-radio-button.vue.d.ts +11 -10
  208. package/dist/ui/components/molecules/vc-radio-button/vc-radio-button.vue.d.ts.map +1 -1
  209. package/dist/ui/components/molecules/vc-radio-group/index.d.ts +1 -1
  210. package/dist/ui/components/molecules/vc-radio-group/index.d.ts.map +1 -1
  211. package/dist/ui/components/molecules/vc-radio-group/vc-radio-group.vue.d.ts +10 -16
  212. package/dist/ui/components/molecules/vc-radio-group/vc-radio-group.vue.d.ts.map +1 -1
  213. package/dist/ui/components/molecules/vc-rating/index.d.ts +1 -0
  214. package/dist/ui/components/molecules/vc-rating/index.d.ts.map +1 -1
  215. package/dist/ui/components/molecules/vc-rating/vc-rating.vue.d.ts +4 -5
  216. package/dist/ui/components/molecules/vc-rating/vc-rating.vue.d.ts.map +1 -1
  217. package/dist/ui/components/molecules/vc-slider/index.d.ts +1 -1
  218. package/dist/ui/components/molecules/vc-slider/index.d.ts.map +1 -1
  219. package/dist/ui/components/molecules/vc-textarea/vc-textarea.vue.d.ts +3 -2
  220. package/dist/ui/components/molecules/vc-textarea/vc-textarea.vue.d.ts.map +1 -1
  221. package/dist/ui/components/molecules/vc-toast/vc-toast.vue.d.ts +5 -1
  222. package/dist/ui/components/molecules/vc-toast/vc-toast.vue.d.ts.map +1 -1
  223. package/dist/ui/components/organisms/vc-app/_internal/layouts/DesktopLayout.vue.d.ts.map +1 -1
  224. package/dist/ui/components/organisms/vc-app/_internal/menu/VcAppMenu.vue.d.ts.map +1 -1
  225. package/dist/ui/components/organisms/vc-app/_internal/sidebar/SidebarCollapseButton.vue.d.ts.map +1 -1
  226. package/dist/ui/components/organisms/vc-app/_internal/sidebar/SidebarContent.vue.d.ts.map +1 -1
  227. package/dist/ui/components/organisms/vc-app/_internal/sidebar/SidebarHeader.vue.d.ts +1 -1
  228. package/dist/ui/components/organisms/vc-app/_internal/sidebar/SidebarHeader.vue.d.ts.map +1 -1
  229. package/dist/ui/components/organisms/vc-app/composables/useShellBootstrap.d.ts +2 -1
  230. package/dist/ui/components/organisms/vc-app/composables/useShellBootstrap.d.ts.map +1 -1
  231. package/dist/ui/components/organisms/vc-app/composables/useShellNavigation.d.ts.map +1 -1
  232. package/dist/ui/components/organisms/vc-app/composition/menu/index.d.ts +0 -2
  233. package/dist/ui/components/organisms/vc-app/composition/menu/index.d.ts.map +1 -1
  234. package/dist/ui/components/organisms/vc-blade/_internal/BladeHeader.vue.d.ts +2 -0
  235. package/dist/ui/components/organisms/vc-blade/_internal/BladeHeader.vue.d.ts.map +1 -1
  236. package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts +1 -1
  237. package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts.map +1 -1
  238. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue.d.ts +2 -2
  239. package/dist/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts +2 -2
  240. package/dist/ui/components/organisms/vc-image-upload/vc-image-upload.vue.d.ts +3 -3
  241. package/dist/ui/components/organisms/vc-image-upload/vc-image-upload.vue.d.ts.map +1 -1
  242. package/dist/ui/components/organisms/vc-popup/vc-popup.vue.d.ts +2 -2
  243. package/dist/ui/components/organisms/vc-popup/vc-popup.vue.d.ts.map +1 -1
  244. package/dist/ui/components/organisms/vc-sidebar/vc-sidebar.vue.d.ts +4 -4
  245. package/dist/ui/components/organisms/vc-sidebar/vc-sidebar.vue.d.ts.map +1 -1
  246. package/dist/ui/components/organisms/vc-table/VcDataTable.vue.d.ts +2 -2
  247. package/dist/ui/components/organisms/vc-table/VcDataTable.vue.d.ts.map +1 -1
  248. package/dist/ui/components/organisms/vc-table/_internal/vc-table-counter/vc-table-counter.vue.d.ts +1 -1
  249. package/dist/ui/components/organisms/vc-table/_internal/vc-table-counter/vc-table-counter.vue.d.ts.map +1 -1
  250. package/dist/ui/components/organisms/vc-table/components/DataTableCellRenderer.vue.d.ts.map +1 -1
  251. package/dist/ui/components/organisms/vc-table/components/DataTableRow.vue.d.ts +1 -1
  252. package/dist/ui/components/organisms/vc-table/components/DataTableRow.vue.d.ts.map +1 -1
  253. package/dist/ui/components/organisms/vc-table/components/GlobalFiltersPanel.vue.d.ts +2 -2
  254. package/dist/ui/components/organisms/vc-table/components/TableAddRowButton.vue.d.ts +1 -1
  255. package/dist/ui/components/organisms/vc-table/components/TableAddRowButton.vue.d.ts.map +1 -1
  256. package/dist/ui/components/organisms/vc-table/components/TableCheckbox.vue.d.ts +2 -14
  257. package/dist/ui/components/organisms/vc-table/components/TableCheckbox.vue.d.ts.map +1 -1
  258. package/dist/ui/components/organisms/vc-table/components/TableColumnSwitcher.vue.d.ts.map +1 -1
  259. package/dist/ui/components/organisms/vc-table/components/TableGroupRow.vue.d.ts +2 -2
  260. package/dist/ui/components/organisms/vc-table/components/TableGroupRow.vue.d.ts.map +1 -1
  261. package/dist/ui/components/organisms/vc-table/components/TableRow.vue.d.ts +4 -2
  262. package/dist/ui/components/organisms/vc-table/components/TableRow.vue.d.ts.map +1 -1
  263. package/dist/ui/components/organisms/vc-table/components/VcColumn.vue.d.ts +4 -4
  264. package/dist/ui/components/organisms/vc-table/components/mobile/DataTableMobileCard.vue.d.ts +3 -3
  265. package/dist/ui/components/organisms/vc-table/components/mobile/DataTableMobileView.vue.d.ts +3 -3
  266. package/dist/ui/components/organisms/vc-table/components/mobile/MobileActionSheet.vue.d.ts +2 -2
  267. package/dist/ui/components/organisms/vc-table/composables/useDataTableOrchestrator.d.ts +276 -0
  268. package/dist/ui/components/organisms/vc-table/composables/useDataTableOrchestrator.d.ts.map +1 -0
  269. package/dist/{vendor-dompurify-BGaRrCfO.js → vendor-dompurify-M2Bspgo5.js} +115 -115
  270. package/dist/{vendor-lodash-es-B5DE282z.js → vendor-lodash-es-BtnfG6xF.js} +15 -12
  271. package/dist/{vendor-lucide-vue-next-DadL7o0S.js → vendor-lucide-vue-next-CPgeDcFj.js} +16164 -12841
  272. package/dist/vendor-module-federation-enhanced-CV1CNdJy.js +22 -0
  273. package/dist/vendor-module-federation-error-codes-DdVwX11j.js +55 -0
  274. package/dist/vendor-module-federation-runtime-CVH_lWgu.js +91 -0
  275. package/dist/vendor-module-federation-runtime-core-D5G-s9nP.js +2202 -0
  276. package/dist/vendor-module-federation-runtime-tools-CQbtw-RJ.js +18 -0
  277. package/dist/vendor-module-federation-sdk-DM4AJRa7.js +683 -0
  278. package/dist/{vendor-vue-i18n-D0F0w-9Q.js → vendor-vue-i18n-BguHiJqH.js} +7 -4
  279. package/dist/vendor-vue-router-R3V0tq8_.js +6 -0
  280. package/dist/{vendor-vueuse-components-jqShV_Fz.js → vendor-vueuse-components-Be490f6P.js} +30 -30
  281. package/dist/{vendor-vueuse-core-D-DKRsy5.js → vendor-vueuse-core-BW8bO6-j.js} +17 -14
  282. package/dist/{vendor-vueuse-shared-Ch7WD-uK.js → vendor-vueuse-shared-bmkWEEYZ.js} +14 -14
  283. package/package.json +28 -19
  284. package/tailwind.config.ts +1 -0
  285. package/core/README.md +0 -365
  286. package/core/api/platform.ts +0 -9883
  287. package/core/composables/index.ts +0 -29
  288. package/core/composables/useApiClient/index.ts +0 -22
  289. package/core/composables/useAppBarMobileButtons/index.ts +0 -33
  290. package/core/composables/useAppBarWidget/index.test.ts +0 -86
  291. package/core/composables/useAppBarWidget/index.ts +0 -31
  292. package/core/composables/useAppInsights/index.ts +0 -56
  293. package/core/composables/useAssets/index.ts +0 -144
  294. package/core/composables/useAsync/index.test.ts +0 -137
  295. package/core/composables/useAsync/index.ts +0 -89
  296. package/core/composables/useBeforeUnload/index.ts +0 -25
  297. package/core/composables/useBlade/index.ts +0 -149
  298. package/core/composables/useBladeRegistry/index.test.ts +0 -192
  299. package/core/composables/useBladeRegistry/index.ts +0 -231
  300. package/core/composables/useBreadcrumbs/index.test.ts +0 -139
  301. package/core/composables/useBreadcrumbs/index.ts +0 -66
  302. package/core/composables/useConnectionStatus/index.ts +0 -48
  303. package/core/composables/useDashboard/index.test.ts +0 -86
  304. package/core/composables/useDashboard/index.ts +0 -51
  305. package/core/composables/useDynamicProperties/index.ts +0 -573
  306. package/core/composables/useErrorHandler/index.ts +0 -75
  307. package/core/composables/useFunctions/debounce.ts +0 -15
  308. package/core/composables/useFunctions/delay.ts +0 -3
  309. package/core/composables/useFunctions/index.ts +0 -20
  310. package/core/composables/useFunctions/once.ts +0 -11
  311. package/core/composables/useFunctions/sleep.ts +0 -3
  312. package/core/composables/useFunctions/throttle.ts +0 -13
  313. package/core/composables/useGlobalSearch/index.ts +0 -36
  314. package/core/composables/useGlobalSearch/useGlobalSearch.md +0 -263
  315. package/core/composables/useKeyboardNavigation/index.ts +0 -246
  316. package/core/composables/useLanguages/index.ts +0 -48
  317. package/core/composables/useLoading/index.ts +0 -9
  318. package/core/composables/useMenuService/index.test.ts +0 -86
  319. package/core/composables/useMenuService/index.ts +0 -43
  320. package/core/composables/useNotifications/index.ts +0 -200
  321. package/core/composables/usePermissions/index.ts +0 -30
  322. package/core/composables/useSettings/index.ts +0 -64
  323. package/core/composables/useSettingsMenu/index.test.ts +0 -86
  324. package/core/composables/useSettingsMenu/index.ts +0 -31
  325. package/core/composables/useSidebarState/index.ts +0 -90
  326. package/core/composables/useTheme/index.ts +0 -115
  327. package/core/composables/useToolbar/index.ts +0 -117
  328. package/core/composables/useUser/index.ts +0 -406
  329. package/core/composables/useUser/useUser.test.ts +0 -155
  330. package/core/composables/useUserManagement/index.ts +0 -45
  331. package/core/composables/useWebVitals/index.ts +0 -40
  332. package/core/composables/useWidgets/index.test.ts +0 -86
  333. package/core/composables/useWidgets/index.ts +0 -39
  334. package/core/constants/defaults.ts +0 -76
  335. package/core/constants/index.ts +0 -5
  336. package/core/constants/locale.ts +0 -78
  337. package/core/constants/ui.ts +0 -68
  338. package/core/directives/autofocus/index.ts +0 -9
  339. package/core/directives/index.ts +0 -2
  340. package/core/directives/loading/index.ts +0 -42
  341. package/core/directives/loading/styles.css +0 -71
  342. package/core/interceptors/index.ts +0 -142
  343. package/core/plugins/ai-agent/README.md +0 -336
  344. package/core/plugins/ai-agent/components/VcAiAgentPanel.vue +0 -125
  345. package/core/plugins/ai-agent/components/_internal/VcAiAgentHeader.vue +0 -102
  346. package/core/plugins/ai-agent/components/_internal/VcAiAgentIframe.vue +0 -107
  347. package/core/plugins/ai-agent/components/_internal/VcAiAgentLoader.vue +0 -72
  348. package/core/plugins/ai-agent/components/_internal/VcVirtoOzLogo.vue +0 -136
  349. package/core/plugins/ai-agent/components/index.ts +0 -1
  350. package/core/plugins/ai-agent/composables/index.ts +0 -4
  351. package/core/plugins/ai-agent/composables/useAiAgent.ts +0 -231
  352. package/core/plugins/ai-agent/composables/useAiAgentContext.ts +0 -285
  353. package/core/plugins/ai-agent/constants.ts +0 -89
  354. package/core/plugins/ai-agent/index.ts +0 -91
  355. package/core/plugins/ai-agent/services/ai-agent-service.ts +0 -592
  356. package/core/plugins/ai-agent/types.ts +0 -303
  357. package/core/plugins/extension-points/ExtensionPoint.vue +0 -95
  358. package/core/plugins/extension-points/defineExtensionPoint.ts +0 -29
  359. package/core/plugins/extension-points/index.ts +0 -11
  360. package/core/plugins/extension-points/store.ts +0 -54
  361. package/core/plugins/extension-points/types.ts +0 -28
  362. package/core/plugins/extension-points/useExtensionPoint.ts +0 -42
  363. package/core/plugins/global-error-handler/index.ts +0 -81
  364. package/core/plugins/i18n/index.ts +0 -11
  365. package/core/plugins/index.ts +0 -6
  366. package/core/plugins/modularity/README.md +0 -482
  367. package/core/plugins/modularity/index.ts +0 -208
  368. package/core/plugins/modularity/loader.ts +0 -631
  369. package/core/plugins/permissions/index.ts +0 -10
  370. package/core/plugins/signalR/index.ts +0 -126
  371. package/core/plugins/validation/index.ts +0 -1
  372. package/core/plugins/validation/rules.ts +0 -145
  373. package/core/services/_internal/createBladeScopedRegistry.test.ts +0 -130
  374. package/core/services/_internal/createBladeScopedRegistry.ts +0 -127
  375. package/core/services/_internal/createPreregistrationBus.test.ts +0 -227
  376. package/core/services/_internal/createPreregistrationBus.ts +0 -106
  377. package/core/services/_internal/createSimpleMapRegistry.test.ts +0 -82
  378. package/core/services/_internal/createSimpleMapRegistry.ts +0 -41
  379. package/core/services/_internal/index.ts +0 -3
  380. package/core/services/app-bar-menu-service.ts +0 -71
  381. package/core/services/app-bar-mobile-buttons-service.ts +0 -62
  382. package/core/services/app-bar-settings-service.test.ts +0 -153
  383. package/core/services/dashboard-service.ts +0 -110
  384. package/core/services/global-search-service/global-search-service.md +0 -28
  385. package/core/services/global-search-service/index.ts +0 -36
  386. package/core/services/index.ts +0 -11
  387. package/core/services/language-dashboard-service.test.ts +0 -183
  388. package/core/services/language-service.ts +0 -98
  389. package/core/services/menu-service.test.ts +0 -311
  390. package/core/services/menu-service.ts +0 -259
  391. package/core/services/settings-menu-service.ts +0 -61
  392. package/core/services/toolbar-service.ts +0 -111
  393. package/core/services/toolbar-widget-service.test.ts +0 -207
  394. package/core/services/widget-service.test.ts +0 -133
  395. package/core/services/widget-service.ts +0 -262
  396. package/core/types/index.ts +0 -312
  397. package/core/types/services.ts +0 -194
  398. package/core/utilities/camelToSnake.ts +0 -7
  399. package/core/utilities/camelize.ts +0 -5
  400. package/core/utilities/date/convertMomentFormat.test.ts +0 -60
  401. package/core/utilities/date/convertMomentFormat.ts +0 -30
  402. package/core/utilities/date/formatDate.test.ts +0 -60
  403. package/core/utilities/date/formatDate.ts +0 -31
  404. package/core/utilities/date/index.ts +0 -3
  405. package/core/utilities/date/resolveLocale.test.ts +0 -44
  406. package/core/utilities/date/resolveLocale.ts +0 -41
  407. package/core/utilities/error.ts +0 -89
  408. package/core/utilities/errorTypes.ts +0 -126
  409. package/core/utilities/generateId.ts +0 -3
  410. package/core/utilities/index.ts +0 -11
  411. package/core/utilities/kebabToCamel.ts +0 -7
  412. package/core/utilities/logger.ts +0 -120
  413. package/core/utilities/pendingErrorNotifications.ts +0 -64
  414. package/dist/core/composables/useAppBarWidget/index.test.d.ts +0 -2
  415. package/dist/core/composables/useAppBarWidget/index.test.d.ts.map +0 -1
  416. package/dist/core/composables/useAsync/index.test.d.ts +0 -2
  417. package/dist/core/composables/useAsync/index.test.d.ts.map +0 -1
  418. package/dist/core/composables/useBladeRegistry/index.test.d.ts +0 -2
  419. package/dist/core/composables/useBladeRegistry/index.test.d.ts.map +0 -1
  420. package/dist/core/composables/useBreadcrumbs/index.test.d.ts +0 -2
  421. package/dist/core/composables/useBreadcrumbs/index.test.d.ts.map +0 -1
  422. package/dist/core/composables/useDashboard/index.test.d.ts +0 -2
  423. package/dist/core/composables/useDashboard/index.test.d.ts.map +0 -1
  424. package/dist/core/composables/useMenuService/index.test.d.ts +0 -2
  425. package/dist/core/composables/useMenuService/index.test.d.ts.map +0 -1
  426. package/dist/core/composables/useSettingsMenu/index.test.d.ts +0 -2
  427. package/dist/core/composables/useSettingsMenu/index.test.d.ts.map +0 -1
  428. package/dist/core/composables/useUser/useUser.test.d.ts +0 -2
  429. package/dist/core/composables/useUser/useUser.test.d.ts.map +0 -1
  430. package/dist/core/composables/useWidgets/index.test.d.ts +0 -2
  431. package/dist/core/composables/useWidgets/index.test.d.ts.map +0 -1
  432. package/dist/core/plugins/modularity/loader.d.ts +0 -19
  433. package/dist/core/plugins/modularity/loader.d.ts.map +0 -1
  434. package/dist/core/services/_internal/createBladeScopedRegistry.test.d.ts +0 -2
  435. package/dist/core/services/_internal/createBladeScopedRegistry.test.d.ts.map +0 -1
  436. package/dist/core/services/_internal/createPreregistrationBus.test.d.ts +0 -2
  437. package/dist/core/services/_internal/createPreregistrationBus.test.d.ts.map +0 -1
  438. package/dist/core/services/_internal/createSimpleMapRegistry.test.d.ts +0 -2
  439. package/dist/core/services/_internal/createSimpleMapRegistry.test.d.ts.map +0 -1
  440. package/dist/core/services/app-bar-settings-service.test.d.ts +0 -2
  441. package/dist/core/services/app-bar-settings-service.test.d.ts.map +0 -1
  442. package/dist/core/services/language-dashboard-service.test.d.ts +0 -2
  443. package/dist/core/services/language-dashboard-service.test.d.ts.map +0 -1
  444. package/dist/core/services/menu-service.test.d.ts +0 -2
  445. package/dist/core/services/menu-service.test.d.ts.map +0 -1
  446. package/dist/core/services/toolbar-widget-service.test.d.ts +0 -2
  447. package/dist/core/services/toolbar-widget-service.test.d.ts.map +0 -1
  448. package/dist/core/services/widget-service.test.d.ts +0 -2
  449. package/dist/core/services/widget-service.test.d.ts.map +0 -1
  450. package/dist/core/utilities/date/convertMomentFormat.test.d.ts +0 -2
  451. package/dist/core/utilities/date/convertMomentFormat.test.d.ts.map +0 -1
  452. package/dist/core/utilities/date/formatDate.test.d.ts +0 -2
  453. package/dist/core/utilities/date/formatDate.test.d.ts.map +0 -1
  454. package/dist/core/utilities/date/resolveLocale.test.d.ts +0 -2
  455. package/dist/core/utilities/date/resolveLocale.test.d.ts.map +0 -1
  456. package/dist/index.css +0 -9
  457. package/dist/shared/components/blade-navigation/composables/useBladeMessaging.test.d.ts +0 -2
  458. package/dist/shared/components/blade-navigation/composables/useBladeMessaging.test.d.ts.map +0 -1
  459. package/dist/shared/components/blade-navigation/composables/useBladeStack.test.d.ts +0 -2
  460. package/dist/shared/components/blade-navigation/composables/useBladeStack.test.d.ts.map +0 -1
  461. package/dist/shared/components/blade-navigation/utils/restoreFromUrl.test.d.ts +0 -2
  462. package/dist/shared/components/blade-navigation/utils/restoreFromUrl.test.d.ts.map +0 -1
  463. package/dist/shared/components/blade-navigation/utils/urlSync.test.d.ts +0 -2
  464. package/dist/shared/components/blade-navigation/utils/urlSync.test.d.ts.map +0 -1
  465. package/dist/shared/components/dashboard-widget-card/dashboard-stat-item.test.d.ts +0 -2
  466. package/dist/shared/components/dashboard-widget-card/dashboard-stat-item.test.d.ts.map +0 -1
  467. package/dist/shared/components/dashboard-widget-card/dashboard-widget-card.test.d.ts +0 -2
  468. package/dist/shared/components/dashboard-widget-card/dashboard-widget-card.test.d.ts.map +0 -1
  469. package/dist/shared/utilities/formatBadgeCount.test.d.ts +0 -2
  470. package/dist/shared/utilities/formatBadgeCount.test.d.ts.map +0 -1
  471. package/dist/ui/components/atoms/vc-button/vc-button.a11y.test.d.ts +0 -2
  472. package/dist/ui/components/atoms/vc-button/vc-button.a11y.test.d.ts.map +0 -1
  473. package/dist/ui/components/atoms/vc-button/vc-button.test.d.ts +0 -2
  474. package/dist/ui/components/atoms/vc-button/vc-button.test.d.ts.map +0 -1
  475. package/dist/ui/components/molecules/vc-checkbox/vc-checkbox.a11y.test.d.ts +0 -2
  476. package/dist/ui/components/molecules/vc-checkbox/vc-checkbox.a11y.test.d.ts.map +0 -1
  477. package/dist/ui/components/molecules/vc-checkbox/vc-checkbox.test.d.ts +0 -2
  478. package/dist/ui/components/molecules/vc-checkbox/vc-checkbox.test.d.ts.map +0 -1
  479. package/dist/ui/components/molecules/vc-checkbox-group/vc-checkbox-group.test.d.ts +0 -2
  480. package/dist/ui/components/molecules/vc-checkbox-group/vc-checkbox-group.test.d.ts.map +0 -1
  481. package/dist/ui/components/molecules/vc-dropdown/vc-dropdown-item.test.d.ts +0 -2
  482. package/dist/ui/components/molecules/vc-dropdown/vc-dropdown-item.test.d.ts.map +0 -1
  483. package/dist/ui/components/molecules/vc-dropdown/vc-dropdown.test.d.ts +0 -2
  484. package/dist/ui/components/molecules/vc-dropdown/vc-dropdown.test.d.ts.map +0 -1
  485. package/dist/ui/components/molecules/vc-input/vc-input.a11y.test.d.ts +0 -2
  486. package/dist/ui/components/molecules/vc-input/vc-input.a11y.test.d.ts.map +0 -1
  487. package/dist/ui/components/molecules/vc-input/vc-input.test.d.ts +0 -2
  488. package/dist/ui/components/molecules/vc-input/vc-input.test.d.ts.map +0 -1
  489. package/dist/ui/components/molecules/vc-input-group/vc-input-group.test.d.ts +0 -2
  490. package/dist/ui/components/molecules/vc-input-group/vc-input-group.test.d.ts.map +0 -1
  491. package/dist/ui/components/molecules/vc-radio-group/vc-radio-group.test.d.ts +0 -2
  492. package/dist/ui/components/molecules/vc-radio-group/vc-radio-group.test.d.ts.map +0 -1
  493. package/dist/ui/components/molecules/vc-select/vc-select.test.d.ts +0 -2
  494. package/dist/ui/components/molecules/vc-select/vc-select.test.d.ts.map +0 -1
  495. package/dist/ui/components/molecules/vc-textarea/vc-textarea.a11y.test.d.ts +0 -2
  496. package/dist/ui/components/molecules/vc-textarea/vc-textarea.a11y.test.d.ts.map +0 -1
  497. package/dist/ui/components/organisms/vc-app/_internal/app-bar/components/AppHubContent.test.d.ts +0 -2
  498. package/dist/ui/components/organisms/vc-app/_internal/app-bar/components/AppHubContent.test.d.ts.map +0 -1
  499. package/dist/ui/components/organisms/vc-app/_internal/layouts/MobileLayout.test.d.ts +0 -2
  500. package/dist/ui/components/organisms/vc-app/_internal/layouts/MobileLayout.test.d.ts.map +0 -1
  501. package/dist/ui/components/organisms/vc-app/_internal/menu/VcAppMenu.test.d.ts +0 -2
  502. package/dist/ui/components/organisms/vc-app/_internal/menu/VcAppMenu.test.d.ts.map +0 -1
  503. package/dist/ui/components/organisms/vc-app/_internal/menu/VcAppMenuGroup.vue.d.ts +0 -21
  504. package/dist/ui/components/organisms/vc-app/_internal/menu/VcAppMenuGroup.vue.d.ts.map +0 -1
  505. package/dist/ui/components/organisms/vc-app/_internal/menu/VcAppMenuItem.vue.d.ts +0 -32
  506. package/dist/ui/components/organisms/vc-app/_internal/menu/VcAppMenuItem.vue.d.ts.map +0 -1
  507. package/dist/ui/components/organisms/vc-app/composables/useShellBootstrap.test.d.ts +0 -2
  508. package/dist/ui/components/organisms/vc-app/composables/useShellBootstrap.test.d.ts.map +0 -1
  509. package/dist/ui/components/organisms/vc-blade/_internal/toolbar/ToolbarBaseButton.test.d.ts +0 -2
  510. package/dist/ui/components/organisms/vc-blade/_internal/toolbar/ToolbarBaseButton.test.d.ts.map +0 -1
  511. package/dist/ui/components/organisms/vc-blade/_internal/widgets/WidgetDropdownItem.test.d.ts +0 -2
  512. package/dist/ui/components/organisms/vc-blade/_internal/widgets/WidgetDropdownItem.test.d.ts.map +0 -1
  513. package/dist/ui/components/organisms/vc-blade/utils.test.d.ts +0 -2
  514. package/dist/ui/components/organisms/vc-blade/utils.test.d.ts.map +0 -1
  515. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.test.d.ts +0 -2
  516. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.test.d.ts.map +0 -1
  517. package/dist/ui/components/organisms/vc-gallery/composables/useGalleryReorder.test.d.ts +0 -2
  518. package/dist/ui/components/organisms/vc-gallery/composables/useGalleryReorder.test.d.ts.map +0 -1
  519. package/dist/ui/components/organisms/vc-gallery/composables/useGalleryUpload.test.d.ts +0 -2
  520. package/dist/ui/components/organisms/vc-gallery/composables/useGalleryUpload.test.d.ts.map +0 -1
  521. package/dist/ui/components/organisms/vc-gallery/composables/useImageLoad.test.d.ts +0 -2
  522. package/dist/ui/components/organisms/vc-gallery/composables/useImageLoad.test.d.ts.map +0 -1
  523. package/dist/ui/components/organisms/vc-gallery/vc-gallery.actions.test.d.ts +0 -2
  524. package/dist/ui/components/organisms/vc-gallery/vc-gallery.actions.test.d.ts.map +0 -1
  525. package/dist/ui/components/organisms/vc-sidebar/vc-sidebar.test.d.ts +0 -2
  526. package/dist/ui/components/organisms/vc-sidebar/vc-sidebar.test.d.ts.map +0 -1
  527. package/dist/ui/components/organisms/vc-table/composables/useDataTableState.test.d.ts +0 -2
  528. package/dist/ui/components/organisms/vc-table/composables/useDataTableState.test.d.ts.map +0 -1
  529. package/dist/ui/components/organisms/vc-table/composables/useMobileCardLayout.test.d.ts +0 -2
  530. package/dist/ui/components/organisms/vc-table/composables/useMobileCardLayout.test.d.ts.map +0 -1
  531. package/dist/ui/components/organisms/vc-table/composables/useTableFilter.test.d.ts +0 -2
  532. package/dist/ui/components/organisms/vc-table/composables/useTableFilter.test.d.ts.map +0 -1
  533. package/shared/components/app-switcher/components/index.ts +0 -1
  534. package/shared/components/app-switcher/components/vc-app-switcher/index.ts +0 -1
  535. package/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue +0 -89
  536. package/shared/components/app-switcher/composables/index.ts +0 -1
  537. package/shared/components/app-switcher/composables/useAppSwitcher/index.ts +0 -53
  538. package/shared/components/app-switcher/index.ts +0 -14
  539. package/shared/components/blade-navigation/ARCHITECTURE.md +0 -420
  540. package/shared/components/blade-navigation/MIGRATION.md +0 -224
  541. package/shared/components/blade-navigation/components/index.ts +0 -2
  542. package/shared/components/blade-navigation/components/vc-blade-navigation/_internal/vc-mobile-back-button.vue +0 -78
  543. package/shared/components/blade-navigation/components/vc-blade-navigation/index.ts +0 -2
  544. package/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation-new.vue +0 -160
  545. package/shared/components/blade-navigation/components/vc-blade-slot/index.ts +0 -1
  546. package/shared/components/blade-navigation/components/vc-blade-slot/vc-blade-slot.vue +0 -143
  547. package/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.ts +0 -188
  548. package/shared/components/blade-navigation/composables/index.ts +0 -5
  549. package/shared/components/blade-navigation/composables/useBladeMessaging.test.ts +0 -189
  550. package/shared/components/blade-navigation/composables/useBladeMessaging.ts +0 -81
  551. package/shared/components/blade-navigation/composables/useBladeNavigationAdapter.ts +0 -513
  552. package/shared/components/blade-navigation/composables/useBladeStack.test.ts +0 -420
  553. package/shared/components/blade-navigation/composables/useBladeStack.ts +0 -335
  554. package/shared/components/blade-navigation/index.ts +0 -4
  555. package/shared/components/blade-navigation/plugin-v2.ts +0 -144
  556. package/shared/components/blade-navigation/types/index.ts +0 -247
  557. package/shared/components/blade-navigation/utils/restoreFromUrl.test.ts +0 -247
  558. package/shared/components/blade-navigation/utils/restoreFromUrl.ts +0 -84
  559. package/shared/components/blade-navigation/utils/urlSync.test.ts +0 -181
  560. package/shared/components/blade-navigation/utils/urlSync.ts +0 -151
  561. package/shared/components/change-password/change-password.vue +0 -231
  562. package/shared/components/change-password/index.ts +0 -10
  563. package/shared/components/change-password-button/change-password-button.stories.ts +0 -63
  564. package/shared/components/change-password-button/change-password-button.vue +0 -23
  565. package/shared/components/change-password-button/index.ts +0 -1
  566. package/shared/components/common/popup/vc-popup-base.vue +0 -133
  567. package/shared/components/common/popup/vc-popup-error.vue +0 -38
  568. package/shared/components/common/popup/vc-popup-info.vue +0 -38
  569. package/shared/components/common/popup/vc-popup-warning.vue +0 -42
  570. package/shared/components/dashboard-charts/ChartContainer.vue +0 -54
  571. package/shared/components/dashboard-charts/ChartLegend.vue +0 -40
  572. package/shared/components/dashboard-charts/ChartTooltip.vue +0 -43
  573. package/shared/components/dashboard-charts/DashboardBarChart.vue +0 -165
  574. package/shared/components/dashboard-charts/DashboardDonutChart.vue +0 -137
  575. package/shared/components/dashboard-charts/DashboardLineChart.vue +0 -170
  576. package/shared/components/dashboard-charts/chart-theme.scss +0 -19
  577. package/shared/components/dashboard-charts/chart-tooltip.scss +0 -48
  578. package/shared/components/dashboard-charts/chart-utils.ts +0 -189
  579. package/shared/components/dashboard-charts/dashboard-charts.stories.ts +0 -393
  580. package/shared/components/dashboard-charts/index.ts +0 -7
  581. package/shared/components/dashboard-charts/types.ts +0 -7
  582. package/shared/components/dashboard-widget-card/dashboard-feed-list.vue +0 -12
  583. package/shared/components/dashboard-widget-card/dashboard-feed-row.vue +0 -28
  584. package/shared/components/dashboard-widget-card/dashboard-stat-item.test.ts +0 -38
  585. package/shared/components/dashboard-widget-card/dashboard-stat-item.vue +0 -55
  586. package/shared/components/dashboard-widget-card/dashboard-widget-card.stories.ts +0 -202
  587. package/shared/components/dashboard-widget-card/dashboard-widget-card.test.ts +0 -72
  588. package/shared/components/dashboard-widget-card/dashboard-widget-card.vue +0 -163
  589. package/shared/components/dashboard-widget-card/index.ts +0 -4
  590. package/shared/components/draggable-dashboard/DraggableDashboard.vue +0 -70
  591. package/shared/components/draggable-dashboard/GridstackDashboard.vue +0 -315
  592. package/shared/components/draggable-dashboard/composables/useGridstack.ts +0 -380
  593. package/shared/components/draggable-dashboard/composables/useGridstackAdapter.ts +0 -245
  594. package/shared/components/draggable-dashboard/draggable-dashboard.stories.ts +0 -175
  595. package/shared/components/draggable-dashboard/index.ts +0 -34
  596. package/shared/components/draggable-dashboard/types.ts +0 -96
  597. package/shared/components/error-interceptor/index.ts +0 -18
  598. package/shared/components/error-interceptor/interceptor.ts +0 -66
  599. package/shared/components/generic-dropdown/generic-dropdown.vue +0 -122
  600. package/shared/components/generic-dropdown/index.ts +0 -7
  601. package/shared/components/index.ts +0 -27
  602. package/shared/components/language-selector/index.ts +0 -10
  603. package/shared/components/language-selector/language-selector.stories.ts +0 -44
  604. package/shared/components/language-selector/language-selector.vue +0 -72
  605. package/shared/components/logout-button/index.ts +0 -1
  606. package/shared/components/logout-button/logout-button.stories.ts +0 -61
  607. package/shared/components/logout-button/logout-button.vue +0 -30
  608. package/shared/components/multilanguage-selector/index.ts +0 -1
  609. package/shared/components/multilanguage-selector/multilanguage-selector.stories.ts +0 -90
  610. package/shared/components/multilanguage-selector/multilanguage-selector.vue +0 -191
  611. package/shared/components/notification-dropdown/_internal/notification/index.ts +0 -1
  612. package/shared/components/notification-dropdown/_internal/notification/notification.vue +0 -78
  613. package/shared/components/notification-dropdown/index.ts +0 -10
  614. package/shared/components/notification-dropdown/notification-dropdown.stories.ts +0 -99
  615. package/shared/components/notification-dropdown/notification-dropdown.vue +0 -40
  616. package/shared/components/notification-template/index.ts +0 -10
  617. package/shared/components/notification-template/notification-template.stories.ts +0 -95
  618. package/shared/components/notification-template/notification-template.vue +0 -131
  619. package/shared/components/notifications/components/index.ts +0 -1
  620. package/shared/components/notifications/components/notification-container/index.ts +0 -153
  621. package/shared/components/notifications/composables/index.ts +0 -2
  622. package/shared/components/notifications/composables/useContainer/index.ts +0 -292
  623. package/shared/components/notifications/composables/useInstance/index.ts +0 -79
  624. package/shared/components/notifications/core/index.ts +0 -1
  625. package/shared/components/notifications/core/notification.ts +0 -202
  626. package/shared/components/notifications/index.ts +0 -6
  627. package/shared/components/notifications/styles/index.scss +0 -133
  628. package/shared/components/notifications/types/index.ts +0 -33
  629. package/shared/components/popup-handler/components/index.ts +0 -1
  630. package/shared/components/popup-handler/components/vc-popup-container/index.ts +0 -3
  631. package/shared/components/popup-handler/components/vc-popup-container/vc-popup-container.vue +0 -49
  632. package/shared/components/popup-handler/composables/index.ts +0 -1
  633. package/shared/components/popup-handler/composables/usePopup/index.ts +0 -209
  634. package/shared/components/popup-handler/index.ts +0 -19
  635. package/shared/components/popup-handler/keys.ts +0 -4
  636. package/shared/components/popup-handler/plugin.ts +0 -25
  637. package/shared/components/popup-handler/types/index.ts +0 -25
  638. package/shared/components/popup-handler/utils/index.ts +0 -9
  639. package/shared/components/settings-menu/index.ts +0 -1
  640. package/shared/components/settings-menu/settings-menu.stories.ts +0 -104
  641. package/shared/components/settings-menu/settings-menu.vue +0 -59
  642. package/shared/components/settings-menu-item/index.ts +0 -1
  643. package/shared/components/settings-menu-item/settings-menu-item.stories.ts +0 -194
  644. package/shared/components/settings-menu-item/settings-menu-item.vue +0 -168
  645. package/shared/components/sidebar/index.ts +0 -7
  646. package/shared/components/sidebar/sidebar.vue +0 -80
  647. package/shared/components/sign-in/external-provider.vue +0 -49
  648. package/shared/components/sign-in/external-providers.vue +0 -26
  649. package/shared/components/sign-in/index.ts +0 -1
  650. package/shared/components/sign-in/useExternalProvider.ts +0 -103
  651. package/shared/components/theme-selector/index.ts +0 -1
  652. package/shared/components/theme-selector/theme-selector.stories.ts +0 -56
  653. package/shared/components/theme-selector/theme-selector.vue +0 -51
  654. package/shared/components/user-dropdown-button/_internal/user-info.vue +0 -114
  655. package/shared/components/user-dropdown-button/_internal/user-sidebar.vue +0 -50
  656. package/shared/components/user-dropdown-button/index.ts +0 -10
  657. package/shared/components/user-dropdown-button/user-dropdown-button.stories.ts +0 -153
  658. package/shared/components/user-dropdown-button/user-dropdown-button.vue +0 -142
  659. package/shared/composables/index.ts +0 -5
  660. package/shared/composables/useExternalWidgets.ts +0 -107
  661. package/shared/composables/useMenuExpanded.ts +0 -64
  662. package/shared/composables/useModificationTracker/index.ts +0 -116
  663. package/shared/composables/useTableSelection.ts +0 -151
  664. package/shared/composables/useTableSort.ts +0 -107
  665. package/shared/index.ts +0 -24
  666. package/shared/modules/assets/components/assets-details/assets-details.vue +0 -238
  667. package/shared/modules/assets/components/assets-details/index.ts +0 -3
  668. package/shared/modules/assets/components/index.ts +0 -1
  669. package/shared/modules/assets/index.ts +0 -12
  670. package/shared/modules/assets-manager/components/assets-manager/assets-manager.vue +0 -442
  671. package/shared/modules/assets-manager/components/assets-manager/index.ts +0 -3
  672. package/shared/modules/assets-manager/components/index.ts +0 -1
  673. package/shared/modules/assets-manager/index.ts +0 -13
  674. package/shared/modules/dynamic/components/FIELD_MAP.ts +0 -53
  675. package/shared/modules/dynamic/components/SchemaRender.ts +0 -102
  676. package/shared/modules/dynamic/components/factories.ts +0 -242
  677. package/shared/modules/dynamic/components/fields/Button.ts +0 -44
  678. package/shared/modules/dynamic/components/fields/Card.ts +0 -119
  679. package/shared/modules/dynamic/components/fields/Checkbox.ts +0 -53
  680. package/shared/modules/dynamic/components/fields/ContentField.ts +0 -33
  681. package/shared/modules/dynamic/components/fields/CustomComponent.ts +0 -29
  682. package/shared/modules/dynamic/components/fields/DynamicProperty.ts +0 -154
  683. package/shared/modules/dynamic/components/fields/EditorField.ts +0 -46
  684. package/shared/modules/dynamic/components/fields/Fieldset.ts +0 -66
  685. package/shared/modules/dynamic/components/fields/GalleryField.ts +0 -162
  686. package/shared/modules/dynamic/components/fields/ImageField.ts +0 -35
  687. package/shared/modules/dynamic/components/fields/InputCurrency.ts +0 -79
  688. package/shared/modules/dynamic/components/fields/InputField.ts +0 -81
  689. package/shared/modules/dynamic/components/fields/MultivalueField.ts +0 -68
  690. package/shared/modules/dynamic/components/fields/RadioButtonGroup.ts +0 -83
  691. package/shared/modules/dynamic/components/fields/RatingField.ts +0 -28
  692. package/shared/modules/dynamic/components/fields/SelectField.ts +0 -72
  693. package/shared/modules/dynamic/components/fields/StatusField.ts +0 -110
  694. package/shared/modules/dynamic/components/fields/SwitchField.ts +0 -29
  695. package/shared/modules/dynamic/components/fields/Table.ts +0 -194
  696. package/shared/modules/dynamic/components/fields/TextareaField.ts +0 -46
  697. package/shared/modules/dynamic/components/fields/ValidationField.ts +0 -54
  698. package/shared/modules/dynamic/components/fields/VideoField.ts +0 -30
  699. package/shared/modules/dynamic/components/fields/props.ts +0 -39
  700. package/shared/modules/dynamic/components/index.ts +0 -4
  701. package/shared/modules/dynamic/composables/index.ts +0 -4
  702. package/shared/modules/dynamic/composables/useDynamicViewsUtils/index.ts +0 -46
  703. package/shared/modules/dynamic/composables/useFilterBuilder/index.ts +0 -441
  704. package/shared/modules/dynamic/composables/useTableTemplates/index.ts +0 -67
  705. package/shared/modules/dynamic/composables/useToolbarReducer/index.ts +0 -70
  706. package/shared/modules/dynamic/factories/base/useDetailsFactory.ts +0 -145
  707. package/shared/modules/dynamic/factories/base/useListFactory.ts +0 -69
  708. package/shared/modules/dynamic/factories/index.ts +0 -4
  709. package/shared/modules/dynamic/factories/types/index.ts +0 -220
  710. package/shared/modules/dynamic/helpers/getters.ts +0 -12
  711. package/shared/modules/dynamic/helpers/methodHandler.ts +0 -22
  712. package/shared/modules/dynamic/helpers/nodeBuilder.ts +0 -242
  713. package/shared/modules/dynamic/helpers/override.ts +0 -153
  714. package/shared/modules/dynamic/helpers/safeIn.ts +0 -6
  715. package/shared/modules/dynamic/helpers/setters.ts +0 -24
  716. package/shared/modules/dynamic/helpers/unrefNested.ts +0 -14
  717. package/shared/modules/dynamic/helpers/unwrapInterpolation.ts +0 -16
  718. package/shared/modules/dynamic/index.ts +0 -314
  719. package/shared/modules/dynamic/keys.ts +0 -3
  720. package/shared/modules/dynamic/pages/dynamic-blade-form.vue +0 -575
  721. package/shared/modules/dynamic/pages/dynamic-blade-list.vue +0 -755
  722. package/shared/modules/dynamic/pages/index.ts +0 -4
  723. package/shared/modules/dynamic/types/index.ts +0 -1220
  724. package/shared/modules/dynamic/types/models.ts +0 -186
  725. package/shared/modules/index.ts +0 -3
  726. package/shared/pages/ChangePasswordPage/components/change-password/ChangePassword.vue +0 -209
  727. package/shared/pages/ChangePasswordPage/components/change-password/change-password.stories.ts +0 -44
  728. package/shared/pages/ChangePasswordPage/components/change-password/index.ts +0 -3
  729. package/shared/pages/ChangePasswordPage/components/index.ts +0 -1
  730. package/shared/pages/ChangePasswordPage/index.ts +0 -1
  731. package/shared/pages/ChangePasswordPage/plugin.ts +0 -4
  732. package/shared/pages/ForgotPasswordPage/components/forgot-password/ForgotPassword.vue +0 -155
  733. package/shared/pages/ForgotPasswordPage/components/forgot-password/forgot-password.stories.ts +0 -38
  734. package/shared/pages/ForgotPasswordPage/components/forgot-password/index.ts +0 -3
  735. package/shared/pages/ForgotPasswordPage/components/index.ts +0 -1
  736. package/shared/pages/ForgotPasswordPage/index.ts +0 -1
  737. package/shared/pages/ForgotPasswordPage/plugin.ts +0 -4
  738. package/shared/pages/InvitePage/components/index.ts +0 -1
  739. package/shared/pages/InvitePage/components/invite/Invite.vue +0 -182
  740. package/shared/pages/InvitePage/components/invite/index.ts +0 -3
  741. package/shared/pages/InvitePage/components/invite/invite.stories.ts +0 -64
  742. package/shared/pages/InvitePage/index.ts +0 -1
  743. package/shared/pages/InvitePage/plugin.ts +0 -4
  744. package/shared/pages/LoginPage/components/index.ts +0 -1
  745. package/shared/pages/LoginPage/components/login/Login.vue +0 -226
  746. package/shared/pages/LoginPage/components/login/README.md +0 -52
  747. package/shared/pages/LoginPage/components/login/index.ts +0 -3
  748. package/shared/pages/LoginPage/components/login/login.stories.ts +0 -52
  749. package/shared/pages/LoginPage/index.ts +0 -1
  750. package/shared/pages/LoginPage/plugin.ts +0 -4
  751. package/shared/pages/ResetPasswordPage/components/index.ts +0 -1
  752. package/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue +0 -176
  753. package/shared/pages/ResetPasswordPage/components/reset-password/index.ts +0 -3
  754. package/shared/pages/ResetPasswordPage/components/reset-password/reset-password.stories.ts +0 -64
  755. package/shared/pages/ResetPasswordPage/index.ts +0 -1
  756. package/shared/pages/ResetPasswordPage/plugin.ts +0 -4
  757. package/shared/pages/_storybook-helpers.ts +0 -71
  758. package/shared/pages/index.ts +0 -5
  759. package/shared/pages/plugin.ts +0 -5
  760. package/shared/utilities/assets.ts +0 -43
  761. package/shared/utilities/colorUtils.ts +0 -64
  762. package/shared/utilities/formatBadgeCount.test.ts +0 -25
  763. package/shared/utilities/formatBadgeCount.ts +0 -15
  764. package/shared/utilities/index.ts +0 -4
  765. package/shared/utilities/vueUtils.ts +0 -50
  766. package/ui/components/atoms/index.ts +0 -21
  767. package/ui/components/atoms/vc-badge/index.ts +0 -1
  768. package/ui/components/atoms/vc-badge/vc-badge.stories.ts +0 -522
  769. package/ui/components/atoms/vc-badge/vc-badge.vue +0 -353
  770. package/ui/components/atoms/vc-banner/index.ts +0 -1
  771. package/ui/components/atoms/vc-banner/vc-banner.stories.ts +0 -259
  772. package/ui/components/atoms/vc-banner/vc-banner.vue +0 -225
  773. package/ui/components/atoms/vc-button/index.ts +0 -3
  774. package/ui/components/atoms/vc-button/types.ts +0 -28
  775. package/ui/components/atoms/vc-button/vc-button-group.stories.ts +0 -172
  776. package/ui/components/atoms/vc-button/vc-button-group.vue +0 -101
  777. package/ui/components/atoms/vc-button/vc-button.a11y.test.ts +0 -46
  778. package/ui/components/atoms/vc-button/vc-button.stories.ts +0 -431
  779. package/ui/components/atoms/vc-button/vc-button.test.ts +0 -75
  780. package/ui/components/atoms/vc-button/vc-button.vue +0 -355
  781. package/ui/components/atoms/vc-card/index.ts +0 -3
  782. package/ui/components/atoms/vc-card/vc-card.stories.ts +0 -342
  783. package/ui/components/atoms/vc-card/vc-card.vue +0 -217
  784. package/ui/components/atoms/vc-col/index.ts +0 -1
  785. package/ui/components/atoms/vc-col/vc-col.stories.ts +0 -164
  786. package/ui/components/atoms/vc-col/vc-col.vue +0 -34
  787. package/ui/components/atoms/vc-container/index.ts +0 -10
  788. package/ui/components/atoms/vc-container/vc-container.stories.ts +0 -219
  789. package/ui/components/atoms/vc-container/vc-container.vue +0 -96
  790. package/ui/components/atoms/vc-hint/index.ts +0 -10
  791. package/ui/components/atoms/vc-hint/vc-hint.stories.ts +0 -144
  792. package/ui/components/atoms/vc-hint/vc-hint.vue +0 -42
  793. package/ui/components/atoms/vc-icon/README.md +0 -273
  794. package/ui/components/atoms/vc-icon/composables/index.ts +0 -2
  795. package/ui/components/atoms/vc-icon/composables/use-icon-type.ts +0 -83
  796. package/ui/components/atoms/vc-icon/composables/use-icon.ts +0 -129
  797. package/ui/components/atoms/vc-icon/icons/MenuBurgerIcon.vue +0 -24
  798. package/ui/components/atoms/vc-icon/icons/index.ts +0 -1
  799. package/ui/components/atoms/vc-icon/index.ts +0 -3
  800. package/ui/components/atoms/vc-icon/types.ts +0 -36
  801. package/ui/components/atoms/vc-icon/vc-bootstrap-icon.vue +0 -124
  802. package/ui/components/atoms/vc-icon/vc-fontawesome-icon.vue +0 -143
  803. package/ui/components/atoms/vc-icon/vc-icon.stories.ts +0 -818
  804. package/ui/components/atoms/vc-icon/vc-icon.vue +0 -609
  805. package/ui/components/atoms/vc-icon/vc-lucide-icon.vue +0 -199
  806. package/ui/components/atoms/vc-icon/vc-material-icon.vue +0 -128
  807. package/ui/components/atoms/vc-icon/vc-svg-icon.vue +0 -168
  808. package/ui/components/atoms/vc-image/index.ts +0 -1
  809. package/ui/components/atoms/vc-image/vc-image.stories.ts +0 -309
  810. package/ui/components/atoms/vc-image/vc-image.vue +0 -173
  811. package/ui/components/atoms/vc-label/index.ts +0 -1
  812. package/ui/components/atoms/vc-label/vc-label.stories.ts +0 -137
  813. package/ui/components/atoms/vc-label/vc-label.vue +0 -132
  814. package/ui/components/atoms/vc-link/index.ts +0 -10
  815. package/ui/components/atoms/vc-link/vc-link.stories.ts +0 -154
  816. package/ui/components/atoms/vc-link/vc-link.vue +0 -61
  817. package/ui/components/atoms/vc-loading/index.ts +0 -3
  818. package/ui/components/atoms/vc-loading/vc-loading.vue +0 -71
  819. package/ui/components/atoms/vc-progress/index.ts +0 -10
  820. package/ui/components/atoms/vc-progress/vc-progress.stories.ts +0 -182
  821. package/ui/components/atoms/vc-progress/vc-progress.vue +0 -74
  822. package/ui/components/atoms/vc-row/index.ts +0 -1
  823. package/ui/components/atoms/vc-row/vc-row.stories.ts +0 -143
  824. package/ui/components/atoms/vc-row/vc-row.vue +0 -27
  825. package/ui/components/atoms/vc-scrollable-container/index.ts +0 -1
  826. package/ui/components/atoms/vc-scrollable-container/vc-scrollable-container.vue +0 -119
  827. package/ui/components/atoms/vc-skeleton/index.ts +0 -1
  828. package/ui/components/atoms/vc-skeleton/vc-skeleton.stories.ts +0 -246
  829. package/ui/components/atoms/vc-skeleton/vc-skeleton.vue +0 -115
  830. package/ui/components/atoms/vc-status/index.ts +0 -1
  831. package/ui/components/atoms/vc-status/vc-status.stories.ts +0 -235
  832. package/ui/components/atoms/vc-status/vc-status.vue +0 -131
  833. package/ui/components/atoms/vc-status-icon/index.ts +0 -1
  834. package/ui/components/atoms/vc-status-icon/vc-status-icon.stories.ts +0 -129
  835. package/ui/components/atoms/vc-status-icon/vc-status-icon.vue +0 -48
  836. package/ui/components/atoms/vc-tooltip/index.ts +0 -1
  837. package/ui/components/atoms/vc-tooltip/vc-tooltip.stories.ts +0 -409
  838. package/ui/components/atoms/vc-tooltip/vc-tooltip.vue +0 -301
  839. package/ui/components/atoms/vc-video/index.ts +0 -1
  840. package/ui/components/atoms/vc-video/vc-video.stories.ts +0 -150
  841. package/ui/components/atoms/vc-video/vc-video.vue +0 -88
  842. package/ui/components/atoms/vc-widget/index.ts +0 -3
  843. package/ui/components/atoms/vc-widget/vc-widget.stories.ts +0 -285
  844. package/ui/components/atoms/vc-widget/vc-widget.vue +0 -174
  845. package/ui/components/index.ts +0 -8
  846. package/ui/components/molecules/index.ts +0 -26
  847. package/ui/components/molecules/vc-accordion/_internal/vc-accordion-item/vc-accordion-item.vue +0 -216
  848. package/ui/components/molecules/vc-accordion/index.ts +0 -11
  849. package/ui/components/molecules/vc-accordion/vc-accordion.stories.ts +0 -526
  850. package/ui/components/molecules/vc-accordion/vc-accordion.vue +0 -176
  851. package/ui/components/molecules/vc-breadcrumbs/_internal/vc-breadcrumbs-item/vc-breadcrumbs-item.vue +0 -98
  852. package/ui/components/molecules/vc-breadcrumbs/index.ts +0 -1
  853. package/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.stories.ts +0 -509
  854. package/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue +0 -176
  855. package/ui/components/molecules/vc-checkbox/index.ts +0 -3
  856. package/ui/components/molecules/vc-checkbox/vc-checkbox.a11y.test.ts +0 -39
  857. package/ui/components/molecules/vc-checkbox/vc-checkbox.stories.ts +0 -356
  858. package/ui/components/molecules/vc-checkbox/vc-checkbox.test.ts +0 -75
  859. package/ui/components/molecules/vc-checkbox/vc-checkbox.vue +0 -355
  860. package/ui/components/molecules/vc-checkbox-group/index.ts +0 -2
  861. package/ui/components/molecules/vc-checkbox-group/vc-checkbox-group.stories.ts +0 -258
  862. package/ui/components/molecules/vc-checkbox-group/vc-checkbox-group.test.ts +0 -40
  863. package/ui/components/molecules/vc-checkbox-group/vc-checkbox-group.vue +0 -103
  864. package/ui/components/molecules/vc-color-input/index.ts +0 -1
  865. package/ui/components/molecules/vc-color-input/vc-color-input.stories.ts +0 -152
  866. package/ui/components/molecules/vc-color-input/vc-color-input.vue +0 -398
  867. package/ui/components/molecules/vc-date-picker/index.ts +0 -1
  868. package/ui/components/molecules/vc-date-picker/vc-date-picker.stories.ts +0 -168
  869. package/ui/components/molecules/vc-date-picker/vc-date-picker.vue +0 -427
  870. package/ui/components/molecules/vc-dropdown/_internal/VcDropdownItem.vue +0 -78
  871. package/ui/components/molecules/vc-dropdown/index.ts +0 -2
  872. package/ui/components/molecules/vc-dropdown/vc-dropdown-item.test.ts +0 -59
  873. package/ui/components/molecules/vc-dropdown/vc-dropdown.stories.ts +0 -394
  874. package/ui/components/molecules/vc-dropdown/vc-dropdown.test.ts +0 -54
  875. package/ui/components/molecules/vc-dropdown/vc-dropdown.vue +0 -546
  876. package/ui/components/molecules/vc-dropdown-panel/index.ts +0 -1
  877. package/ui/components/molecules/vc-dropdown-panel/panel-anchor-registry.ts +0 -5
  878. package/ui/components/molecules/vc-dropdown-panel/vc-dropdown-panel.vue +0 -326
  879. package/ui/components/molecules/vc-editor/_internal/extensions/font-size.ts +0 -59
  880. package/ui/components/molecules/vc-editor/_internal/toolbar-types.ts +0 -57
  881. package/ui/components/molecules/vc-editor/_internal/vc-editor-button.vue +0 -103
  882. package/ui/components/molecules/vc-editor/_internal/vc-editor-custom-button.vue +0 -79
  883. package/ui/components/molecules/vc-editor/_internal/vc-editor-font-selector.vue +0 -215
  884. package/ui/components/molecules/vc-editor/_internal/vc-editor-toolbar.vue +0 -316
  885. package/ui/components/molecules/vc-editor/index.ts +0 -6
  886. package/ui/components/molecules/vc-editor/vc-editor.stories.ts +0 -417
  887. package/ui/components/molecules/vc-editor/vc-editor.vue +0 -833
  888. package/ui/components/molecules/vc-field/_internal/vc-field-type/vc-field-type.vue +0 -96
  889. package/ui/components/molecules/vc-field/index.ts +0 -1
  890. package/ui/components/molecules/vc-field/vc-field.stories.ts +0 -179
  891. package/ui/components/molecules/vc-field/vc-field.vue +0 -119
  892. package/ui/components/molecules/vc-file-upload/index.ts +0 -1
  893. package/ui/components/molecules/vc-file-upload/vc-file-upload.stories.ts +0 -472
  894. package/ui/components/molecules/vc-file-upload/vc-file-upload.vue +0 -271
  895. package/ui/components/molecules/vc-form/index.ts +0 -10
  896. package/ui/components/molecules/vc-form/vc-form.stories.ts +0 -168
  897. package/ui/components/molecules/vc-form/vc-form.vue +0 -38
  898. package/ui/components/molecules/vc-input/index.ts +0 -1
  899. package/ui/components/molecules/vc-input/vc-input.a11y.test.ts +0 -57
  900. package/ui/components/molecules/vc-input/vc-input.stories.ts +0 -1004
  901. package/ui/components/molecules/vc-input/vc-input.test.ts +0 -114
  902. package/ui/components/molecules/vc-input/vc-input.vue +0 -731
  903. package/ui/components/molecules/vc-input-currency/index.ts +0 -1
  904. package/ui/components/molecules/vc-input-currency/vc-input-currency.stories.ts +0 -532
  905. package/ui/components/molecules/vc-input-currency/vc-input-currency.vue +0 -199
  906. package/ui/components/molecules/vc-input-dropdown/index.ts +0 -3
  907. package/ui/components/molecules/vc-input-dropdown/vc-input-dropdown.stories.ts +0 -761
  908. package/ui/components/molecules/vc-input-dropdown/vc-input-dropdown.vue +0 -305
  909. package/ui/components/molecules/vc-input-group/context.ts +0 -10
  910. package/ui/components/molecules/vc-input-group/index.ts +0 -2
  911. package/ui/components/molecules/vc-input-group/vc-input-group.stories.ts +0 -355
  912. package/ui/components/molecules/vc-input-group/vc-input-group.test.ts +0 -39
  913. package/ui/components/molecules/vc-input-group/vc-input-group.vue +0 -173
  914. package/ui/components/molecules/vc-multivalue/_internal/MultivalueDropdown.vue +0 -216
  915. package/ui/components/molecules/vc-multivalue/_internal/MultivalueTrigger.vue +0 -207
  916. package/ui/components/molecules/vc-multivalue/composables/index.ts +0 -6
  917. package/ui/components/molecules/vc-multivalue/composables/useMultivalueColor.ts +0 -50
  918. package/ui/components/molecules/vc-multivalue/composables/useMultivalueDropdown.ts +0 -126
  919. package/ui/components/molecules/vc-multivalue/composables/useMultivalueInput.ts +0 -64
  920. package/ui/components/molecules/vc-multivalue/composables/useMultivalueMode.ts +0 -32
  921. package/ui/components/molecules/vc-multivalue/composables/useMultivalueOptions.ts +0 -27
  922. package/ui/components/molecules/vc-multivalue/composables/useMultivalueValues.ts +0 -50
  923. package/ui/components/molecules/vc-multivalue/index.ts +0 -1
  924. package/ui/components/molecules/vc-multivalue/vc-multivalue.stories.ts +0 -561
  925. package/ui/components/molecules/vc-multivalue/vc-multivalue.vue +0 -547
  926. package/ui/components/molecules/vc-pagination/index.ts +0 -3
  927. package/ui/components/molecules/vc-pagination/vc-pagination.stories.ts +0 -259
  928. package/ui/components/molecules/vc-pagination/vc-pagination.vue +0 -244
  929. package/ui/components/molecules/vc-radio-button/index.ts +0 -1
  930. package/ui/components/molecules/vc-radio-button/vc-radio-button.stories.ts +0 -283
  931. package/ui/components/molecules/vc-radio-button/vc-radio-button.vue +0 -195
  932. package/ui/components/molecules/vc-radio-group/index.ts +0 -2
  933. package/ui/components/molecules/vc-radio-group/vc-radio-group.stories.ts +0 -248
  934. package/ui/components/molecules/vc-radio-group/vc-radio-group.test.ts +0 -51
  935. package/ui/components/molecules/vc-radio-group/vc-radio-group.vue +0 -92
  936. package/ui/components/molecules/vc-rating/index.ts +0 -1
  937. package/ui/components/molecules/vc-rating/vc-rating.stories.ts +0 -363
  938. package/ui/components/molecules/vc-rating/vc-rating.vue +0 -128
  939. package/ui/components/molecules/vc-select/_internal/SelectDropdown.vue +0 -200
  940. package/ui/components/molecules/vc-select/_internal/SelectTrigger.vue +0 -301
  941. package/ui/components/molecules/vc-select/composables/index.ts +0 -7
  942. package/ui/components/molecules/vc-select/composables/useSelectDefaultValue.ts +0 -106
  943. package/ui/components/molecules/vc-select/composables/useSelectDropdown.ts +0 -88
  944. package/ui/components/molecules/vc-select/composables/useSelectOptions.ts +0 -125
  945. package/ui/components/molecules/vc-select/composables/useSelectSearch.ts +0 -83
  946. package/ui/components/molecules/vc-select/composables/useSelectSelection.ts +0 -170
  947. package/ui/components/molecules/vc-select/composables/useSelectValueMapping.ts +0 -57
  948. package/ui/components/molecules/vc-select/composables/useSelectVisibility.ts +0 -60
  949. package/ui/components/molecules/vc-select/index.ts +0 -2
  950. package/ui/components/molecules/vc-select/vc-select.stories.ts +0 -1730
  951. package/ui/components/molecules/vc-select/vc-select.test.ts +0 -89
  952. package/ui/components/molecules/vc-select/vc-select.vue +0 -862
  953. package/ui/components/molecules/vc-slider/index.ts +0 -13
  954. package/ui/components/molecules/vc-slider/vc-slider.stories.ts +0 -224
  955. package/ui/components/molecules/vc-slider/vc-slider.vue +0 -148
  956. package/ui/components/molecules/vc-switch/index.ts +0 -1
  957. package/ui/components/molecules/vc-switch/vc-switch.stories.ts +0 -324
  958. package/ui/components/molecules/vc-switch/vc-switch.vue +0 -237
  959. package/ui/components/molecules/vc-textarea/index.ts +0 -1
  960. package/ui/components/molecules/vc-textarea/vc-textarea.a11y.test.ts +0 -44
  961. package/ui/components/molecules/vc-textarea/vc-textarea.stories.ts +0 -326
  962. package/ui/components/molecules/vc-textarea/vc-textarea.vue +0 -229
  963. package/ui/components/molecules/vc-toast/index.ts +0 -1
  964. package/ui/components/molecules/vc-toast/vc-toast.stories.ts +0 -559
  965. package/ui/components/molecules/vc-toast/vc-toast.vue +0 -649
  966. package/ui/components/organisms/blade-navigation-v2.stories.ts +0 -611
  967. package/ui/components/organisms/index.ts +0 -9
  968. package/ui/components/organisms/vc-app/_internal/app-bar/components/AppBarMobileActions.vue +0 -128
  969. package/ui/components/organisms/vc-app/_internal/app-bar/components/AppBarOverlay.vue +0 -91
  970. package/ui/components/organisms/vc-app/_internal/app-bar/components/AppBarWidgetContent.vue +0 -40
  971. package/ui/components/organisms/vc-app/_internal/app-bar/components/AppBarWidgetItem.vue +0 -154
  972. package/ui/components/organisms/vc-app/_internal/app-bar/components/AppBarWidgetsMenu.vue +0 -110
  973. package/ui/components/organisms/vc-app/_internal/app-bar/components/AppHubContent.test.ts +0 -174
  974. package/ui/components/organisms/vc-app/_internal/app-bar/components/AppHubContent.vue +0 -730
  975. package/ui/components/organisms/vc-app/_internal/app-bar/components/AppHubPopover.vue +0 -79
  976. package/ui/components/organisms/vc-app/_internal/app-bar/components/MenuSidebar.vue +0 -196
  977. package/ui/components/organisms/vc-app/_internal/app-bar/composables/useAppBarMobileActions.ts +0 -50
  978. package/ui/components/organisms/vc-app/_internal/app-bar/composables/useAppBarState.ts +0 -35
  979. package/ui/components/organisms/vc-app/_internal/app-bar/composables/useAppBarWidgets.ts +0 -25
  980. package/ui/components/organisms/vc-app/_internal/app-bar/composables/useAppHub.ts +0 -70
  981. package/ui/components/organisms/vc-app/_internal/app-bar/composables/useToggleableContent.ts +0 -67
  982. package/ui/components/organisms/vc-app/_internal/layouts/DesktopLayout.vue +0 -365
  983. package/ui/components/organisms/vc-app/_internal/layouts/MobileLayout.test.ts +0 -151
  984. package/ui/components/organisms/vc-app/_internal/layouts/MobileLayout.vue +0 -587
  985. package/ui/components/organisms/vc-app/_internal/menu/VcAppMenu.test.ts +0 -43
  986. package/ui/components/organisms/vc-app/_internal/menu/VcAppMenu.vue +0 -158
  987. package/ui/components/organisms/vc-app/_internal/menu/VcAppMenuGroup.vue +0 -160
  988. package/ui/components/organisms/vc-app/_internal/menu/VcAppMenuItem.vue +0 -216
  989. package/ui/components/organisms/vc-app/_internal/menu/composables/useBadge.ts +0 -82
  990. package/ui/components/organisms/vc-app/_internal/menu/composables/useMenuActiveState.ts +0 -41
  991. package/ui/components/organisms/vc-app/_internal/sidebar/SidebarCollapseButton.vue +0 -47
  992. package/ui/components/organisms/vc-app/_internal/sidebar/SidebarContent.vue +0 -123
  993. package/ui/components/organisms/vc-app/_internal/sidebar/SidebarHeader.vue +0 -242
  994. package/ui/components/organisms/vc-app/composables/useShellBootstrap.test.ts +0 -222
  995. package/ui/components/organisms/vc-app/composables/useShellBootstrap.ts +0 -101
  996. package/ui/components/organisms/vc-app/composables/useShellLifecycle.ts +0 -39
  997. package/ui/components/organisms/vc-app/composables/useShellNavigation.ts +0 -57
  998. package/ui/components/organisms/vc-app/composition/README.md +0 -78
  999. package/ui/components/organisms/vc-app/composition/app-bar/index.ts +0 -6
  1000. package/ui/components/organisms/vc-app/composition/index.ts +0 -6
  1001. package/ui/components/organisms/vc-app/composition/layouts/index.ts +0 -2
  1002. package/ui/components/organisms/vc-app/composition/menu/index.ts +0 -6
  1003. package/ui/components/organisms/vc-app/composition/shell/index.ts +0 -3
  1004. package/ui/components/organisms/vc-app/composition/sidebar/index.ts +0 -3
  1005. package/ui/components/organisms/vc-app/composition/state/index.ts +0 -6
  1006. package/ui/components/organisms/vc-app/index.ts +0 -2
  1007. package/ui/components/organisms/vc-app/vc-app-shell.stories.ts +0 -762
  1008. package/ui/components/organisms/vc-app/vc-app.vue +0 -252
  1009. package/ui/components/organisms/vc-auth-layout/index.ts +0 -1
  1010. package/ui/components/organisms/vc-auth-layout/vc-auth-layout.vue +0 -193
  1011. package/ui/components/organisms/vc-blade/_internal/BladeContentSkeleton.vue +0 -113
  1012. package/ui/components/organisms/vc-blade/_internal/BladeHeader.vue +0 -263
  1013. package/ui/components/organisms/vc-blade/_internal/BladeHeaderSkeleton.vue +0 -52
  1014. package/ui/components/organisms/vc-blade/_internal/BladeStatusBanners.vue +0 -195
  1015. package/ui/components/organisms/vc-blade/_internal/BladeToolbar.vue +0 -73
  1016. package/ui/components/organisms/vc-blade/_internal/BladeToolbarSkeleton.vue +0 -34
  1017. package/ui/components/organisms/vc-blade/_internal/composables/useBladeError.ts +0 -44
  1018. package/ui/components/organisms/vc-blade/_internal/composables/useToolbarRegistration.ts +0 -116
  1019. package/ui/components/organisms/vc-blade/_internal/toolbar/ToolbarBaseButton.test.ts +0 -79
  1020. package/ui/components/organisms/vc-blade/_internal/toolbar/ToolbarBaseButton.vue +0 -135
  1021. package/ui/components/organisms/vc-blade/_internal/toolbar/ToolbarCircleButton.vue +0 -101
  1022. package/ui/components/organisms/vc-blade/_internal/toolbar/ToolbarDesktop.vue +0 -125
  1023. package/ui/components/organisms/vc-blade/_internal/toolbar/ToolbarMobile.vue +0 -417
  1024. package/ui/components/organisms/vc-blade/_internal/toolbar/toolbar-button-props.ts +0 -14
  1025. package/ui/components/organisms/vc-blade/_internal/widgets/WidgetContainer.vue +0 -38
  1026. package/ui/components/organisms/vc-blade/_internal/widgets/WidgetContainerDesktop.vue +0 -125
  1027. package/ui/components/organisms/vc-blade/_internal/widgets/WidgetContainerMobile.vue +0 -114
  1028. package/ui/components/organisms/vc-blade/_internal/widgets/WidgetDropdownItem.test.ts +0 -56
  1029. package/ui/components/organisms/vc-blade/_internal/widgets/WidgetDropdownItem.vue +0 -91
  1030. package/ui/components/organisms/vc-blade/constants.ts +0 -19
  1031. package/ui/components/organisms/vc-blade/index.ts +0 -1
  1032. package/ui/components/organisms/vc-blade/utils.test.ts +0 -82
  1033. package/ui/components/organisms/vc-blade/utils.ts +0 -48
  1034. package/ui/components/organisms/vc-blade/vc-blade.stories.ts +0 -502
  1035. package/ui/components/organisms/vc-blade/vc-blade.vue +0 -312
  1036. package/ui/components/organisms/vc-dynamic-property/index.ts +0 -1
  1037. package/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue +0 -618
  1038. package/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.test.ts +0 -48
  1039. package/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue +0 -244
  1040. package/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue +0 -351
  1041. package/ui/components/organisms/vc-gallery/composables/index.ts +0 -4
  1042. package/ui/components/organisms/vc-gallery/composables/useGalleryPreview.ts +0 -26
  1043. package/ui/components/organisms/vc-gallery/composables/useGalleryReorder.test.ts +0 -73
  1044. package/ui/components/organisms/vc-gallery/composables/useGalleryReorder.ts +0 -183
  1045. package/ui/components/organisms/vc-gallery/composables/useGalleryUpload.test.ts +0 -89
  1046. package/ui/components/organisms/vc-gallery/composables/useGalleryUpload.ts +0 -43
  1047. package/ui/components/organisms/vc-gallery/composables/useImageLoad.test.ts +0 -34
  1048. package/ui/components/organisms/vc-gallery/composables/useImageLoad.ts +0 -26
  1049. package/ui/components/organisms/vc-gallery/index.ts +0 -3
  1050. package/ui/components/organisms/vc-gallery/vc-gallery.actions.test.ts +0 -76
  1051. package/ui/components/organisms/vc-gallery/vc-gallery.stories.ts +0 -99
  1052. package/ui/components/organisms/vc-gallery/vc-gallery.vue +0 -424
  1053. package/ui/components/organisms/vc-image-upload/index.ts +0 -1
  1054. package/ui/components/organisms/vc-image-upload/vc-image-upload.stories.ts +0 -47
  1055. package/ui/components/organisms/vc-image-upload/vc-image-upload.vue +0 -251
  1056. package/ui/components/organisms/vc-popup/index.ts +0 -3
  1057. package/ui/components/organisms/vc-popup/vc-popup.stories.ts +0 -504
  1058. package/ui/components/organisms/vc-popup/vc-popup.vue +0 -405
  1059. package/ui/components/organisms/vc-sidebar/index.ts +0 -1
  1060. package/ui/components/organisms/vc-sidebar/vc-sidebar.stories.ts +0 -251
  1061. package/ui/components/organisms/vc-sidebar/vc-sidebar.test.ts +0 -125
  1062. package/ui/components/organisms/vc-sidebar/vc-sidebar.vue +0 -787
  1063. package/ui/components/organisms/vc-table/VcDataTable.vue +0 -1856
  1064. package/ui/components/organisms/vc-table/VcTableAdapter.vue +0 -574
  1065. package/ui/components/organisms/vc-table/_internal/vc-table-base-header/vc-table-base-header.vue +0 -134
  1066. package/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue +0 -451
  1067. package/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue +0 -123
  1068. package/ui/components/organisms/vc-table/_internal/vc-table-counter/vc-table-counter.vue +0 -38
  1069. package/ui/components/organisms/vc-table/_internal/vc-table-empty/vc-table-empty.vue +0 -88
  1070. package/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue +0 -238
  1071. package/ui/components/organisms/vc-table/base/BaseVcDataTable.ts +0 -541
  1072. package/ui/components/organisms/vc-table/components/ColumnFilter.vue +0 -459
  1073. package/ui/components/organisms/vc-table/components/ColumnSwitcherButton.vue +0 -43
  1074. package/ui/components/organisms/vc-table/components/DataTableBody.vue +0 -363
  1075. package/ui/components/organisms/vc-table/components/DataTableCellRenderer.vue +0 -396
  1076. package/ui/components/organisms/vc-table/components/DataTableHeader.vue +0 -373
  1077. package/ui/components/organisms/vc-table/components/DataTableRow.vue +0 -370
  1078. package/ui/components/organisms/vc-table/components/GlobalFiltersButton.vue +0 -58
  1079. package/ui/components/organisms/vc-table/components/GlobalFiltersPanel.vue +0 -440
  1080. package/ui/components/organisms/vc-table/components/Table.vue +0 -101
  1081. package/ui/components/organisms/vc-table/components/TableActions.vue +0 -125
  1082. package/ui/components/organisms/vc-table/components/TableAddRowButton.vue +0 -55
  1083. package/ui/components/organisms/vc-table/components/TableBody.vue +0 -79
  1084. package/ui/components/organisms/vc-table/components/TableCell.vue +0 -160
  1085. package/ui/components/organisms/vc-table/components/TableCheckbox.vue +0 -78
  1086. package/ui/components/organisms/vc-table/components/TableColumnSwitcher.vue +0 -150
  1087. package/ui/components/organisms/vc-table/components/TableEmpty.vue +0 -69
  1088. package/ui/components/organisms/vc-table/components/TableFooter.vue +0 -13
  1089. package/ui/components/organisms/vc-table/components/TableGroupRow.vue +0 -130
  1090. package/ui/components/organisms/vc-table/components/TableHead.vue +0 -311
  1091. package/ui/components/organisms/vc-table/components/TableHeader.vue +0 -13
  1092. package/ui/components/organisms/vc-table/components/TableResizeHandle.vue +0 -125
  1093. package/ui/components/organisms/vc-table/components/TableRow.vue +0 -283
  1094. package/ui/components/organisms/vc-table/components/TableRowActions.vue +0 -495
  1095. package/ui/components/organisms/vc-table/components/TableSearchHeader.vue +0 -233
  1096. package/ui/components/organisms/vc-table/components/TableSelectAllBar.vue +0 -135
  1097. package/ui/components/organisms/vc-table/components/VcColumn.vue +0 -255
  1098. package/ui/components/organisms/vc-table/components/_internal/SlotProxy.ts +0 -20
  1099. package/ui/components/organisms/vc-table/components/_internal/TableSkeletonRows.vue +0 -110
  1100. package/ui/components/organisms/vc-table/components/cells/CellDate.vue +0 -52
  1101. package/ui/components/organisms/vc-table/components/cells/CellDateAgo.vue +0 -48
  1102. package/ui/components/organisms/vc-table/components/cells/CellDefault.vue +0 -90
  1103. package/ui/components/organisms/vc-table/components/cells/CellEditableWrapper.vue +0 -47
  1104. package/ui/components/organisms/vc-table/components/cells/CellHtml.vue +0 -62
  1105. package/ui/components/organisms/vc-table/components/cells/CellImage.vue +0 -28
  1106. package/ui/components/organisms/vc-table/components/cells/CellLink.vue +0 -18
  1107. package/ui/components/organisms/vc-table/components/cells/CellMoney.vue +0 -120
  1108. package/ui/components/organisms/vc-table/components/cells/CellNumber.vue +0 -113
  1109. package/ui/components/organisms/vc-table/components/cells/CellStatus.vue +0 -18
  1110. package/ui/components/organisms/vc-table/components/cells/CellStatusIcon.vue +0 -20
  1111. package/ui/components/organisms/vc-table/components/cells/DynamicCellRenderer.vue +0 -164
  1112. package/ui/components/organisms/vc-table/components/cells/index.ts +0 -11
  1113. package/ui/components/organisms/vc-table/components/index.ts +0 -39
  1114. package/ui/components/organisms/vc-table/components/mobile/DataTableMobileCard.vue +0 -672
  1115. package/ui/components/organisms/vc-table/components/mobile/DataTableMobileView.vue +0 -251
  1116. package/ui/components/organisms/vc-table/components/mobile/MobileActionSheet.vue +0 -163
  1117. package/ui/components/organisms/vc-table/components/mobile/MobileCellRenderer.vue +0 -68
  1118. package/ui/components/organisms/vc-table/components/mobile/PullToRefresh.vue +0 -353
  1119. package/ui/components/organisms/vc-table/components/mobile/index.ts +0 -6
  1120. package/ui/components/organisms/vc-table/composables/index.ts +0 -49
  1121. package/ui/components/organisms/vc-table/composables/useCellBase.ts +0 -114
  1122. package/ui/components/organisms/vc-table/composables/useCellRegistry.ts +0 -130
  1123. package/ui/components/organisms/vc-table/composables/useColumnFilter.ts +0 -158
  1124. package/ui/components/organisms/vc-table/composables/useDataProcessing.ts +0 -239
  1125. package/ui/components/organisms/vc-table/composables/useDataTableState.test.ts +0 -78
  1126. package/ui/components/organisms/vc-table/composables/useDataTableState.ts +0 -343
  1127. package/ui/components/organisms/vc-table/composables/useMobileCardLayout.test.ts +0 -81
  1128. package/ui/components/organisms/vc-table/composables/useMobileCardLayout.ts +0 -345
  1129. package/ui/components/organisms/vc-table/composables/useTableColumns.ts +0 -276
  1130. package/ui/components/organisms/vc-table/composables/useTableColumnsReorder.ts +0 -175
  1131. package/ui/components/organisms/vc-table/composables/useTableColumnsResize.ts +0 -311
  1132. package/ui/components/organisms/vc-table/composables/useTableContext.ts +0 -16
  1133. package/ui/components/organisms/vc-table/composables/useTableEditing.ts +0 -385
  1134. package/ui/components/organisms/vc-table/composables/useTableExpansion.ts +0 -159
  1135. package/ui/components/organisms/vc-table/composables/useTableFilter.test.ts +0 -43
  1136. package/ui/components/organisms/vc-table/composables/useTableFilter.ts +0 -131
  1137. package/ui/components/organisms/vc-table/composables/useTableInlineEdit.ts +0 -306
  1138. package/ui/components/organisms/vc-table/composables/useTableRowGrouping.ts +0 -310
  1139. package/ui/components/organisms/vc-table/composables/useTableRowReorder.ts +0 -227
  1140. package/ui/components/organisms/vc-table/composables/useTableSelectionV2.ts +0 -388
  1141. package/ui/components/organisms/vc-table/composables/useTableSort.ts +0 -221
  1142. package/ui/components/organisms/vc-table/composables/useTableSwipe.ts +0 -32
  1143. package/ui/components/organisms/vc-table/composables/useVirtualScroll.ts +0 -286
  1144. package/ui/components/organisms/vc-table/index.ts +0 -68
  1145. package/ui/components/organisms/vc-table/keys.ts +0 -20
  1146. package/ui/components/organisms/vc-table/types.ts +0 -856
  1147. package/ui/components/organisms/vc-table/utils/ColumnCollector.ts +0 -137
  1148. package/ui/components/organisms/vc-table/utils/deepClone.ts +0 -46
  1149. package/ui/components/organisms/vc-table/utils/index.ts +0 -19
  1150. package/ui/components/organisms/vc-table/vc-data-table.stories.ts +0 -5178
  1151. package/ui/composables/README.md +0 -160
  1152. package/ui/composables/index.ts +0 -6
  1153. package/ui/composables/useAdaptiveItems.ts +0 -347
  1154. package/ui/composables/useCollapsible.ts +0 -73
  1155. package/ui/composables/useFloatingPosition.ts +0 -94
  1156. package/ui/composables/useFormField.ts +0 -57
  1157. package/ui/composables/useScrollArrows.ts +0 -64
  1158. package/ui/composables/useTeleportTarget.ts +0 -37
  1159. package/ui/types/form-field.ts +0 -44
  1160. package/ui/types/index.ts +0 -21
@@ -1,1730 +0,0 @@
1
- import type { Meta, StoryObj } from "@storybook/vue3-vite";
2
- import { VcSelect } from "@ui/components/molecules/vc-select";
3
- import { ref, h, computed } from "vue";
4
- import { VcIcon } from "@ui/components/atoms/vc-icon";
5
- import { VcButton } from "@ui/components/atoms/vc-button";
6
-
7
- /**
8
- * `VcSelect` is a versatile dropdown component for selecting single or multiple options.
9
- * It supports various data sources, async loading, searching, and extensive customization through slots.
10
- */
11
- const meta = {
12
- title: "Molecules/VcSelect",
13
- component: VcSelect,
14
- tags: ["autodocs"],
15
- args: {
16
- label: "Select",
17
- placeholder: "Select an option",
18
- options: [
19
- { id: 1, title: "Option 1" },
20
- { id: 2, title: "Option 2" },
21
- { id: 3, title: "Option 3" },
22
- { id: 4, title: "Option 4" },
23
- { id: 5, title: "Option 5" },
24
- ],
25
- optionValue: "id",
26
- optionLabel: "title",
27
- },
28
- argTypes: {
29
- modelValue: {
30
- description: "Value of the select (v-model)",
31
- control: "text",
32
- table: {
33
- category: "Model",
34
- type: { summary: "any" },
35
- },
36
- },
37
- options: {
38
- description: `Options for the select dropdown. Can be an array of objects, an array of primitives, or an async function`,
39
- control: "object",
40
- table: {
41
- category: "Data",
42
- type: {
43
- summary: "Array<any> | Function",
44
- detail: `Can be:
45
- 1) Array of objects (with optionValue and optionLabel properties)
46
- 2) Array of primitive values (strings, numbers)
47
- 3) Async function: (keyword?: string, skip?: number, ids?: string[]) => Promise<{ results: any[] }>`,
48
- },
49
- },
50
- },
51
- optionValue: {
52
- description: "Property name or function to get the value from option objects",
53
- control: "text",
54
- table: {
55
- category: "Data",
56
- type: {
57
- summary: "string | Function",
58
- detail: "Property name to use as value or function that returns value from option object",
59
- },
60
- defaultValue: { summary: "id" },
61
- },
62
- },
63
- optionLabel: {
64
- description: "Property name or function to get the display label from option objects",
65
- control: "text",
66
- table: {
67
- category: "Data",
68
- type: {
69
- summary: "string | Function",
70
- detail: "Property name to use as label or function that returns label from option object",
71
- },
72
- defaultValue: { summary: "title" },
73
- },
74
- },
75
- label: {
76
- description: "Label text displayed above the select",
77
- control: "text",
78
- table: {
79
- category: "Appearance",
80
- type: { summary: "string" },
81
- },
82
- },
83
- placeholder: {
84
- description: "Placeholder text when no value is selected",
85
- control: "text",
86
- table: {
87
- category: "Appearance",
88
- type: { summary: "string" },
89
- },
90
- },
91
- debounce: {
92
- description: "Debounce time for search input (in milliseconds)",
93
- control: "number",
94
- table: {
95
- category: "Behavior",
96
- type: { summary: "number" },
97
- defaultValue: { summary: 300 },
98
- },
99
- },
100
- clearable: {
101
- description: "Whether the select allows clearing the selected value",
102
- control: "boolean",
103
- table: {
104
- category: "Behavior",
105
- type: { summary: "boolean" },
106
- defaultValue: { summary: false },
107
- },
108
- },
109
- emitValue: {
110
- description: "Emit only the value instead of the entire option object",
111
- control: "boolean",
112
- table: {
113
- category: "Model",
114
- type: { summary: "boolean" },
115
- defaultValue: { summary: true },
116
- },
117
- },
118
- searchable: {
119
- description: "Enable searching/filtering options",
120
- control: "boolean",
121
- table: {
122
- category: "Behavior",
123
- type: { summary: "boolean" },
124
- defaultValue: { summary: false },
125
- },
126
- },
127
- multiple: {
128
- description: "Allow selecting multiple values",
129
- control: "boolean",
130
- table: {
131
- category: "Behavior",
132
- type: { summary: "boolean" },
133
- defaultValue: { summary: false },
134
- },
135
- },
136
- disabled: {
137
- description: "Disable the select component",
138
- control: "boolean",
139
- table: {
140
- category: "State",
141
- type: { summary: "boolean" },
142
- defaultValue: { summary: false },
143
- },
144
- },
145
- required: {
146
- description: "Mark the select as required (shows asterisk)",
147
- control: "boolean",
148
- table: {
149
- category: "Validation",
150
- type: { summary: "boolean" },
151
- defaultValue: { summary: false },
152
- },
153
- },
154
- error: {
155
- description: "Show the select in error state",
156
- control: "boolean",
157
- table: {
158
- category: "Validation",
159
- type: { summary: "boolean" },
160
- defaultValue: { summary: false },
161
- },
162
- },
163
- errorMessage: {
164
- description: "Error message to display below the select",
165
- control: "text",
166
- table: {
167
- category: "Validation",
168
- type: { summary: "string" },
169
- },
170
- },
171
- hint: {
172
- description: "Hint text to display below the select",
173
- control: "text",
174
- table: {
175
- category: "Appearance",
176
- type: { summary: "string" },
177
- },
178
- },
179
- tooltip: {
180
- description: "Tooltip text to display next to the label",
181
- control: "text",
182
- table: {
183
- category: "Appearance",
184
- type: { summary: "string" },
185
- },
186
- },
187
- prefix: {
188
- description: "Prefix text to display inside the select field",
189
- control: "text",
190
- table: {
191
- category: "Appearance",
192
- type: { summary: "string" },
193
- },
194
- },
195
- suffix: {
196
- description: "Suffix text to display inside the select field",
197
- control: "text",
198
- table: {
199
- category: "Appearance",
200
- type: { summary: "string" },
201
- },
202
- },
203
- size: {
204
- description: "Size of the select field",
205
- control: "select",
206
- options: ["default", "small"],
207
- table: {
208
- category: "Appearance",
209
- type: { summary: "'default' | 'small'" },
210
- defaultValue: { summary: "default" },
211
- },
212
- },
213
- mapOptions: {
214
- description: "Map labels of model from options array",
215
- control: "boolean",
216
- table: {
217
- category: "Behavior",
218
- type: { summary: "boolean" },
219
- defaultValue: { summary: true },
220
- },
221
- },
222
- loading: {
223
- description: "Show loading state",
224
- control: "boolean",
225
- table: {
226
- category: "State",
227
- type: { summary: "boolean" },
228
- defaultValue: { summary: false },
229
- },
230
- },
231
- outline: {
232
- description: "Whether to show an outline around the select",
233
- control: "boolean",
234
- table: {
235
- category: "Appearance",
236
- type: { summary: "boolean" },
237
- defaultValue: { summary: true },
238
- },
239
- },
240
- control: {
241
- description: "Slot for customizing the entire control element",
242
- table: {
243
- category: "Slots",
244
- type: { summary: "{ toggleHandler: () => void }" },
245
- },
246
- },
247
- "prepend-inner": {
248
- description: "Slot for content to prepend inside the select field",
249
- table: {
250
- category: "Slots",
251
- type: { summary: "VNode | string" },
252
- },
253
- },
254
- "append-inner": {
255
- description: "Slot for content to append inside the select field",
256
- table: {
257
- category: "Slots",
258
- type: { summary: "VNode | string" },
259
- },
260
- },
261
- prepend: {
262
- description: "Slot for content to prepend outside the select field",
263
- table: {
264
- category: "Slots",
265
- type: { summary: "VNode | string" },
266
- },
267
- },
268
- append: {
269
- description: "Slot for content to append outside the select field",
270
- table: {
271
- category: "Slots",
272
- type: { summary: "VNode | string" },
273
- },
274
- },
275
- "selected-item": {
276
- description: "Slot for customizing the selected item display",
277
- table: {
278
- category: "Slots",
279
- type: { summary: "{ index: number, opt: any, selected: boolean, removeAtIndex: Function }" },
280
- },
281
- },
282
- option: {
283
- description: "Slot for customizing option display in the dropdown",
284
- table: {
285
- category: "Slots",
286
- type: { summary: "{ index: number, opt: any, selected: boolean, toggleOption: Function, label: string }" },
287
- },
288
- },
289
- // error: {
290
- // description: "Slot for custom error message",
291
- // table: {
292
- // category: "Slots",
293
- // type: { summary: "VNode | string" },
294
- // },
295
- // },
296
- // hint: {
297
- // description: "Slot for custom hint",
298
- // table: {
299
- // category: "Slots",
300
- // type: { summary: "VNode | string" },
301
- // },
302
- // },
303
- "no-options": {
304
- description: "Slot for customizing the 'no options' state",
305
- table: {
306
- category: "Slots",
307
- type: { summary: "VNode | string" },
308
- },
309
- },
310
- },
311
- parameters: {
312
- docs: {
313
- description: {
314
- component: `
315
- A comprehensive select component for Vue 3 with the following features:
316
-
317
- ## Key Features
318
- - Single and multiple selection modes
319
- - Object and primitive value support
320
- - Async options loading with pagination
321
- - Searchable dropdown
322
- - Rich customization through slots and props
323
- - Keyboard navigation support
324
- - Various states (loading, error, disabled)
325
- - Customizable appearance (prefix, suffix, size)
326
-
327
- ## Slot System
328
- The component has an extensive slot system for customization:
329
- - \`control\`: Customize the entire control element
330
- - \`prepend\`/\`append\`: Add content before/after the select
331
- - \`prepend-inner\`/\`append-inner\`: Add content inside the select field
332
- - \`selected-item\`: Customize how selected items appear
333
- - \`option\`: Customize how dropdown options appear
334
- - \`error\`/\`hint\`: Custom error/hint messages
335
- - \`no-options\`: Custom message when no options are available
336
-
337
- ## Usage Example
338
-
339
- \`\`\`vue
340
- <template>
341
- <VcSelect
342
- v-model="selectedValue"
343
- :options="options"
344
- label="Country"
345
- placeholder="Select a country"
346
- :searchable="true"
347
- :clearable="true"
348
- />
349
- </template>
350
-
351
- <script setup>
352
- import { ref } from 'vue';
353
- import { VcSelect } from '@vc-shell/framework';
354
-
355
- const options = [
356
- { id: 'us', title: 'United States' },
357
- { id: 'ca', title: 'Canada' },
358
- { id: 'mx', title: 'Mexico' }
359
- ];
360
-
361
- const selectedValue = ref(null);
362
- </script>
363
- \`\`\`
364
- `,
365
- },
366
- },
367
- },
368
- } satisfies Meta<typeof VcSelect>;
369
-
370
- export default meta;
371
- type Story = StoryObj<typeof meta>;
372
-
373
- /**
374
- * Basic implementation with an array of objects as options, specifying both label and value properties.
375
- */
376
- export const Basic: Story = {
377
- render: (args) => ({
378
- components: { VcSelect },
379
- setup() {
380
- const value = ref(null);
381
-
382
- const handleChange = (newValue: any) => {
383
- console.log("Value changed:", newValue);
384
- };
385
-
386
- return { args, value, handleChange };
387
- },
388
- template: `
389
- <div class="tw-p-4 tw-max-w-sm">
390
- <VcSelect
391
- v-bind="args"
392
- v-model="value"
393
- @update:modelValue="handleChange"
394
- />
395
- <div class="tw-mt-4 tw-text-sm">
396
- <p>Selected value: <code>{{ JSON.stringify(value) }}</code></p>
397
- </div>
398
- </div>
399
- `,
400
- }),
401
- };
402
-
403
- /**
404
- * Use multiple selection to choose several options at once.
405
- * The model value will be an array of the selected values.
406
- */
407
- export const MultipleSelection: Story = {
408
- args: {
409
- multiple: true,
410
- placeholder: "Select multiple options",
411
- clearable: true,
412
- },
413
- render: (args) => ({
414
- components: { VcSelect },
415
- setup() {
416
- const value = ref([]);
417
-
418
- const handleChange = (newValue: any) => {
419
- console.log("Value changed:", newValue);
420
- };
421
-
422
- return { args, value, handleChange };
423
- },
424
- template: `
425
- <div class="tw-p-4 tw-max-w-sm">
426
- <VcSelect
427
- v-bind="args"
428
- v-model="value"
429
- @update:modelValue="handleChange"
430
- />
431
- <div class="tw-mt-4 tw-text-sm">
432
- <p>Selected values: <code>{{ JSON.stringify(value) }}</code></p>
433
- </div>
434
- </div>
435
- `,
436
- }),
437
- };
438
-
439
- /**
440
- * Enable searching to filter options as you type. This is particularly
441
- * useful for dropdowns with many options.
442
- */
443
- export const Searchable: Story = {
444
- args: {
445
- searchable: true,
446
- placeholder: "Search and select an option",
447
- options: [
448
- { id: 1, title: "Apple" },
449
- { id: 2, title: "Banana" },
450
- { id: 3, title: "Cherry" },
451
- { id: 4, title: "Date" },
452
- { id: 5, title: "Elderberry" },
453
- { id: 6, title: "Fig" },
454
- { id: 7, title: "Grape" },
455
- { id: 8, title: "Honeydew" },
456
- { id: 9, title: "Kiwi" },
457
- { id: 10, title: "Lemon" },
458
- ],
459
- },
460
- render: (args) => ({
461
- components: { VcSelect },
462
- setup() {
463
- const value = ref(null);
464
- return { args, value };
465
- },
466
- template: `
467
- <div class="tw-p-4 tw-max-w-sm">
468
- <VcSelect
469
- v-bind="args"
470
- v-model="value"
471
- />
472
- </div>
473
- `,
474
- }),
475
- };
476
-
477
- /**
478
- * Loading data asynchronously with a function that returns a Promise.
479
- * This example simulates fetching data from an API.
480
- */
481
- export const AsyncOptions: Story = {
482
- args: {
483
- searchable: true,
484
- label: "Users",
485
- placeholder: "Search for a user",
486
- },
487
- render: (args) => ({
488
- components: { VcSelect },
489
- setup() {
490
- const value = ref(null);
491
-
492
- // Mock API function that simulates fetching data
493
- const fetchUsers = async (keyword = "", skip = 0) => {
494
- console.log(`Fetching users with keyword: ${keyword}, skip: ${skip}`);
495
-
496
- // Simulate API delay
497
- await new Promise((resolve) => setTimeout(resolve, 500));
498
-
499
- const allUsers = [
500
- { id: 1, title: "John Smith" },
501
- { id: 2, title: "Jane Doe" },
502
- { id: 3, title: "Alice Johnson" },
503
- { id: 4, title: "Bob Brown" },
504
- { id: 5, title: "Charlie Davis" },
505
- { id: 6, title: "Diana Evans" },
506
- { id: 7, title: "Edward Frank" },
507
- { id: 8, title: "Grace Garcia" },
508
- { id: 9, title: "Henry Hill" },
509
- { id: 10, title: "Isabel Irwin" },
510
- ];
511
-
512
- // Filter users by keyword if provided
513
- let filteredUsers = keyword
514
- ? allUsers.filter((user) => user.title.toLowerCase().includes(keyword.toLowerCase()))
515
- : allUsers;
516
-
517
- // Simulate pagination
518
- filteredUsers = filteredUsers.slice(skip, skip + 5);
519
-
520
- return {
521
- results: filteredUsers,
522
- totalCount: filteredUsers.length,
523
- };
524
- };
525
-
526
- return { args, value, fetchUsers };
527
- },
528
- template: `
529
- <div class="tw-p-4 tw-max-w-sm">
530
- <VcSelect
531
- v-bind="args"
532
- v-model="value"
533
- :options="fetchUsers"
534
- />
535
- <div class="tw-mt-4 tw-text-sm tw-text-gray-600">
536
- Type to search for users. Results are loaded asynchronously.
537
- </div>
538
- </div>
539
- `,
540
- }),
541
- };
542
-
543
- /**
544
- * You can make the select display various states like disabled, loading,
545
- * error or required.
546
- */
547
- export const States: Story = {
548
- render: (args) => ({
549
- components: { VcSelect },
550
- setup() {
551
- const standardValue = ref(null);
552
- const disabledValue = ref(2);
553
- const loadingValue = ref(null);
554
- const errorValue = ref(null);
555
- const requiredValue = ref(null);
556
-
557
- return {
558
- args,
559
- standardValue,
560
- disabledValue,
561
- loadingValue,
562
- errorValue,
563
- requiredValue,
564
- };
565
- },
566
- template: `
567
- <div class="tw-p-4 tw-space-y-6">
568
- <div class="tw-max-w-sm">
569
- <h3 class="tw-text-sm tw-font-medium tw-mb-2">Standard</h3>
570
- <VcSelect
571
- v-bind="args"
572
- v-model="standardValue"
573
- label="Standard Select"
574
- />
575
- </div>
576
-
577
- <div class="tw-max-w-sm">
578
- <h3 class="tw-text-sm tw-font-medium tw-mb-2">Disabled</h3>
579
- <VcSelect
580
- v-bind="args"
581
- v-model="disabledValue"
582
- label="Disabled Select"
583
- :disabled="true"
584
- />
585
- </div>
586
-
587
- <div class="tw-max-w-sm">
588
- <h3 class="tw-text-sm tw-font-medium tw-mb-2">Loading</h3>
589
- <VcSelect
590
- v-bind="args"
591
- v-model="loadingValue"
592
- label="Loading Select"
593
- :loading="true"
594
- />
595
- </div>
596
-
597
- <div class="tw-max-w-sm">
598
- <h3 class="tw-text-sm tw-font-medium tw-mb-2">Error</h3>
599
- <VcSelect
600
- v-bind="args"
601
- v-model="errorValue"
602
- label="Error Select"
603
- :error="true"
604
- errorMessage="This field has an error"
605
- />
606
- </div>
607
-
608
- <div class="tw-max-w-sm">
609
- <h3 class="tw-text-sm tw-font-medium tw-mb-2">Required</h3>
610
- <VcSelect
611
- v-bind="args"
612
- v-model="requiredValue"
613
- label="Required Select"
614
- :required="true"
615
- />
616
- </div>
617
- </div>
618
- `,
619
- }),
620
- };
621
-
622
- /**
623
- * You can customize the appearance with props like size, hint,
624
- * tooltip, prefix, and suffix.
625
- */
626
- export const Appearance: Story = {
627
- render: (args) => ({
628
- components: { VcSelect },
629
- setup() {
630
- const standardValue = ref(null);
631
- const smallValue = ref(null);
632
- const tooltipValue = ref(null);
633
- const hintValue = ref(null);
634
- const prefixSuffixValue = ref(null);
635
-
636
- return {
637
- args,
638
- standardValue,
639
- smallValue,
640
- tooltipValue,
641
- hintValue,
642
- prefixSuffixValue,
643
- };
644
- },
645
- template: `
646
- <div class="tw-p-4 tw-space-y-6">
647
- <div class="tw-max-w-sm">
648
- <h3 class="tw-text-sm tw-font-medium tw-mb-2">Default Size</h3>
649
- <VcSelect
650
- v-bind="args"
651
- v-model="standardValue"
652
- label="Default Size"
653
- size="default"
654
- />
655
- </div>
656
-
657
- <div class="tw-max-w-sm">
658
- <h3 class="tw-text-sm tw-font-medium tw-mb-2">Small Size</h3>
659
- <VcSelect
660
- v-bind="args"
661
- v-model="smallValue"
662
- label="Small Size"
663
- size="small"
664
- />
665
- </div>
666
-
667
- <div class="tw-max-w-sm">
668
- <h3 class="tw-text-sm tw-font-medium tw-mb-2">With Tooltip</h3>
669
- <VcSelect
670
- v-bind="args"
671
- v-model="tooltipValue"
672
- label="With Tooltip"
673
- tooltip="This is a helpful tooltip"
674
- />
675
- </div>
676
-
677
- <div class="tw-max-w-sm">
678
- <h3 class="tw-text-sm tw-font-medium tw-mb-2">With Hint</h3>
679
- <VcSelect
680
- v-bind="args"
681
- v-model="hintValue"
682
- label="With Hint"
683
- hint="This is a helpful hint below the select"
684
- />
685
- </div>
686
-
687
- <div class="tw-max-w-sm">
688
- <h3 class="tw-text-sm tw-font-medium tw-mb-2">With Prefix & Suffix</h3>
689
- <VcSelect
690
- v-bind="args"
691
- v-model="prefixSuffixValue"
692
- label="With Prefix & Suffix"
693
- prefix="$"
694
- suffix="USD"
695
- />
696
- </div>
697
- </div>
698
- `,
699
- }),
700
- };
701
-
702
- /**
703
- * The component supports a wide range of slots to customize its appearance.
704
- * This example demonstrates various slot customizations.
705
- */
706
- export const CustomizingWithSlots: Story = {
707
- args: {
708
- searchable: true,
709
- multiple: true,
710
- clearable: true,
711
- },
712
- render: (args) => ({
713
- components: { VcSelect, VcIcon },
714
- setup() {
715
- const value = ref([]);
716
-
717
- return { args, value };
718
- },
719
- template: `
720
- <div class="tw-p-4 tw-max-w-sm">
721
- <VcSelect
722
- v-bind="args"
723
- v-model="value"
724
- label="Customized Select"
725
- >
726
- <!-- Customizing the appearance of selected items -->
727
- <template #selected-item="{ opt }">
728
- <div class="tw-flex tw-items-center">
729
- <span class="tw-w-3 tw-h-3 tw-rounded-full tw-bg-blue-500 tw-mr-2"></span>
730
- <strong class="tw-text-blue-700">{{ opt.title }}</strong>
731
- </div>
732
- </template>
733
-
734
- <!-- Customizing option appearance in dropdown -->
735
- <template #option="{ opt, selected }">
736
- <div class="tw-flex tw-items-center tw-justify-between tw-w-full tw-px-1">
737
- <div class="tw-flex tw-items-center">
738
- <span class="tw-w-2 tw-h-2 tw-rounded-full tw-bg-gray-400 tw-mr-2"></span>
739
- {{ opt.title }}
740
- </div>
741
- <VcIcon
742
- v-if="selected"
743
- icon="material-check"
744
- class="tw-text-green-600"
745
- size="s"
746
- />
747
- </div>
748
- </template>
749
-
750
- <!-- Adding content inside the field -->
751
- <template #prepend-inner>
752
- <VcIcon icon="material-search" class="tw-mr-2" size="s" />
753
- </template>
754
-
755
- <!-- Adding content outside the field -->
756
- <template #append>
757
- <button
758
- class="tw-ml-2 tw-bg-blue-100 tw-text-blue-700 tw-px-2 tw-py-1 tw-rounded hover:tw-bg-blue-200"
759
- @click="value = args.options.map(o => o.id)"
760
- >
761
- Select All
762
- </button>
763
- </template>
764
-
765
- <!-- Custom "no options" message -->
766
- <template #no-options>
767
- <div class="tw-text-center tw-py-3 tw-text-gray-500">
768
- <VcIcon icon="material-error" class="tw-mb-2" />
769
- <p>No matching options found</p>
770
- </div>
771
- </template>
772
-
773
- <!-- Custom hint -->
774
- <template #hint>
775
- <div class="tw-flex tw-items-center tw-text-blue-600">
776
- <VcIcon icon="material-info" class="tw-mr-1" size="xs" />
777
- <span>Select multiple options as needed</span>
778
- </div>
779
- </template>
780
- </VcSelect>
781
- </div>
782
- `,
783
- }),
784
- };
785
-
786
- /**
787
- * You can completely override the control element with the control slot.
788
- * This allows for creating custom triggers for the dropdown.
789
- */
790
- export const CustomControl: Story = {
791
- args: {
792
- clearable: true,
793
- },
794
- render: (args) => ({
795
- components: { VcSelect, VcIcon },
796
- setup() {
797
- const value = ref(null);
798
-
799
- return { args, value };
800
- },
801
- template: `
802
- <div class="tw-p-4 tw-max-w-sm">
803
- <VcSelect
804
- v-bind="args"
805
- v-model="value"
806
- label="Custom Control"
807
- >
808
- <template #control="{ toggleHandler }">
809
- <button
810
- class="tw-w-full tw-bg-blue-50 tw-border tw-border-blue-200 tw-rounded-lg tw-px-4 tw-py-2 tw-flex tw-items-center tw-justify-between hover:tw-bg-blue-100"
811
- @click="toggleHandler"
812
- >
813
- <div class="tw-flex tw-items-center">
814
- <VcIcon icon="fas fa-list-ul" class="tw-mr-2" size="s" />
815
- <span v-if="value">Option {{ value }} selected</span>
816
- <span v-else class="tw-text-gray-500">Click to select an option</span>
817
- </div>
818
- <VcIcon icon="lucide-chevron-down" size="s" />
819
- </button>
820
- </template>
821
- </VcSelect>
822
- </div>
823
- `,
824
- }),
825
- };
826
-
827
- /**
828
- * Using primitive values (strings, numbers) as options instead of objects.
829
- */
830
- export const PrimitiveOptions: Story = {
831
- args: {
832
- options: ["Red", "Green", "Blue", "Yellow", "Purple"],
833
- optionValue: undefined,
834
- optionLabel: undefined,
835
- clearable: true,
836
- },
837
- render: (args) => ({
838
- components: { VcSelect },
839
- setup() {
840
- const value = ref(null);
841
-
842
- return { args, value };
843
- },
844
- template: `
845
- <div class="tw-p-4 tw-max-w-sm">
846
- <VcSelect
847
- v-bind="args"
848
- v-model="value"
849
- label="Colors"
850
- />
851
- <div class="tw-mt-4 tw-text-sm">
852
- <p>Selected color: <code>{{ value }}</code></p>
853
- </div>
854
- </div>
855
- `,
856
- }),
857
- };
858
-
859
- /**
860
- * The emitValue prop controls whether the v-model contains just the value or the entire option object.
861
- */
862
- export const EmitValueOptions: Story = {
863
- render: (args) => ({
864
- components: { VcSelect },
865
- setup() {
866
- const valueOnly = ref(null);
867
- const objectValue = ref(null);
868
-
869
- return { args, valueOnly, objectValue };
870
- },
871
- template: `
872
- <div class="tw-p-4 tw-space-y-6">
873
- <div class="tw-max-w-sm">
874
- <h3 class="tw-text-sm tw-font-medium tw-mb-2">Emit Value Only (emitValue: true)</h3>
875
- <VcSelect
876
- v-bind="args"
877
- v-model="valueOnly"
878
- label="Value Only"
879
- :emitValue="true"
880
- />
881
- <div class="tw-mt-1 tw-text-sm">
882
- <p>Model: <code>{{ JSON.stringify(valueOnly) }}</code></p>
883
- </div>
884
- </div>
885
-
886
- <div class="tw-max-w-sm">
887
- <h3 class="tw-text-sm tw-font-medium tw-mb-2">Emit Full Object (emitValue: false)</h3>
888
- <VcSelect
889
- v-bind="args"
890
- v-model="objectValue"
891
- label="Object Value"
892
- :emitValue="false"
893
- />
894
- <div class="tw-mt-1 tw-text-sm">
895
- <p>Model: <code>{{ JSON.stringify(objectValue) }}</code></p>
896
- </div>
897
- </div>
898
- </div>
899
- `,
900
- }),
901
- };
902
-
903
- /**
904
- * Use custom functions to extract the value and label from option objects
905
- */
906
- export const CustomGetters: Story = {
907
- args: {
908
- options: [
909
- { code: "US", name: "United States", population: 331000000 },
910
- { code: "CA", name: "Canada", population: 38000000 },
911
- { code: "MX", name: "Mexico", population: 126000000 },
912
- { code: "BR", name: "Brazil", population: 212000000 },
913
- { code: "FR", name: "France", population: 67000000 },
914
- ],
915
- label: "Countries",
916
- clearable: true,
917
- },
918
- render: (args) => ({
919
- components: { VcSelect },
920
- setup() {
921
- const value = ref(null);
922
-
923
- // Custom getter functions instead of string properties
924
- const getOptionValue = (option) => option.code;
925
- const getOptionLabel = (option) => `${option.name} (${option.code})`;
926
-
927
- return { args, value, getOptionValue, getOptionLabel };
928
- },
929
- template: `
930
- <div class="tw-p-4 tw-max-w-sm">
931
- <VcSelect
932
- v-bind="args"
933
- v-model="value"
934
- :optionValue="getOptionValue"
935
- :optionLabel="getOptionLabel"
936
- />
937
- <div class="tw-mt-4 tw-text-sm">
938
- <p>Selected country code: <code>{{ value }}</code></p>
939
- </div>
940
- </div>
941
- `,
942
- }),
943
- };
944
-
945
- /**
946
- * Detailed demonstration of the option slot, which allows custom rendering of each option in the dropdown.
947
- * This is useful for creating rich dropdown items with icons, badges, or additional information.
948
- */
949
- export const CustomOptionSlot: Story = {
950
- args: {
951
- searchable: true,
952
- clearable: true,
953
- options: [
954
- { id: 1, title: "Draft", color: "gray", icon: "fas fa-pencil-alt" },
955
- { id: 2, title: "Published", color: "green", icon: "material-check_circle" },
956
- { id: 3, title: "Archived", color: "amber", icon: "fas fa-archive" },
957
- { id: 4, title: "Deleted", color: "red", icon: "material-delete" },
958
- ],
959
- },
960
- render: (args) => ({
961
- components: { VcSelect, VcIcon },
962
- setup() {
963
- const value = ref(null);
964
-
965
- const getStatusColor = (color) => {
966
- const colors = {
967
- gray: "tw-bg-gray-200 tw-text-gray-800",
968
- green: "tw-bg-green-100 tw-text-green-800",
969
- amber: "tw-bg-amber-100 tw-text-amber-800",
970
- red: "tw-bg-red-100 tw-text-red-800",
971
- };
972
- return colors[color] || colors.gray;
973
- };
974
-
975
- return { args, value, getStatusColor };
976
- },
977
- template: `
978
- <div class="tw-p-4 tw-max-w-lg">
979
- <h3 class="tw-text-lg tw-font-medium tw-mb-3">Custom Option Display</h3>
980
- <VcSelect
981
- v-bind="args"
982
- v-model="value"
983
- label="Select Status"
984
- placeholder="Choose document status"
985
- >
986
- <template #option="{ opt, selected }">
987
- <div class="tw-flex tw-items-center tw-justify-between tw-w-full tw-py-1">
988
- <div class="tw-flex tw-items-center">
989
- <div :class="['tw-flex tw-items-center tw-justify-center tw-w-8 tw-h-8 tw-rounded-full tw-mr-3', getStatusColor(opt.color)]">
990
- <VcIcon :icon="opt.icon" size="s" />
991
- </div>
992
- <div>
993
- <div class="tw-font-medium">{{ opt.title }}</div>
994
- <div class="tw-text-xs tw-text-gray-500">Status ID: {{ opt.id }}</div>
995
- </div>
996
- </div>
997
- <VcIcon
998
- v-if="selected"
999
- icon="material-check"
1000
- class="tw-text-green-600"
1001
- size="s"
1002
- />
1003
- </div>
1004
- </template>
1005
- </VcSelect>
1006
-
1007
- <div class="tw-mt-4 tw-text-sm tw-bg-gray-50 tw-p-3 tw-rounded">
1008
- <p class="tw-text-gray-700 tw-mb-2"><strong>Selected value:</strong> {{ value }}</p>
1009
- <p class="tw-text-gray-500">The option slot above customizes each dropdown item with an icon, label, and description.</p>
1010
- </div>
1011
- </div>
1012
- `,
1013
- }),
1014
- };
1015
-
1016
- /**
1017
- * Detailed demonstration of the selected-item slot, which allows custom rendering of
1018
- * the selected values in the input field. This is particularly useful for multiple selection.
1019
- */
1020
- export const CustomSelectedItemSlot: Story = {
1021
- args: {
1022
- multiple: true,
1023
- clearable: true,
1024
- options: [
1025
- { id: "red", title: "Red", hex: "#f87171" },
1026
- { id: "blue", title: "Blue", hex: "#60a5fa" },
1027
- { id: "green", title: "Green", hex: "#4ade80" },
1028
- { id: "purple", title: "Purple", hex: "#c084fc" },
1029
- { id: "yellow", title: "Yellow", hex: "#fbbf24" },
1030
- { id: "pink", title: "Pink", hex: "#f472b6" },
1031
- ],
1032
- },
1033
- render: (args) => ({
1034
- components: { VcSelect, VcIcon },
1035
- setup() {
1036
- const value = ref([]);
1037
-
1038
- return { args, value };
1039
- },
1040
- template: `
1041
- <div class="tw-p-4 tw-max-w-lg">
1042
- <h3 class="tw-text-lg tw-font-medium tw-mb-3">Custom Selected Item Display</h3>
1043
- <VcSelect
1044
- v-bind="args"
1045
- v-model="value"
1046
- label="Select Colors"
1047
- placeholder="Choose your favorite colors"
1048
- >
1049
- <!-- Custom rendering of selected items -->
1050
- <template #selected-item="{ opt, removeAtIndex, index }">
1051
- <div
1052
- class="tw-flex tw-items-center tw-px-2 tw-py-1 tw-rounded-full tw-mr-1"
1053
- :style="{ backgroundColor: opt.hex + '33', color: opt.hex }"
1054
- >
1055
- <span
1056
- class="tw-w-3 tw-h-3 tw-rounded-full tw-mr-1"
1057
- :style="{ backgroundColor: opt.hex }"
1058
- ></span>
1059
- {{ opt.title }}
1060
- <VcIcon
1061
- icon="lucide-x"
1062
- size="xs"
1063
- class="tw-ml-1 tw-cursor-pointer hover:tw-opacity-80"
1064
- @click.stop="removeAtIndex(index)"
1065
- />
1066
- </div>
1067
- </template>
1068
-
1069
- <!-- Custom rendering of dropdown options -->
1070
- <template #option="{ opt, selected }">
1071
- <div class="tw-flex tw-items-center tw-justify-between tw-w-full tw-py-1">
1072
- <div class="tw-flex tw-items-center">
1073
- <span
1074
- class="tw-w-4 tw-h-4 tw-rounded tw-mr-2"
1075
- :style="{ backgroundColor: opt.hex }"
1076
- ></span>
1077
- {{ opt.title }}
1078
- <span class="tw-text-xs tw-ml-2 tw-text-gray-500">{{ opt.hex }}</span>
1079
- </div>
1080
- <VcIcon
1081
- v-if="selected"
1082
- icon="material-check"
1083
- class="tw-text-green-600"
1084
- size="s"
1085
- />
1086
- </div>
1087
- </template>
1088
- </VcSelect>
1089
-
1090
- <div class="tw-mt-4 tw-text-sm tw-bg-gray-50 tw-p-3 tw-rounded">
1091
- <p class="tw-text-gray-700 tw-mb-2"><strong>Selected values:</strong> {{ value.join(', ') }}</p>
1092
- <p class="tw-text-gray-500">The selected-item slot above customizes how each selected color is displayed as a badge.</p>
1093
- </div>
1094
- </div>
1095
- `,
1096
- }),
1097
- };
1098
-
1099
- /**
1100
- * Demonstration of using the prepend-inner and append-inner slots to add custom elements
1101
- * inside the select input field. This is useful for adding icons, buttons or other interactive elements.
1102
- */
1103
- export const InnerSlots: Story = {
1104
- args: {
1105
- clearable: true,
1106
- placeholder: "Search in categories",
1107
- options: [
1108
- { id: 1, title: "Electronics" },
1109
- { id: 2, title: "Clothing" },
1110
- { id: 3, title: "Home & Kitchen" },
1111
- { id: 4, title: "Books" },
1112
- { id: 5, title: "Sports & Outdoors" },
1113
- ],
1114
- },
1115
- render: (args) => ({
1116
- components: { VcSelect, VcIcon },
1117
- setup() {
1118
- const value = ref(null);
1119
- const resetValue = () => {
1120
- value.value = null;
1121
- };
1122
-
1123
- return { args, value, resetValue };
1124
- },
1125
- template: `
1126
- <div class="tw-p-4 tw-max-w-lg">
1127
- <h3 class="tw-text-lg tw-font-medium tw-mb-3">Inner Prepend & Append Slots</h3>
1128
- <VcSelect
1129
- v-bind="args"
1130
- v-model="value"
1131
- label="Category"
1132
- searchable
1133
- >
1134
- <!-- Adding a search icon at the beginning of the field -->
1135
- <template #prepend-inner>
1136
- <div class="tw-flex tw-items-center tw-text-gray-500">
1137
- <VcIcon icon="material-search" size="s" />
1138
- </div>
1139
- </template>
1140
-
1141
- <!-- Adding a clear button at the end of the field -->
1142
- <template #append-inner>
1143
- <div
1144
- v-if="value"
1145
- class="tw-flex tw-items-center tw-text-gray-400 hover:tw-text-gray-700 tw-cursor-pointer"
1146
- @click.stop="resetValue"
1147
- >
1148
- <VcIcon icon="material-cancel" size="s" />
1149
- </div>
1150
- </template>
1151
- </VcSelect>
1152
-
1153
- <div class="tw-mt-4 tw-text-sm tw-bg-gray-50 tw-p-3 tw-rounded">
1154
- <p class="tw-text-gray-700 tw-mb-2"><strong>How it works:</strong></p>
1155
- <ul class="tw-text-gray-500 tw-list-disc tw-pl-5 tw-space-y-1">
1156
- <li>The <code>prepend-inner</code> slot adds a search icon inside the field at the beginning</li>
1157
- <li>The <code>append-inner</code> slot adds a custom clear button that appears when a value is selected</li>
1158
- </ul>
1159
- </div>
1160
- </div>
1161
- `,
1162
- }),
1163
- };
1164
-
1165
- /**
1166
- * Demonstration of using the prepend and append slots to add elements outside the select field.
1167
- * This is useful for creating compound controls or add-ons.
1168
- */
1169
- export const OuterSlots: Story = {
1170
- args: {
1171
- clearable: true,
1172
- options: [
1173
- { id: "USD", title: "US Dollar" },
1174
- { id: "EUR", title: "Euro" },
1175
- { id: "GBP", title: "British Pound" },
1176
- { id: "JPY", title: "Japanese Yen" },
1177
- { id: "CAD", title: "Canadian Dollar" },
1178
- ],
1179
- },
1180
- render: (args) => ({
1181
- components: { VcSelect, VcIcon },
1182
- setup() {
1183
- const value = ref(null);
1184
- const amount = ref("");
1185
-
1186
- return { args, value, amount };
1187
- },
1188
- template: `
1189
- <div class="tw-p-4 tw-max-w-lg">
1190
- <h3 class="tw-text-lg tw-font-medium tw-mb-3">Outer Prepend & Append Slots</h3>
1191
- <div class="tw-mb-6">
1192
- <VcSelect
1193
- v-bind="args"
1194
- v-model="value"
1195
- label="Currency Converter"
1196
- placeholder="Select currency"
1197
- >
1198
- <!-- Adding an input field before the select -->
1199
- <template #prepend>
1200
- <div class="tw-flex tw-items-center tw-border tw-border-r-0 tw-border-gray-300 tw-rounded-l tw-px-3 tw-h-[36px] tw-bg-white">
1201
- <span class="tw-text-gray-500">$</span>
1202
- </div>
1203
- </template>
1204
-
1205
- <!-- Adding a button after the select -->
1206
- <template #append>
1207
- <button class="tw-flex tw-items-center tw-bg-blue-500 tw-text-white tw-px-4 tw-h-[36px] tw-rounded-r hover:tw-bg-blue-600">
1208
- <VcIcon icon="fas fa-exchange-alt" size="s" class="tw-mr-1" />
1209
- Convert
1210
- </button>
1211
- </template>
1212
- </VcSelect>
1213
-
1214
- <div class="tw-mt-4 tw-text-sm tw-bg-gray-50 tw-p-3 tw-rounded">
1215
- <p class="tw-text-gray-700 tw-mb-2"><strong>How it works:</strong></p>
1216
- <ul class="tw-text-gray-500 tw-list-disc tw-pl-5 tw-space-y-1">
1217
- <li>The <code>prepend</code> slot adds a currency symbol outside the field</li>
1218
- <li>The <code>append</code> slot adds a conversion button after the field</li>
1219
- <li>These outer slots help create a compound control with attached elements</li>
1220
- </ul>
1221
- </div>
1222
- </div>
1223
-
1224
- <h3 class="tw-text-lg tw-font-medium tw-mb-3">Search Input with Button</h3>
1225
- <VcSelect
1226
- v-bind="args"
1227
- v-model="value"
1228
- placeholder="Search products..."
1229
- searchable
1230
- >
1231
- <!-- Adding a select-category label before the field -->
1232
- <template #prepend>
1233
- <div class="tw-px-3 tw-flex tw-items-center tw-bg-gray-100 tw-border tw-border-r-0 tw-border-gray-300 tw-rounded-l tw-h-[36px]">
1234
- <span class="tw-text-gray-700 tw-text-sm">Category</span>
1235
- </div>
1236
- </template>
1237
-
1238
- <!-- Adding a search button after the field -->
1239
- <template #append>
1240
- <button class="tw-px-4 tw-flex tw-items-center tw-bg-primary-500 tw-text-white tw-h-[36px] tw-rounded-r hover:tw-bg-primary-600">
1241
- <VcIcon icon="material-search" size="s" class="tw-mr-1" />
1242
- Search
1243
- </button>
1244
- </template>
1245
- </VcSelect>
1246
- </div>
1247
- `,
1248
- }),
1249
- };
1250
-
1251
- /**
1252
- * Demonstration of using the error and hint slots to provide custom feedback messages.
1253
- */
1254
- export const CustomMessagingSlots: Story = {
1255
- args: {
1256
- label: "Product Category",
1257
- clearable: true,
1258
- options: [
1259
- { id: 1, title: "Electronics" },
1260
- { id: 2, title: "Clothing" },
1261
- { id: 3, title: "Home & Kitchen" },
1262
- { id: 4, title: "Books" },
1263
- { id: 5, title: "Sports & Outdoors" },
1264
- ],
1265
- },
1266
- render: (args) => ({
1267
- components: { VcSelect, VcIcon },
1268
- setup() {
1269
- const value = ref(null);
1270
- const showError = ref(false);
1271
-
1272
- const toggleError = () => {
1273
- showError.value = !showError.value;
1274
- };
1275
-
1276
- return { args, value, showError, toggleError };
1277
- },
1278
- template: `
1279
- <div class="tw-p-4 tw-max-w-lg">
1280
- <h3 class="tw-text-lg tw-font-medium tw-mb-3">Custom Error & Hint Messages</h3>
1281
-
1282
- <div class="tw-mb-2">
1283
- <button
1284
- class="tw-px-3 tw-py-1 tw-text-sm tw-rounded tw-mr-2"
1285
- :class="showError ? 'tw-bg-red-100 tw-text-red-700' : 'tw-bg-blue-100 tw-text-blue-700'"
1286
- @click="toggleError"
1287
- >
1288
- {{ showError ? 'Show Hint' : 'Show Error' }}
1289
- </button>
1290
- </div>
1291
-
1292
- <VcSelect
1293
- v-bind="args"
1294
- v-model="value"
1295
- :error="showError"
1296
- errorMessage="This is the standard error message"
1297
- hint="This is the standard hint message"
1298
- >
1299
- <!-- Custom error message with icon and formatting -->
1300
- <template #error>
1301
- <div class="tw-flex tw-items-start tw-mt-1 tw-p-2 tw-bg-red-50 tw-border tw-border-red-200 tw-rounded">
1302
- <VcIcon icon="fas fa-exclamation-triangle" class="tw-text-red-500 tw-mr-2 tw-mt-0.5" size="s" />
1303
- <div>
1304
- <p class="tw-text-red-700 tw-font-medium">Category selection required</p>
1305
- <p class="tw-text-red-600 tw-text-xs">Please select a product category to continue with your submission.</p>
1306
- </div>
1307
- </div>
1308
- </template>
1309
-
1310
- <!-- Custom hint with additional help information -->
1311
- <template #hint>
1312
- <div class="tw-flex tw-items-start tw-mt-1 tw-p-2 tw-bg-blue-50 tw-border tw-border-blue-200 tw-rounded">
1313
- <VcIcon icon="material-info" class="tw-text-blue-500 tw-mr-2 tw-mt-0.5" size="s" />
1314
- <div>
1315
- <p class="tw-text-blue-700 tw-font-medium">Choosing the right category</p>
1316
- <p class="tw-text-blue-600 tw-text-xs">The category helps determine which department will process your request.</p>
1317
- </div>
1318
- </div>
1319
- </template>
1320
- </VcSelect>
1321
-
1322
- <div class="tw-mt-4 tw-text-sm tw-bg-gray-50 tw-p-3 tw-rounded">
1323
- <p class="tw-text-gray-700 tw-mb-2"><strong>How it works:</strong></p>
1324
- <ul class="tw-text-gray-500 tw-list-disc tw-pl-5 tw-space-y-1">
1325
- <li>The <code>error</code> slot replaces the standard error message with a custom component</li>
1326
- <li>The <code>hint</code> slot replaces the standard hint with a more detailed explanation</li>
1327
- <li>Use the toggle button to switch between error and hint states</li>
1328
- </ul>
1329
- </div>
1330
- </div>
1331
- `,
1332
- }),
1333
- };
1334
-
1335
- /**
1336
- * Demonstration of the no-options slot to customize the display when there are no options
1337
- * available or when a search returns no results.
1338
- */
1339
- export const CustomNoOptionsSlot: Story = {
1340
- args: {
1341
- searchable: true,
1342
- label: "Search Products",
1343
- placeholder: "Type to search...",
1344
- options: [
1345
- { id: 1, title: "Laptop" },
1346
- { id: 2, title: "Smartphone" },
1347
- { id: 3, title: "Headphones" },
1348
- { id: 4, title: "Keyboard" },
1349
- { id: 5, title: "Monitor" },
1350
- ],
1351
- },
1352
- render: (args) => ({
1353
- components: { VcSelect, VcIcon },
1354
- setup() {
1355
- const value = ref(null);
1356
-
1357
- return { args, value };
1358
- },
1359
- template: `
1360
- <div class="tw-p-4 tw-max-w-lg">
1361
- <h3 class="tw-text-lg tw-font-medium tw-mb-3">Custom "No Options" Display</h3>
1362
- <VcSelect
1363
- v-bind="args"
1364
- v-model="value"
1365
- >
1366
- <template #no-options>
1367
- <div class="tw-py-4 tw-px-3 tw-text-center">
1368
- <VcIcon
1369
- icon="material-search"
1370
- class="tw-text-gray-400 tw-mb-2 tw-text-2xl"
1371
- />
1372
- <p class="tw-text-gray-600 tw-font-medium">No matching products found</p>
1373
- <p class="tw-text-gray-500 tw-text-sm">Try different search terms or browse all categories</p>
1374
- <button
1375
- class="tw-mt-2 tw-px-3 tw-py-1 tw-bg-blue-100 tw-text-blue-700 tw-rounded tw-text-sm hover:tw-bg-blue-200"
1376
- >
1377
- Browse All Products
1378
- </button>
1379
- </div>
1380
- </template>
1381
- </VcSelect>
1382
-
1383
- <div class="tw-mt-4 tw-text-sm tw-bg-gray-50 tw-p-3 tw-rounded">
1384
- <p class="tw-text-gray-700 tw-mb-2"><strong>How to test:</strong></p>
1385
- <p class="tw-text-gray-500">Type a search term that doesn't match any options (like "xyz") to see the custom no-options slot in action.</p>
1386
- <p class="tw-mt-2 tw-text-gray-500">The custom no-options slot provides:
1387
- <ul class="tw-list-disc tw-pl-5 tw-mt-1 tw-space-y-1">
1388
- <li>A more helpful message to guide users</li>
1389
- <li>Visual indication with an icon</li>
1390
- <li>A call-to-action button for alternative options</li>
1391
- </ul>
1392
- </p>
1393
- </div>
1394
- </div>
1395
- `,
1396
- }),
1397
- };
1398
-
1399
- /**
1400
- * Comprehensive example showing how to completely customize the VcSelect component
1401
- * using multiple slots together to create a rich user interface.
1402
- */
1403
- export const ComprehensiveSlotExample: Story = {
1404
- args: {
1405
- searchable: true,
1406
- multiple: true,
1407
- clearable: true,
1408
- options: [
1409
- { id: 1, title: "Electronics", icon: "fas fa-microchip", level: "Enterprise", color: "#0078d7" },
1410
- { id: 2, title: "Industrial", icon: "fas fa-industry", level: "Mid-Market", color: "#e07c24" },
1411
- { id: 3, title: "Office Supplies", icon: "fas fa-paperclip", level: "SMB", color: "#009688" },
1412
- { id: 4, title: "Medical Equipment", icon: "fas fa-medkit", level: "Enterprise", color: "#e91e63" },
1413
- { id: 5, title: "Construction", icon: "fas fa-hard-hat", level: "Mid-Market", color: "#ffc107" },
1414
- { id: 6, title: "Food & Beverage", icon: "fas fa-utensils", level: "SMB", color: "#8bc34a" },
1415
- { id: 7, title: "Automotive", icon: "fas fa-car", level: "Mid-Market", color: "#3f51b5" },
1416
- ],
1417
- },
1418
- render: (args) => ({
1419
- components: { VcSelect, VcIcon },
1420
- setup() {
1421
- const value = ref([]);
1422
-
1423
- const getLevelBadge = (level: string) => {
1424
- const badges = {
1425
- SMB: "tw-bg-green-100 tw-text-green-800",
1426
- "Mid-Market": "tw-bg-blue-100 tw-text-blue-800",
1427
- Enterprise: "tw-bg-purple-100 tw-text-purple-800",
1428
- };
1429
- return badges[level];
1430
- };
1431
-
1432
- const selectAll = () => {
1433
- value.value = args.options.map((opt) => opt.id);
1434
- };
1435
-
1436
- const clearAll = () => {
1437
- value.value = [];
1438
- };
1439
-
1440
- return { args, value, getLevelBadge, selectAll, clearAll };
1441
- },
1442
- template: `
1443
- <div class="tw-p-4 tw-max-w-lg">
1444
- <h3 class="tw-text-lg tw-font-medium tw-mb-3">Complete VcSelect Customization</h3>
1445
-
1446
- <VcSelect
1447
- v-bind="args"
1448
- v-model="value"
1449
- label="Product Categories"
1450
- placeholder="Select product categories"
1451
- hint="Choose multiple categories available in your marketplace"
1452
- >
1453
- <!-- Custom control wrapper -->
1454
- <template #control="{ toggleHandler }">
1455
- <div class="tw-border tw-border-gray-300 tw-rounded-lg tw-overflow-hidden tw-shadow-sm">
1456
- <!-- Custom header -->
1457
- <div class="tw-bg-gray-50 tw-px-3 tw-py-2 tw-border-b tw-border-gray-300 tw-flex tw-justify-between tw-items-center">
1458
- <div class="tw-flex tw-items-center">
1459
- <VcIcon icon="fas fa-tags" class="tw-text-gray-600 tw-mr-2" size="s" />
1460
- <span class="tw-font-medium tw-text-gray-700">B2B Category Selector</span>
1461
- </div>
1462
- <div class="tw-flex tw-space-x-2">
1463
- <button
1464
- class="tw-px-2 tw-py-1 tw-text-xs tw-bg-blue-50 tw-text-blue-700 tw-rounded hover:tw-bg-blue-100"
1465
- @click.stop="selectAll"
1466
- >
1467
- All
1468
- </button>
1469
- <button
1470
- class="tw-px-2 tw-py-1 tw-text-xs tw-bg-gray-100 tw-text-gray-700 tw-rounded hover:tw-bg-gray-200"
1471
- @click.stop="clearAll"
1472
- >
1473
- Clear
1474
- </button>
1475
- </div>
1476
- </div>
1477
-
1478
- <!-- Custom selection area -->
1479
- <div
1480
- class="tw-px-3 tw-py-2 tw-bg-white tw-min-h-[40px] tw-flex tw-flex-wrap tw-gap-2 tw-cursor-pointer"
1481
- @click.stop="toggleHandler"
1482
- >
1483
- <template v-if="value.length === 0">
1484
- <span class="tw-text-gray-400 tw-text-sm">Click to select categories...</span>
1485
- </template>
1486
- <template v-else>
1487
- <div
1488
- v-for="(id, index) in value"
1489
- :key="id"
1490
- class="tw-flex tw-items-center tw-px-2 tw-py-1 tw-rounded"
1491
- :style="{ backgroundColor: args.options.find(o => o.id === id)?.color + '22' }"
1492
- >
1493
- <VcIcon
1494
- :icon="args.options.find(o => o.id === id)?.icon"
1495
- class="tw-mr-1"
1496
- size="s"
1497
- :style="{ color: args.options.find(o => o.id === id)?.color }"
1498
- />
1499
- <span class="tw-text-sm">{{ args.options.find(o => o.id === id)?.title }}</span>
1500
- <VcIcon
1501
- icon="lucide-x"
1502
- size="xs"
1503
- class="tw-ml-1 tw-cursor-pointer hover:tw-opacity-80"
1504
- @click.stop="value.splice(index, 1)"
1505
- />
1506
- </div>
1507
- </template>
1508
- </div>
1509
-
1510
- <!-- Custom footer -->
1511
- <div class="tw-bg-gray-50 tw-px-3 tw-py-2 tw-border-t tw-border-gray-300 tw-flex tw-justify-between tw-items-center">
1512
- <span class="tw-text-xs tw-text-gray-500">Selected: {{ value.length }} of {{ args.options.length }}</span>
1513
- <VcIcon
1514
- icon="lucide-chevron-down"
1515
- class="tw-text-gray-400"
1516
- size="s"
1517
- />
1518
- </div>
1519
- </div>
1520
- </template>
1521
-
1522
- <!-- Custom option rendering -->
1523
- <template #option="{ opt, selected, toggleOption }">
1524
- <div
1525
- class="tw-flex tw-items-center tw-justify-between tw-w-full tw-p-2 tw-cursor-pointer hover:tw-bg-gray-50"
1526
- @click.stop="toggleOption(opt)"
1527
- >
1528
- <div class="tw-flex tw-items-center">
1529
- <div
1530
- class="tw-w-8 tw-h-8 tw-flex tw-items-center tw-justify-center tw-rounded-full tw-mr-3"
1531
- :style="{ backgroundColor: opt.color + '22', color: opt.color }"
1532
- >
1533
- <VcIcon :icon="opt.icon" />
1534
- </div>
1535
- <div>
1536
- <div class="tw-font-medium">{{ opt.title }}</div>
1537
- <div class="tw-flex tw-items-center tw-mt-1">
1538
- <span
1539
- :class="['tw-text-xs tw-px-2 tw-py-0.5 tw-rounded-full', getLevelBadge(opt.level)]"
1540
- >
1541
- {{ opt.level }}
1542
- </span>
1543
- </div>
1544
- </div>
1545
- </div>
1546
- <div
1547
- class="tw-w-5 tw-h-5 tw-rounded-sm tw-flex tw-items-center tw-justify-center"
1548
- :class="selected ? 'tw-bg-blue-500' : 'tw-border tw-border-gray-300'"
1549
- >
1550
- <VcIcon
1551
- v-if="selected"
1552
- icon="material-check"
1553
- class="tw-text-white"
1554
- size="xs"
1555
- />
1556
- </div>
1557
- </div>
1558
- </template>
1559
-
1560
- <!-- Custom no-options message -->
1561
- <template #no-options>
1562
- <div class="tw-p-4 tw-text-center tw-border-t tw-border-gray-200">
1563
- <VcIcon icon="material-search" class="tw-text-gray-400 tw-mb-2" />
1564
- <p class="tw-text-gray-600">No matching categories found</p>
1565
- <p class="tw-text-xs tw-text-gray-500 tw-mt-1">Try searching for other product types or industries</p>
1566
- </div>
1567
- </template>
1568
-
1569
- <!-- Custom hint -->
1570
- <template #hint>
1571
- <div class="tw-flex tw-items-start tw-mt-2">
1572
- <VcIcon icon="fas fa-lightbulb" class="tw-text-yellow-500 tw-mr-2 tw-mt-0.5" size="s" />
1573
- <div class="tw-text-sm tw-text-gray-600">
1574
- Select the product categories available in your marketplace to help buyers find relevant offerings.
1575
- </div>
1576
- </div>
1577
- </template>
1578
- </VcSelect>
1579
- </div>
1580
- `,
1581
- }),
1582
- };
1583
-
1584
- /**
1585
- * Gallery showing all visual states side by side.
1586
- * Useful for quickly comparing default, focused, error, disabled, and loading states.
1587
- */
1588
- export const AllStates: Story = {
1589
- render: () => ({
1590
- components: { VcSelect },
1591
- setup() {
1592
- const val1 = ref(null);
1593
- const val2 = ref(2);
1594
- const val3 = ref(null);
1595
- const val4 = ref(1);
1596
- const val5 = ref(null);
1597
- const opts = [
1598
- { id: 1, title: "Option 1" },
1599
- { id: 2, title: "Option 2" },
1600
- { id: 3, title: "Option 3" },
1601
- ];
1602
- return { val1, val2, val3, val4, val5, opts };
1603
- },
1604
- template: `
1605
- <div class="tw-grid tw-grid-cols-2 tw-gap-8 tw-max-w-3xl tw-pb-8">
1606
- <VcSelect v-model="val1" label="Default" placeholder="Select..." :options="opts" optionValue="id" optionLabel="title" />
1607
- <VcSelect v-model="val2" label="With Value" :options="opts" optionValue="id" optionLabel="title" />
1608
- <VcSelect v-model="val3" label="Error" placeholder="Select..." :options="opts" optionValue="id" optionLabel="title" :error="true" errorMessage="This field is required" />
1609
- <VcSelect v-model="val4" label="Disabled" :options="opts" optionValue="id" optionLabel="title" :disabled="true" />
1610
- <VcSelect v-model="val5" label="Loading" placeholder="Loading..." :options="opts" optionValue="id" optionLabel="title" :loading="true" />
1611
- <VcSelect v-model="val3" label="With Hint" placeholder="Select..." :options="opts" optionValue="id" optionLabel="title" hint="Pick one option from the list" />
1612
- </div>
1613
- `,
1614
- }),
1615
- };
1616
-
1617
- /**
1618
- * Comparing default and small sizes side by side.
1619
- */
1620
- export const AllSizes: Story = {
1621
- render: () => ({
1622
- components: { VcSelect },
1623
- setup() {
1624
- const val1 = ref(1);
1625
- const val2 = ref(1);
1626
- const opts = [
1627
- { id: 1, title: "Option 1" },
1628
- { id: 2, title: "Option 2" },
1629
- { id: 3, title: "Option 3" },
1630
- ];
1631
- return { val1, val2, opts };
1632
- },
1633
- template: `
1634
- <div class="tw-flex tw-gap-8 tw-items-start tw-max-w-3xl">
1635
- <div class="tw-flex-1">
1636
- <VcSelect v-model="val1" label="Default size" :options="opts" optionValue="id" optionLabel="title" size="default" />
1637
- </div>
1638
- <div class="tw-flex-1">
1639
- <VcSelect v-model="val2" label="Small size" :options="opts" optionValue="id" optionLabel="title" size="small" />
1640
- </div>
1641
- </div>
1642
- `,
1643
- }),
1644
- };
1645
-
1646
- /**
1647
- * Demonstrates accessibility features: auto-generated IDs, aria-describedby, aria-invalid.
1648
- * Inspect the DOM to see the ARIA attributes linking label, input, hint, and error elements.
1649
- */
1650
- export const Accessibility: Story = {
1651
- render: () => ({
1652
- components: { VcSelect },
1653
- setup() {
1654
- const val1 = ref(null);
1655
- const val2 = ref(null);
1656
- const opts = [
1657
- { id: 1, title: "Option 1" },
1658
- { id: 2, title: "Option 2" },
1659
- { id: 3, title: "Option 3" },
1660
- ];
1661
- return { val1, val2, opts };
1662
- },
1663
- template: `
1664
- <div class="tw-space-y-8 tw-max-w-lg">
1665
- <div>
1666
- <h3 class="tw-text-sm tw-font-semibold tw-mb-2 tw-text-gray-600">With hint (inspect: aria-describedby → hint id)</h3>
1667
- <VcSelect v-model="val1" label="Category" placeholder="Select category..." :options="opts" optionValue="id" optionLabel="title" hint="Choose the main product category" />
1668
- </div>
1669
- <div>
1670
- <h3 class="tw-text-sm tw-font-semibold tw-mb-2 tw-text-gray-600">With error (inspect: aria-invalid + aria-describedby → error id)</h3>
1671
- <VcSelect v-model="val2" label="Status" placeholder="Select status..." :options="opts" optionValue="id" optionLabel="title" :error="true" errorMessage="Status is required" />
1672
- </div>
1673
- </div>
1674
- `,
1675
- }),
1676
- };
1677
-
1678
- /**
1679
- * When the dropdown has many options, scroll arrow buttons appear at the top and bottom
1680
- * of the list. Hovering over them continuously scrolls the content in that direction.
1681
- */
1682
- export const Scrollable: Story = {
1683
- args: {
1684
- label: "Timezone",
1685
- placeholder: "Select a timezone",
1686
- clearable: true,
1687
- options: [
1688
- { id: "est", title: "Eastern Standard Time (EST)" },
1689
- { id: "cst", title: "Central Standard Time (CST)" },
1690
- { id: "mst", title: "Mountain Standard Time (MST)" },
1691
- { id: "pst", title: "Pacific Standard Time (PST)" },
1692
- { id: "akst", title: "Alaska Standard Time (AKST)" },
1693
- { id: "hst", title: "Hawaii Standard Time (HST)" },
1694
- { id: "gmt", title: "Greenwich Mean Time (GMT)" },
1695
- { id: "cet", title: "Central European Time (CET)" },
1696
- { id: "eet", title: "Eastern European Time (EET)" },
1697
- { id: "ist", title: "India Standard Time (IST)" },
1698
- { id: "cst_cn", title: "China Standard Time (CST)" },
1699
- { id: "jst", title: "Japan Standard Time (JST)" },
1700
- { id: "kst", title: "Korea Standard Time (KST)" },
1701
- { id: "aest", title: "Australian Eastern Standard Time (AEST)" },
1702
- { id: "nzst", title: "New Zealand Standard Time (NZST)" },
1703
- { id: "brt", title: "Brasilia Time (BRT)" },
1704
- { id: "art", title: "Argentina Time (ART)" },
1705
- { id: "cat", title: "Central Africa Time (CAT)" },
1706
- { id: "eat", title: "East Africa Time (EAT)" },
1707
- { id: "wet", title: "Western European Time (WET)" },
1708
- ],
1709
- optionValue: "id",
1710
- optionLabel: "title",
1711
- },
1712
- render: (args) => ({
1713
- components: { VcSelect },
1714
- setup() {
1715
- const value = ref(null);
1716
- return { args, value };
1717
- },
1718
- template: `
1719
- <div class="tw-p-4 tw-max-w-sm">
1720
- <VcSelect
1721
- v-bind="args"
1722
- v-model="value"
1723
- />
1724
- <div class="tw-mt-4 tw-text-sm">
1725
- <p>Selected: <code>{{ value ?? 'none' }}</code></p>
1726
- </div>
1727
- </div>
1728
- `,
1729
- }),
1730
- };