@vc-shell/vc-app-skill 2.0.0-alpha.33 → 2.0.0-alpha.34

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 (195) hide show
  1. package/CHANGELOG.md +78 -54
  2. package/README.md +42 -12
  3. package/package.json +4 -4
  4. package/runtime/VERSION +1 -1
  5. package/runtime/agents/api-analyzer.md +31 -16
  6. package/runtime/agents/blade-enhancer.md +15 -9
  7. package/runtime/agents/details-blade-generator.md +47 -31
  8. package/runtime/agents/list-blade-generator.md +21 -37
  9. package/runtime/agents/locales-generator.md +3 -0
  10. package/runtime/agents/migration-agent.md +18 -7
  11. package/runtime/agents/module-analyzer.md +2 -0
  12. package/runtime/agents/module-assembler.md +15 -0
  13. package/runtime/agents/promote-agent.md +15 -4
  14. package/runtime/agents/type-checker.md +11 -0
  15. package/runtime/knowledge/docs/_BUILD_HASH.md +1 -1
  16. package/runtime/knowledge/docs/core/api/platform.docs.md +30 -30
  17. package/runtime/knowledge/docs/core/blade-navigation/blade-nav-composables.docs.md +41 -41
  18. package/runtime/knowledge/docs/core/composables/bladeContext/index.docs.md +12 -10
  19. package/runtime/knowledge/docs/core/composables/useApiClient/useApiClient.docs.md +11 -14
  20. package/runtime/knowledge/docs/core/composables/useAppBarMobileButtons/useAppBarMobileButtons.docs.md +35 -35
  21. package/runtime/knowledge/docs/core/composables/useAppBarWidget/useAppBarWidget.docs.md +35 -35
  22. package/runtime/knowledge/docs/core/composables/useAppInsights/useAppInsights.docs.md +15 -15
  23. package/runtime/knowledge/docs/core/composables/useAssets/useAssets.docs.md +21 -18
  24. package/runtime/knowledge/docs/core/composables/useAssetsManager/useAssetsManager.docs.md +28 -24
  25. package/runtime/knowledge/docs/core/composables/useAsync/useAsync.docs.md +90 -61
  26. package/runtime/knowledge/docs/core/composables/useBeforeUnload/useBeforeUnload.docs.md +19 -18
  27. package/runtime/knowledge/docs/core/composables/useBlade/useBlade.docs.md +89 -68
  28. package/runtime/knowledge/docs/core/composables/useBladeForm/useBladeForm.docs.md +27 -25
  29. package/runtime/knowledge/docs/core/composables/useBladeRegistry/useBladeRegistry.docs.md +15 -15
  30. package/runtime/knowledge/docs/core/composables/useBladeWidgets/index.docs.md +43 -47
  31. package/runtime/knowledge/docs/core/composables/useBreadcrumbs/useBreadcrumbs.docs.md +11 -11
  32. package/runtime/knowledge/docs/core/composables/useConnectionStatus/useConnectionStatus.docs.md +27 -15
  33. package/runtime/knowledge/docs/core/composables/useDashboard/useDashboard.docs.md +30 -30
  34. package/runtime/knowledge/docs/core/composables/useDynamicProperties/useDynamicProperties.docs.md +34 -36
  35. package/runtime/knowledge/docs/core/composables/useErrorHandler/useErrorHandler.docs.md +44 -23
  36. package/runtime/knowledge/docs/core/composables/useFunctions/useFunctions.docs.md +14 -11
  37. package/runtime/knowledge/docs/core/composables/useKeyboardNavigation/useKeyboardNavigation.docs.md +47 -38
  38. package/runtime/knowledge/docs/core/composables/useLanguages/useLanguages.docs.md +37 -28
  39. package/runtime/knowledge/docs/core/composables/useLoading/useLoading.docs.md +23 -17
  40. package/runtime/knowledge/docs/core/composables/useMenuExpanded/index.docs.md +9 -9
  41. package/runtime/knowledge/docs/core/composables/useMenuService/useMenuService.docs.md +42 -42
  42. package/runtime/knowledge/docs/core/composables/useModificationTracker/useModificationTracker.docs.md +22 -12
  43. package/runtime/knowledge/docs/core/composables/useNotifications/useNotifications.docs.md +33 -41
  44. package/runtime/knowledge/docs/core/composables/usePermissions/usePermissions.docs.md +16 -16
  45. package/runtime/knowledge/docs/core/composables/usePlatformLocaleSync/usePlatformLocaleSync.docs.md +28 -0
  46. package/runtime/knowledge/docs/core/composables/usePopup/usePopup.docs.md +32 -24
  47. package/runtime/knowledge/docs/core/composables/useResponsive/useResponsive.docs.md +32 -11
  48. package/runtime/knowledge/docs/core/composables/useSettings/useSettings.docs.md +22 -13
  49. package/runtime/knowledge/docs/core/composables/useSettingsMenu/useSettingsMenu.docs.md +7 -7
  50. package/runtime/knowledge/docs/core/composables/useSidebarState/useSidebarState.docs.md +32 -24
  51. package/runtime/knowledge/docs/core/composables/useSlowNetworkDetection/useSlowNetworkDetection.docs.md +21 -17
  52. package/runtime/knowledge/docs/core/composables/useTheme/useTheme.docs.md +24 -24
  53. package/runtime/knowledge/docs/core/composables/useToolbar/useToolbar.docs.md +28 -31
  54. package/runtime/knowledge/docs/core/composables/useUser/useUser.docs.md +43 -24
  55. package/runtime/knowledge/docs/core/composables/useUserManagement/useUserManagement.docs.md +68 -48
  56. package/runtime/knowledge/docs/core/composables/useWebVitals/useWebVitals.docs.md +19 -19
  57. package/runtime/knowledge/docs/core/composables/useWidgets/useWidgets.docs.md +42 -47
  58. package/runtime/knowledge/docs/core/directives/autofocus/autofocus.docs.md +10 -4
  59. package/runtime/knowledge/docs/core/directives/loading/loading.docs.md +35 -20
  60. package/runtime/knowledge/docs/core/notifications/notifications.docs.md +36 -35
  61. package/runtime/knowledge/docs/core/plugins/ai-agent/ai-agent.docs.md +38 -38
  62. package/runtime/knowledge/docs/core/plugins/extension-points/extension-points.docs.md +79 -62
  63. package/runtime/knowledge/docs/core/plugins/global-error-handler/global-error-handler.docs.md +10 -10
  64. package/runtime/knowledge/docs/core/plugins/i18n/i18n.docs.md +21 -23
  65. package/runtime/knowledge/docs/core/plugins/modularity/modularity.docs.md +91 -83
  66. package/runtime/knowledge/docs/core/plugins/permissions/permissions.docs.md +10 -16
  67. package/runtime/knowledge/docs/core/plugins/signalR/signalR.docs.md +9 -9
  68. package/runtime/knowledge/docs/core/plugins/validation/validation.docs.md +65 -22
  69. package/runtime/knowledge/docs/core/services/services.docs.md +19 -22
  70. package/runtime/knowledge/docs/core/types/types.docs.md +40 -40
  71. package/runtime/knowledge/docs/core/utilities/date/date-utilities.docs.md +27 -27
  72. package/runtime/knowledge/docs/core/utilities/shared-utilities.docs.md +23 -23
  73. package/runtime/knowledge/docs/core/utilities/thumbnail/thumbnail.docs.md +22 -25
  74. package/runtime/knowledge/docs/core/utilities/utilities.docs.md +64 -64
  75. package/runtime/knowledge/docs/injection-keys.docs.md +52 -51
  76. package/runtime/knowledge/docs/modules/assets-manager/assets-manager.docs.md +9 -9
  77. package/runtime/knowledge/docs/shell/_internal/popup/common/popup-common.docs.md +23 -43
  78. package/runtime/knowledge/docs/shell/auth/ChangePasswordPage/change-password-page.docs.md +5 -5
  79. package/runtime/knowledge/docs/shell/auth/ForgotPasswordPage/forgot-password-page.docs.md +5 -5
  80. package/runtime/knowledge/docs/shell/auth/InvitePage/invite-page.docs.md +8 -7
  81. package/runtime/knowledge/docs/shell/auth/LoginPage/login-page.docs.md +7 -7
  82. package/runtime/knowledge/docs/shell/auth/ResetPasswordPage/reset-password-page.docs.md +8 -7
  83. package/runtime/knowledge/docs/shell/auth/sign-in/sign-in.docs.md +29 -13
  84. package/runtime/knowledge/docs/shell/components/change-password/change-password.docs.md +13 -16
  85. package/runtime/knowledge/docs/shell/components/change-password-button/change-password-button.docs.md +1 -7
  86. package/runtime/knowledge/docs/shell/components/error-interceptor/error-interceptor.docs.md +5 -5
  87. package/runtime/knowledge/docs/shell/components/language-selector/language-selector.docs.md +1 -1
  88. package/runtime/knowledge/docs/shell/components/logout-button/logout-button.docs.md +1 -1
  89. package/runtime/knowledge/docs/shell/components/notification-template/notification-template.docs.md +17 -9
  90. package/runtime/knowledge/docs/shell/components/settings-menu/settings-menu.docs.md +11 -17
  91. package/runtime/knowledge/docs/shell/components/settings-menu-item/settings-menu-item.docs.md +34 -65
  92. package/runtime/knowledge/docs/shell/components/sidebar/sidebar.docs.md +16 -26
  93. package/runtime/knowledge/docs/shell/components/theme-selector/theme-selector.docs.md +2 -2
  94. package/runtime/knowledge/docs/shell/components/user-dropdown-button/user-dropdown-button.docs.md +7 -9
  95. package/runtime/knowledge/docs/shell/dashboard/dashboard-charts/dashboard-charts.docs.md +30 -40
  96. package/runtime/knowledge/docs/shell/dashboard/dashboard-widget-card/dashboard-widget-card.docs.md +26 -19
  97. package/runtime/knowledge/docs/shell/dashboard/draggable-dashboard/draggable-dashboard.docs.md +15 -12
  98. package/runtime/knowledge/docs/ui/components/atoms/vc-badge/vc-badge.docs.md +15 -26
  99. package/runtime/knowledge/docs/ui/components/atoms/vc-banner/vc-banner.docs.md +21 -19
  100. package/runtime/knowledge/docs/ui/components/atoms/vc-button/vc-button.docs.md +83 -67
  101. package/runtime/knowledge/docs/ui/components/atoms/vc-card/vc-card.docs.md +100 -59
  102. package/runtime/knowledge/docs/ui/components/atoms/vc-col/vc-col.docs.md +28 -11
  103. package/runtime/knowledge/docs/ui/components/atoms/vc-container/vc-container.docs.md +20 -17
  104. package/runtime/knowledge/docs/ui/components/atoms/vc-hint/vc-hint.docs.md +26 -17
  105. package/runtime/knowledge/docs/ui/components/atoms/vc-icon/vc-icon.docs.md +30 -32
  106. package/runtime/knowledge/docs/ui/components/atoms/vc-image/vc-image.docs.md +25 -48
  107. package/runtime/knowledge/docs/ui/components/atoms/vc-label/vc-label.docs.md +29 -24
  108. package/runtime/knowledge/docs/ui/components/atoms/vc-link/vc-link.docs.md +23 -15
  109. package/runtime/knowledge/docs/ui/components/atoms/vc-loading/vc-loading.docs.md +22 -13
  110. package/runtime/knowledge/docs/ui/components/atoms/vc-progress/vc-progress.docs.md +33 -18
  111. package/runtime/knowledge/docs/ui/components/atoms/vc-row/vc-row.docs.md +56 -15
  112. package/runtime/knowledge/docs/ui/components/atoms/vc-scrollable-container/vc-scrollable-container.docs.md +28 -15
  113. package/runtime/knowledge/docs/ui/components/atoms/vc-skeleton/vc-skeleton.docs.md +40 -20
  114. package/runtime/knowledge/docs/ui/components/atoms/vc-status/vc-status.docs.md +25 -14
  115. package/runtime/knowledge/docs/ui/components/atoms/vc-status-icon/vc-status-icon.docs.md +40 -14
  116. package/runtime/knowledge/docs/ui/components/atoms/vc-tooltip/vc-tooltip.docs.md +54 -42
  117. package/runtime/knowledge/docs/ui/components/atoms/vc-video/vc-video.docs.md +17 -17
  118. package/runtime/knowledge/docs/ui/components/atoms/vc-widget/vc-widget.docs.md +21 -21
  119. package/runtime/knowledge/docs/ui/components/molecules/multilanguage-selector/multilanguage-selector.docs.md +23 -10
  120. package/runtime/knowledge/docs/ui/components/molecules/vc-accordion/vc-accordion.docs.md +55 -44
  121. package/runtime/knowledge/docs/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.docs.md +23 -20
  122. package/runtime/knowledge/docs/ui/components/molecules/vc-checkbox/vc-checkbox.docs.md +92 -65
  123. package/runtime/knowledge/docs/ui/components/molecules/vc-checkbox-group/vc-checkbox-group.docs.md +22 -36
  124. package/runtime/knowledge/docs/ui/components/molecules/vc-color-input/vc-color-input.docs.md +65 -23
  125. package/runtime/knowledge/docs/ui/components/molecules/vc-date-picker/vc-date-picker.docs.md +52 -73
  126. package/runtime/knowledge/docs/ui/components/molecules/vc-dropdown/vc-dropdown.docs.md +91 -85
  127. package/runtime/knowledge/docs/ui/components/molecules/vc-dropdown-panel/vc-dropdown-panel.docs.md +38 -42
  128. package/runtime/knowledge/docs/ui/components/molecules/vc-editor/vc-editor.docs.md +56 -73
  129. package/runtime/knowledge/docs/ui/components/molecules/vc-field/vc-field.docs.md +61 -27
  130. package/runtime/knowledge/docs/ui/components/molecules/vc-file-upload/vc-file-upload.docs.md +42 -50
  131. package/runtime/knowledge/docs/ui/components/molecules/vc-form/vc-form.docs.md +35 -64
  132. package/runtime/knowledge/docs/ui/components/molecules/vc-image-tile/vc-image-tile.docs.md +38 -41
  133. package/runtime/knowledge/docs/ui/components/molecules/vc-input/vc-input.docs.md +109 -131
  134. package/runtime/knowledge/docs/ui/components/molecules/vc-input-currency/vc-input-currency.docs.md +47 -88
  135. package/runtime/knowledge/docs/ui/components/molecules/vc-input-dropdown/vc-input-dropdown.docs.md +50 -64
  136. package/runtime/knowledge/docs/ui/components/molecules/vc-input-group/vc-input-group.docs.md +29 -24
  137. package/runtime/knowledge/docs/ui/components/molecules/vc-menu/vc-menu.docs.md +32 -28
  138. package/runtime/knowledge/docs/ui/components/molecules/vc-multivalue/vc-multivalue.docs.md +57 -65
  139. package/runtime/knowledge/docs/ui/components/molecules/vc-pagination/vc-pagination.docs.md +28 -26
  140. package/runtime/knowledge/docs/ui/components/molecules/vc-radio-button/vc-radio-button.docs.md +55 -20
  141. package/runtime/knowledge/docs/ui/components/molecules/vc-radio-group/vc-radio-group.docs.md +21 -35
  142. package/runtime/knowledge/docs/ui/components/molecules/vc-rating/vc-rating.docs.md +38 -33
  143. package/runtime/knowledge/docs/ui/components/molecules/vc-select/vc-select.docs.md +72 -83
  144. package/runtime/knowledge/docs/ui/components/molecules/vc-slider/vc-slider.docs.md +21 -16
  145. package/runtime/knowledge/docs/ui/components/molecules/vc-switch/vc-switch.docs.md +55 -64
  146. package/runtime/knowledge/docs/ui/components/molecules/vc-textarea/vc-textarea.docs.md +51 -70
  147. package/runtime/knowledge/docs/ui/components/molecules/vc-toast/vc-toast.docs.md +58 -57
  148. package/runtime/knowledge/docs/ui/components/organisms/vc-app/vc-app.docs.md +49 -26
  149. package/runtime/knowledge/docs/ui/components/organisms/vc-auth-layout/vc-auth-layout.docs.md +82 -28
  150. package/runtime/knowledge/docs/ui/components/organisms/vc-blade/vc-blade.docs.md +90 -75
  151. package/runtime/knowledge/docs/ui/components/organisms/vc-data-table/composables/table-composables.docs.md +99 -48
  152. package/runtime/knowledge/docs/ui/components/organisms/vc-data-table/vc-data-table.docs.md +548 -367
  153. package/runtime/knowledge/docs/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.docs.md +35 -52
  154. package/runtime/knowledge/docs/ui/components/organisms/vc-gallery/vc-gallery.docs.md +33 -62
  155. package/runtime/knowledge/docs/ui/components/organisms/vc-image-upload/vc-image-upload.docs.md +17 -23
  156. package/runtime/knowledge/docs/ui/components/organisms/vc-popup/vc-popup.docs.md +109 -68
  157. package/runtime/knowledge/docs/ui/components/organisms/vc-sidebar/vc-sidebar.docs.md +82 -44
  158. package/runtime/knowledge/docs/ui/composables/ui-composables.docs.md +8 -8
  159. package/runtime/knowledge/docs/ui/composables/useDataTablePagination.docs.md +164 -0
  160. package/runtime/knowledge/docs/ui/composables/useDataTableSort.docs.md +34 -26
  161. package/runtime/knowledge/docs/ui/composables/useTableSelection.docs.md +48 -40
  162. package/runtime/knowledge/docs/ui/composables/useTableSort.docs.md +30 -17
  163. package/runtime/knowledge/docs/ui/types/ui-types.docs.md +40 -29
  164. package/runtime/knowledge/examples/offers-module.md +15 -13
  165. package/runtime/knowledge/examples/team-module.md +82 -119
  166. package/runtime/knowledge/examples/videos-module.md +44 -17
  167. package/runtime/knowledge/index.md +22 -0
  168. package/runtime/knowledge/migration-prompts/blade-form-migration.md +17 -8
  169. package/runtime/knowledge/migration-prompts/blade-props-migration.md +1 -2
  170. package/runtime/knowledge/migration-prompts/datatable-migration.md +801 -0
  171. package/runtime/knowledge/migration-prompts/icon-migration.md +97 -0
  172. package/runtime/knowledge/migration-prompts/manual-migration-audit.md +117 -0
  173. package/runtime/knowledge/migration-prompts/notifications-migration.md +8 -3
  174. package/runtime/knowledge/migration-prompts/nswag-migration.md +25 -29
  175. package/runtime/knowledge/migration-prompts/use-assets-migration.md +164 -0
  176. package/runtime/knowledge/migration-prompts/use-data-table-pagination-migration.md +176 -0
  177. package/runtime/knowledge/migration-prompts/widgets-migration.md +48 -27
  178. package/runtime/knowledge/patterns/assets-management.md +20 -20
  179. package/runtime/knowledge/patterns/blade-navigation.md +7 -14
  180. package/runtime/knowledge/patterns/blade-widget.md +19 -17
  181. package/runtime/knowledge/patterns/child-blade-flow.md +19 -7
  182. package/runtime/knowledge/patterns/composable-details.md +20 -50
  183. package/runtime/knowledge/patterns/composable-list.md +43 -31
  184. package/runtime/knowledge/patterns/dashboard-widget.md +14 -16
  185. package/runtime/knowledge/patterns/datatable-pattern.md +521 -0
  186. package/runtime/knowledge/patterns/details-blade-pattern.md +78 -116
  187. package/runtime/knowledge/patterns/extension-points-usage.md +53 -44
  188. package/runtime/knowledge/patterns/form-validation.md +28 -64
  189. package/runtime/knowledge/patterns/list-blade-pattern.md +33 -21
  190. package/runtime/knowledge/patterns/module-structure.md +7 -1
  191. package/runtime/knowledge/patterns/multilanguage-fields.md +8 -14
  192. package/runtime/knowledge/patterns/notification-template.md +21 -14
  193. package/runtime/knowledge/patterns/signalr-notifications.md +30 -32
  194. package/runtime/knowledge/patterns/toolbar-pattern.md +18 -20
  195. package/runtime/vc-app.md +241 -62
@@ -23,11 +23,11 @@ import { VcStatus } from "@vc-shell/framework";
23
23
 
24
24
  ## Key Props
25
25
 
26
- | Prop | Type | Default | Description |
27
- |------|------|---------|-------------|
28
- | `variant` | `"info" \| "warning" \| "danger" \| "success" \| "light-danger" \| "info-dark" \| "primary"` | `"info"` | Semantic color theme |
29
- | `extend` | `boolean` | -- | Extended layout with larger padding, rounded corners, and colored background |
30
- | `dot` | `boolean` | `false` | Renders as a small colored circle without text |
26
+ | Prop | Type | Default | Description |
27
+ | --------- | -------------------------------------------------------------------------------------------- | -------- | ---------------------------------------------------------------------------- |
28
+ | `variant` | `"info" \| "warning" \| "danger" \| "success" \| "light-danger" \| "info-dark" \| "primary"` | `"info"` | Semantic color theme |
29
+ | `extend` | `boolean` | -- | Extended layout with larger padding, rounded corners, and colored background |
30
+ | `dot` | `boolean` | `false` | Renders as a small colored circle without text |
31
31
 
32
32
  ## Common Patterns
33
33
 
@@ -60,7 +60,10 @@ Use the `dot` prop for compact status representation alongside text labels.
60
60
  ```vue
61
61
  <template>
62
62
  <div class="tw-flex tw-items-center tw-gap-2">
63
- <VcStatus variant="success" dot />
63
+ <VcStatus
64
+ variant="success"
65
+ dot
66
+ />
64
67
  <span>Online</span>
65
68
  </div>
66
69
  </template>
@@ -72,9 +75,17 @@ The `extend` prop creates a banner-like status with a colored background, suitab
72
75
 
73
76
  ```vue
74
77
  <template>
75
- <VcStatus variant="danger" extend>
78
+ <VcStatus
79
+ variant="danger"
80
+ extend
81
+ >
76
82
  <div class="tw-flex tw-items-center">
77
- <VcIcon icon="lucide-triangle-alert" size="xl" variant="danger" class="tw-mr-3" />
83
+ <VcIcon
84
+ icon="lucide-triangle-alert"
85
+ size="xl"
86
+ variant="danger"
87
+ class="tw-mr-3"
88
+ />
78
89
  <div>
79
90
  <h3 class="tw-font-bold">Payment Failed</h3>
80
91
  <p>The last transaction was declined. Please update your payment method.</p>
@@ -88,12 +99,12 @@ The `extend` prop creates a banner-like status with a colored background, suitab
88
99
 
89
100
  Each variant has its own set of CSS variables following the pattern `--status-{variant}-color`, `--status-{variant}-main-color`, `--status-{variant}-bg-color`. Key shared variables:
90
101
 
91
- | Variable | Default | Description |
92
- |---|---|---|
93
- | `--status-border-radius` | `9999px` | Pill shape for standard mode |
94
- | `--status-border-radius-extended` | `6px` | Rounded corners for extended mode |
95
- | `--status-dot-size` | `10px` | Diameter of the dot indicator |
96
- | `--status-text-color` | `var(--neutrals-700)` | Default label text color |
102
+ | Variable | Default | Description |
103
+ | --------------------------------- | --------------------- | --------------------------------- |
104
+ | `--status-border-radius` | `9999px` | Pill shape for standard mode |
105
+ | `--status-border-radius-extended` | `6px` | Rounded corners for extended mode |
106
+ | `--status-dot-size` | `10px` | Diameter of the dot indicator |
107
+ | `--status-text-color` | `var(--neutrals-700)` | Default label text color |
97
108
 
98
109
  ## Accessibility
99
110
 
@@ -23,8 +23,8 @@ import { VcStatusIcon } from "@vc-shell/framework";
23
23
 
24
24
  ## Key Props
25
25
 
26
- | Prop | Type | Default | Description |
27
- |------|------|---------|-------------|
26
+ | Prop | Type | Default | Description |
27
+ | -------- | --------- | ----------- | --------------------------------------------------------------------- |
28
28
  | `status` | `boolean` | `undefined` | `true` shows a green check circle; `false` shows a muted cross circle |
29
29
 
30
30
  ## Common Patterns
@@ -33,7 +33,11 @@ import { VcStatusIcon } from "@vc-shell/framework";
33
33
 
34
34
  ```vue
35
35
  <template>
36
- <VcColumn id="isActive" header="Active" :width="80">
36
+ <VcColumn
37
+ id="isActive"
38
+ header="Active"
39
+ :width="80"
40
+ >
37
41
  <template #default="{ row }">
38
42
  <VcStatusIcon :status="row.isActive" />
39
43
  </template>
@@ -45,18 +49,33 @@ import { VcStatusIcon } from "@vc-shell/framework";
45
49
 
46
50
  ```vue
47
51
  <template>
48
- <VcDataTable :columns="columns" :items="users">
49
- <VcColumn id="emailVerified" header="Email" :width="70">
52
+ <VcDataTable
53
+ :columns="columns"
54
+ :items="users"
55
+ >
56
+ <VcColumn
57
+ id="emailVerified"
58
+ header="Email"
59
+ :width="70"
60
+ >
50
61
  <template #default="{ row }">
51
62
  <VcStatusIcon :status="row.emailVerified" />
52
63
  </template>
53
64
  </VcColumn>
54
- <VcColumn id="isActive" header="Active" :width="70">
65
+ <VcColumn
66
+ id="isActive"
67
+ header="Active"
68
+ :width="70"
69
+ >
55
70
  <template #default="{ row }">
56
71
  <VcStatusIcon :status="row.isActive" />
57
72
  </template>
58
73
  </VcColumn>
59
- <VcColumn id="hasAvatar" header="Avatar" :width="70">
74
+ <VcColumn
75
+ id="hasAvatar"
76
+ header="Avatar"
77
+ :width="70"
78
+ >
60
79
  <template #default="{ row }">
61
80
  <VcStatusIcon :status="!!row.avatarUrl" />
62
81
  </template>
@@ -70,10 +89,14 @@ import { VcStatusIcon } from "@vc-shell/framework";
70
89
  ```vue
71
90
  <template>
72
91
  <div class="tw-space-y-2">
73
- <div v-for="service in services" :key="service.name" class="tw-flex tw-justify-between tw-items-center tw-py-2 tw-border-b">
92
+ <div
93
+ v-for="service in services"
94
+ :key="service.name"
95
+ class="tw-flex tw-justify-between tw-items-center tw-py-2 tw-border-b"
96
+ >
74
97
  <span>{{ service.name }}</span>
75
98
  <div class="tw-flex tw-items-center tw-gap-2">
76
- <span class="tw-text-sm">{{ service.status ? 'Online' : 'Offline' }}</span>
99
+ <span class="tw-text-sm">{{ service.status ? "Online" : "Offline" }}</span>
77
100
  <VcStatusIcon :status="service.status" />
78
101
  </div>
79
102
  </div>
@@ -89,8 +112,11 @@ VcStatusIcon is intentionally minimal. If you need a text label next to the icon
89
112
  <template>
90
113
  <div class="tw-flex tw-items-center tw-gap-2">
91
114
  <VcStatusIcon :status="order.isPaid" />
92
- <span class="tw-text-sm" :class="order.isPaid ? 'tw-text-green-600' : 'tw-text-gray-400'">
93
- {{ order.isPaid ? 'Paid' : 'Unpaid' }}
115
+ <span
116
+ class="tw-text-sm"
117
+ :class="order.isPaid ? 'tw-text-green-600' : 'tw-text-gray-400'"
118
+ >
119
+ {{ order.isPaid ? "Paid" : "Unpaid" }}
94
120
  </span>
95
121
  </div>
96
122
  </template>
@@ -98,9 +124,9 @@ VcStatusIcon is intentionally minimal. If you need a text label next to the icon
98
124
 
99
125
  ## CSS Custom Properties
100
126
 
101
- | Variable | Default | Description |
102
- |---|---|---|
103
- | `--status-icon-success-color` | `var(--success-500)` | Color of the check icon |
127
+ | Variable | Default | Description |
128
+ | ------------------------------ | --------------------- | ----------------------- |
129
+ | `--status-icon-success-color` | `var(--success-500)` | Color of the check icon |
104
130
  | `--status-icon-inactive-color` | `var(--neutrals-300)` | Color of the cross icon |
105
131
 
106
132
  ## Tips
@@ -7,7 +7,11 @@ A floating tooltip that appears on hover or focus to provide contextual informat
7
7
  ```vue
8
8
  <template>
9
9
  <VcTooltip>
10
- <VcButton size="icon" icon="lucide-trash-2" aria-label="Delete" />
10
+ <VcButton
11
+ size="icon"
12
+ icon="lucide-trash-2"
13
+ aria-label="Delete"
14
+ />
11
15
  <template #tooltip>Delete selected items</template>
12
16
  </VcTooltip>
13
17
  </template>
@@ -32,12 +36,12 @@ VcTooltip supports 12 placement positions relative to the trigger element. The t
32
36
 
33
37
  ### All placement options
34
38
 
35
- | Primary | Start Variant | End Variant |
36
- |---------|--------------|-------------|
37
- | `top` | `top-start` | `top-end` |
39
+ | Primary | Start Variant | End Variant |
40
+ | -------- | -------------- | ------------ |
41
+ | `top` | `top-start` | `top-end` |
38
42
  | `bottom` | `bottom-start` | `bottom-end` |
39
- | `left` | `left-start` | `left-end` |
40
- | `right` | `right-start` | `right-end` |
43
+ | `left` | `left-start` | `left-end` |
44
+ | `right` | `right-start` | `right-end` |
41
45
 
42
46
  The `start` and `end` variants align the tooltip to the beginning or end of the trigger element along the cross axis:
43
47
 
@@ -70,11 +74,11 @@ Three visual themes control the tooltip's appearance.
70
74
  </VcTooltip>
71
75
  ```
72
76
 
73
- | Variant | Background | Text Color | Use Case |
74
- |---------|------------|------------|----------|
75
- | `default` | `var(--additional-50)` (light) | `var(--neutrals-700)` | General-purpose tooltips |
76
- | `dark` | `var(--neutrals-800)` | `var(--additional-50)` (white) | High-contrast tooltips, dark UI areas |
77
- | `info` | `var(--primary-600)` | `var(--additional-50)` (white) | Branded or informational tooltips |
77
+ | Variant | Background | Text Color | Use Case |
78
+ | --------- | ------------------------------ | ------------------------------ | ------------------------------------- |
79
+ | `default` | `var(--additional-50)` (light) | `var(--neutrals-700)` | General-purpose tooltips |
80
+ | `dark` | `var(--neutrals-800)` | `var(--additional-50)` (white) | High-contrast tooltips, dark UI areas |
81
+ | `info` | `var(--primary-600)` | `var(--additional-50)` (white) | Branded or informational tooltips |
78
82
 
79
83
  ## Delayed Display
80
84
 
@@ -115,10 +119,10 @@ Control the distance between the trigger and the tooltip:
115
119
  <VcTooltip :offset="{ mainAxis: 8, crossAxis: 10 }">...</VcTooltip>
116
120
  ```
117
121
 
118
- | Axis | Direction | Default |
119
- |------|-----------|---------|
120
- | `mainAxis` | Away from the trigger (perpendicular to placement edge) | `8` |
121
- | `crossAxis` | Along the trigger edge (parallel to placement edge) | `0` |
122
+ | Axis | Direction | Default |
123
+ | ----------- | ------------------------------------------------------- | ------- |
124
+ | `mainAxis` | Away from the trigger (perpendicular to placement edge) | `8` |
125
+ | `crossAxis` | Along the trigger edge (parallel to placement edge) | `0` |
122
126
 
123
127
  ## Width Control
124
128
 
@@ -177,7 +181,12 @@ The `#tooltip` slot accepts any HTML or Vue components, not just text:
177
181
  ```vue
178
182
  <template>
179
183
  <div class="tw-flex tw-gap-1">
180
- <VcTooltip v-for="action in actions" :key="action.id" placement="top" variant="dark">
184
+ <VcTooltip
185
+ v-for="action in actions"
186
+ :key="action.id"
187
+ placement="top"
188
+ variant="dark"
189
+ >
181
190
  <VcButton
182
191
  variant="ghost"
183
192
  size="icon"
@@ -203,7 +212,10 @@ const actions = [
203
212
 
204
213
  ```vue
205
214
  <template>
206
- <VcTooltip placement="top" :max-width="400">
215
+ <VcTooltip
216
+ placement="top"
217
+ :max-width="400"
218
+ >
207
219
  <span class="tw-truncate tw-max-w-[200px] tw-block">
208
220
  {{ longProductName }}
209
221
  </span>
@@ -270,38 +282,38 @@ const actions = [
270
282
 
271
283
  ## Props
272
284
 
273
- | Prop | Type | Default | Description |
274
- |------|------|---------|-------------|
275
- | `placement` | `TooltipPlacement` | `"bottom"` | Position relative to the trigger (12 options) |
276
- | `variant` | `"default" \| "dark" \| "info"` | `"default"` | Visual theme |
277
- | `arrow` | `boolean` | `true` | Show directional arrow pointing at the trigger |
278
- | `delay` | `number` | `0` | Milliseconds to wait before showing |
279
- | `maxWidth` | `number \| string` | `240` | Maximum width (number = px, string = CSS value) |
280
- | `offset` | `{ mainAxis?: number; crossAxis?: number }` | `{ mainAxis: 8 }` | Distance from the trigger element |
281
- | `disabled` | `boolean` | `false` | Suppress the tooltip entirely |
285
+ | Prop | Type | Default | Description |
286
+ | ----------- | ------------------------------------------- | ----------------- | ----------------------------------------------- |
287
+ | `placement` | `TooltipPlacement` | `"bottom"` | Position relative to the trigger (12 options) |
288
+ | `variant` | `"default" \| "dark" \| "info"` | `"default"` | Visual theme |
289
+ | `arrow` | `boolean` | `true` | Show directional arrow pointing at the trigger |
290
+ | `delay` | `number` | `0` | Milliseconds to wait before showing |
291
+ | `maxWidth` | `number \| string` | `240` | Maximum width (number = px, string = CSS value) |
292
+ | `offset` | `{ mainAxis?: number; crossAxis?: number }` | `{ mainAxis: 8 }` | Distance from the trigger element |
293
+ | `disabled` | `boolean` | `false` | Suppress the tooltip entirely |
282
294
 
283
295
  ## Slots
284
296
 
285
- | Slot | Description |
286
- |------|-------------|
297
+ | Slot | Description |
298
+ | --------- | --------------------------------------------------------- |
287
299
  | `default` | Trigger element that activates the tooltip on hover/focus |
288
- | `tooltip` | Content rendered inside the floating tooltip panel |
300
+ | `tooltip` | Content rendered inside the floating tooltip panel |
289
301
 
290
302
  ## CSS Custom Properties
291
303
 
292
- | Variable | Default | Description |
293
- |----------|---------|-------------|
294
- | `--tooltip-bg` | `var(--additional-50)` | Default variant background |
295
- | `--tooltip-text` | `var(--neutrals-700)` | Default variant text color |
296
- | `--tooltip-dark-bg` | `var(--neutrals-800)` | Dark variant background |
297
- | `--tooltip-dark-text` | `var(--additional-50)` | Dark variant text color |
298
- | `--tooltip-info-bg` | `var(--primary-600)` | Info variant background |
299
- | `--tooltip-info-text` | `var(--additional-50)` | Info variant text color |
300
- | `--tooltip-border-radius` | `6px` | Corner radius |
301
- | `--tooltip-font-size` | `12px` | Text size |
302
- | `--tooltip-padding-x` | `10px` | Horizontal padding |
303
- | `--tooltip-padding-y` | `6px` | Vertical padding |
304
- | `--tooltip-z-index` | `1002` | Stacking order |
304
+ | Variable | Default | Description |
305
+ | ------------------------- | ---------------------- | -------------------------- |
306
+ | `--tooltip-bg` | `var(--additional-50)` | Default variant background |
307
+ | `--tooltip-text` | `var(--neutrals-700)` | Default variant text color |
308
+ | `--tooltip-dark-bg` | `var(--neutrals-800)` | Dark variant background |
309
+ | `--tooltip-dark-text` | `var(--additional-50)` | Dark variant text color |
310
+ | `--tooltip-info-bg` | `var(--primary-600)` | Info variant background |
311
+ | `--tooltip-info-text` | `var(--additional-50)` | Info variant text color |
312
+ | `--tooltip-border-radius` | `6px` | Corner radius |
313
+ | `--tooltip-font-size` | `12px` | Text size |
314
+ | `--tooltip-padding-x` | `10px` | Horizontal padding |
315
+ | `--tooltip-padding-y` | `6px` | Vertical padding |
316
+ | `--tooltip-z-index` | `1002` | Stacking order |
305
317
 
306
318
  ## Accessibility
307
319
 
@@ -26,22 +26,18 @@ import { VcVideo } from "@vc-shell/framework";
26
26
 
27
27
  ## Key Props
28
28
 
29
- | Prop | Type | Default | Description |
30
- |------|------|---------|-------------|
31
- | `source` | `string` | -- | Embed URL for the video (e.g., YouTube embed link) |
32
- | `label` | `string` | -- | Label text displayed above the video |
33
- | `tooltip` | `string` | -- | Tooltip text shown on the label's info icon |
29
+ | Prop | Type | Default | Description |
30
+ | --------- | -------- | ------- | -------------------------------------------------- |
31
+ | `source` | `string` | -- | Embed URL for the video (e.g., YouTube embed link) |
32
+ | `label` | `string` | -- | Label text displayed above the video |
33
+ | `tooltip` | `string` | -- | Tooltip text shown on the label's info icon |
34
34
 
35
35
  ## Common Patterns
36
36
 
37
37
  ### Video with Label and Tooltip
38
38
 
39
39
  ```vue
40
- <VcVideo
41
- source="https://www.youtube.com/embed/dQw4w9WgXcQ"
42
- label="Setup Guide"
43
- tooltip="This video walks through the initial configuration steps"
44
- />
40
+ <VcVideo source="https://www.youtube.com/embed/dQw4w9WgXcQ" label="Setup Guide" tooltip="This video walks through the initial configuration steps" />
45
41
  ```
46
42
 
47
43
  ### Placeholder When Source Is Missing
@@ -57,7 +53,11 @@ When `source` is not provided, VcVideo renders a centered film icon placeholder
57
53
  ```vue
58
54
  <template>
59
55
  <VcBlade title="Product Details">
60
- <VcInput label="Video URL" v-model="product.videoUrl" placeholder="https://youtube.com/embed/..." />
56
+ <VcInput
57
+ label="Video URL"
58
+ v-model="product.videoUrl"
59
+ placeholder="https://youtube.com/embed/..."
60
+ />
61
61
  <VcVideo
62
62
  :source="product.videoUrl"
63
63
  label="Product Video"
@@ -89,12 +89,12 @@ When `source` is not provided, VcVideo renders a centered film icon placeholder
89
89
 
90
90
  ## CSS Custom Properties
91
91
 
92
- | Variable | Default | Description |
93
- |---|---|---|
94
- | `--video-icon-color` | `var(--neutrals-400)` | Placeholder icon color |
95
- | `--video-placeholder-bg` | `var(--neutrals-100)` | Placeholder background |
96
- | `--video-border-radius` | `6px` | Container corner radius |
97
- | `--video-border-color` | `var(--neutrals-200)` | Container border color |
92
+ | Variable | Default | Description |
93
+ | ------------------------ | --------------------- | ----------------------- |
94
+ | `--video-icon-color` | `var(--neutrals-400)` | Placeholder icon color |
95
+ | `--video-placeholder-bg` | `var(--neutrals-100)` | Placeholder background |
96
+ | `--video-border-radius` | `6px` | Container corner radius |
97
+ | `--video-border-color` | `var(--neutrals-200)` | Container border color |
98
98
 
99
99
  ## Tips
100
100
 
@@ -34,20 +34,20 @@ function openNotifications() {
34
34
 
35
35
  ## Key Props
36
36
 
37
- | Prop | Type | Default | Description |
38
- |------|------|---------|-------------|
39
- | `icon` | `string` | -- | Icon name (Lucide format, e.g., `"lucide-save"`) |
40
- | `title` | `string` | -- | Label text below (or beside) the icon |
41
- | `value` | `string \| number` | -- | Badge count displayed on the icon; numbers above 99 show as "99+" |
42
- | `disabled` | `boolean` | `false` | Prevents clicks and applies muted styling |
43
- | `isExpanded` | `boolean` | `false` | Expanded visual state |
44
- | `horizontal` | `boolean` | `false` | Arranges icon and title side by side instead of stacked |
37
+ | Prop | Type | Default | Description |
38
+ | ------------ | ------------------ | ------- | ----------------------------------------------------------------- |
39
+ | `icon` | `string` | -- | Icon name (Lucide format, e.g., `"lucide-save"`) |
40
+ | `title` | `string` | -- | Label text below (or beside) the icon |
41
+ | `value` | `string \| number` | -- | Badge count displayed on the icon; numbers above 99 show as "99+" |
42
+ | `disabled` | `boolean` | `false` | Prevents clicks and applies muted styling |
43
+ | `isExpanded` | `boolean` | `false` | Expanded visual state |
44
+ | `horizontal` | `boolean` | `false` | Arranges icon and title side by side instead of stacked |
45
45
 
46
46
  ## Events
47
47
 
48
- | Event | Payload | Description |
49
- |-------|---------|-------------|
50
- | `click` | none | Fired when the widget is clicked (suppressed when `disabled`) |
48
+ | Event | Payload | Description |
49
+ | ------- | ------- | ------------------------------------------------------------- |
50
+ | `click` | none | Fired when the widget is clicked (suppressed when `disabled`) |
51
51
 
52
52
  ## Common Patterns
53
53
 
@@ -87,16 +87,16 @@ Badge values above 99 are automatically displayed as "99+".
87
87
 
88
88
  ## CSS Custom Properties
89
89
 
90
- | Variable | Default | Description |
91
- |---|---|---|
92
- | `--widget-bg-color` | `transparent` | Background color |
93
- | `--widget-bg-hover-color` | `var(--neutrals-50)` | Background on hover |
94
- | `--widget-icon-color` | `var(--neutrals-700)` | Icon color |
95
- | `--widget-icon-hover-color` | `var(--primary-600)` | Icon color on hover |
96
- | `--widget-title-color` | `var(--neutrals-600)` | Title text color |
97
- | `--widget-title-hover-color` | `var(--primary-600)` | Title color on hover |
98
- | `--widget-border-radius` | `8px` | Corner radius |
99
- | `--widget-focus-ring-color` | `var(--primary-300)` | Focus ring color |
90
+ | Variable | Default | Description |
91
+ | ---------------------------- | --------------------- | -------------------- |
92
+ | `--widget-bg-color` | `transparent` | Background color |
93
+ | `--widget-bg-hover-color` | `var(--neutrals-50)` | Background on hover |
94
+ | `--widget-icon-color` | `var(--neutrals-700)` | Icon color |
95
+ | `--widget-icon-hover-color` | `var(--primary-600)` | Icon color on hover |
96
+ | `--widget-title-color` | `var(--neutrals-600)` | Title text color |
97
+ | `--widget-title-hover-color` | `var(--primary-600)` | Title color on hover |
98
+ | `--widget-border-radius` | `8px` | Corner radius |
99
+ | `--widget-focus-ring-color` | `var(--primary-300)` | Focus ring color |
100
100
 
101
101
  ## Accessibility
102
102
 
@@ -33,11 +33,11 @@ const languages = [
33
33
 
34
34
  ## Key Props
35
35
 
36
- | Prop | Type | Default | Description |
37
- |------|------|---------|-------------|
38
- | `modelValue` | `string` | `""` | Currently selected language value |
39
- | `options` | `LanguageOption[]` | `[]` | Available language options |
40
- | `disabled` | `boolean` | `false` | Disables interaction |
36
+ | Prop | Type | Default | Description |
37
+ | ------------ | ------------------ | ------- | --------------------------------- |
38
+ | `modelValue` | `string` | `""` | Currently selected language value |
39
+ | `options` | `LanguageOption[]` | `[]` | Available language options |
40
+ | `disabled` | `boolean` | `false` | Disables interaction |
41
41
 
42
42
  Each `LanguageOption` has: `{ value: string; label: string; flag?: string }`.
43
43
 
@@ -65,23 +65,36 @@ const languages = [
65
65
 
66
66
  const currentName = computed({
67
67
  get: () => product.value.names[currentLang.value] ?? "",
68
- set: (val) => { product.value.names[currentLang.value] = val; },
68
+ set: (val) => {
69
+ product.value.names[currentLang.value] = val;
70
+ },
69
71
  });
70
72
 
71
73
  const currentDescription = computed({
72
74
  get: () => product.value.descriptions[currentLang.value] ?? "",
73
- set: (val) => { product.value.descriptions[currentLang.value] = val; },
75
+ set: (val) => {
76
+ product.value.descriptions[currentLang.value] = val;
77
+ },
74
78
  });
75
79
  </script>
76
80
 
77
81
  <template>
78
82
  <VcBlade title="Edit Product">
79
83
  <template #actions>
80
- <MultilanguageSelector v-model="currentLang" :options="languages" />
84
+ <MultilanguageSelector
85
+ v-model="currentLang"
86
+ :options="languages"
87
+ />
81
88
  </template>
82
89
 
83
- <VcInput v-model="currentName" label="Name" />
84
- <VcTextarea v-model="currentDescription" label="Description" />
90
+ <VcInput
91
+ v-model="currentName"
92
+ label="Name"
93
+ />
94
+ <VcTextarea
95
+ v-model="currentDescription"
96
+ label="Description"
97
+ />
85
98
  </VcBlade>
86
99
  </template>
87
100
  ```