@vc-shell/vc-app-skill 2.0.0-alpha.33 → 2.0.0-alpha.33-pr220.455e322

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 (192) hide show
  1. package/CHANGELOG.md +52 -55
  2. package/README.md +18 -12
  3. package/package.json +4 -4
  4. package/runtime/agents/api-analyzer.md +31 -16
  5. package/runtime/agents/blade-enhancer.md +15 -9
  6. package/runtime/agents/details-blade-generator.md +47 -31
  7. package/runtime/agents/list-blade-generator.md +21 -37
  8. package/runtime/agents/locales-generator.md +3 -0
  9. package/runtime/agents/migration-agent.md +18 -7
  10. package/runtime/agents/module-analyzer.md +2 -0
  11. package/runtime/agents/module-assembler.md +15 -0
  12. package/runtime/agents/promote-agent.md +15 -4
  13. package/runtime/agents/type-checker.md +11 -0
  14. package/runtime/knowledge/docs/core/api/platform.docs.md +30 -30
  15. package/runtime/knowledge/docs/core/blade-navigation/blade-nav-composables.docs.md +41 -41
  16. package/runtime/knowledge/docs/core/composables/bladeContext/index.docs.md +12 -10
  17. package/runtime/knowledge/docs/core/composables/useApiClient/useApiClient.docs.md +11 -14
  18. package/runtime/knowledge/docs/core/composables/useAppBarMobileButtons/useAppBarMobileButtons.docs.md +35 -35
  19. package/runtime/knowledge/docs/core/composables/useAppBarWidget/useAppBarWidget.docs.md +35 -35
  20. package/runtime/knowledge/docs/core/composables/useAppInsights/useAppInsights.docs.md +15 -15
  21. package/runtime/knowledge/docs/core/composables/useAssets/useAssets.docs.md +21 -18
  22. package/runtime/knowledge/docs/core/composables/useAssetsManager/useAssetsManager.docs.md +31 -27
  23. package/runtime/knowledge/docs/core/composables/useAsync/useAsync.docs.md +90 -61
  24. package/runtime/knowledge/docs/core/composables/useBeforeUnload/useBeforeUnload.docs.md +19 -18
  25. package/runtime/knowledge/docs/core/composables/useBlade/useBlade.docs.md +89 -68
  26. package/runtime/knowledge/docs/core/composables/useBladeForm/useBladeForm.docs.md +27 -25
  27. package/runtime/knowledge/docs/core/composables/useBladeRegistry/useBladeRegistry.docs.md +15 -15
  28. package/runtime/knowledge/docs/core/composables/useBladeWidgets/index.docs.md +74 -78
  29. package/runtime/knowledge/docs/core/composables/useBreadcrumbs/useBreadcrumbs.docs.md +11 -11
  30. package/runtime/knowledge/docs/core/composables/useConnectionStatus/useConnectionStatus.docs.md +27 -15
  31. package/runtime/knowledge/docs/core/composables/useDashboard/useDashboard.docs.md +30 -30
  32. package/runtime/knowledge/docs/core/composables/useDynamicProperties/useDynamicProperties.docs.md +34 -36
  33. package/runtime/knowledge/docs/core/composables/useErrorHandler/useErrorHandler.docs.md +44 -23
  34. package/runtime/knowledge/docs/core/composables/useFunctions/useFunctions.docs.md +14 -11
  35. package/runtime/knowledge/docs/core/composables/useKeyboardNavigation/useKeyboardNavigation.docs.md +47 -38
  36. package/runtime/knowledge/docs/core/composables/useLanguages/useLanguages.docs.md +37 -28
  37. package/runtime/knowledge/docs/core/composables/useLoading/useLoading.docs.md +23 -17
  38. package/runtime/knowledge/docs/core/composables/useMenuExpanded/index.docs.md +10 -10
  39. package/runtime/knowledge/docs/core/composables/useMenuService/useMenuService.docs.md +42 -42
  40. package/runtime/knowledge/docs/core/composables/useModificationTracker/useModificationTracker.docs.md +22 -12
  41. package/runtime/knowledge/docs/core/composables/useNotifications/useNotifications.docs.md +33 -41
  42. package/runtime/knowledge/docs/core/composables/usePermissions/usePermissions.docs.md +16 -16
  43. package/runtime/knowledge/docs/core/composables/usePopup/usePopup.docs.md +32 -24
  44. package/runtime/knowledge/docs/core/composables/useResponsive/useResponsive.docs.md +32 -11
  45. package/runtime/knowledge/docs/core/composables/useSettings/useSettings.docs.md +24 -15
  46. package/runtime/knowledge/docs/core/composables/useSettingsMenu/useSettingsMenu.docs.md +7 -7
  47. package/runtime/knowledge/docs/core/composables/useSidebarState/useSidebarState.docs.md +32 -24
  48. package/runtime/knowledge/docs/core/composables/useSlowNetworkDetection/useSlowNetworkDetection.docs.md +21 -17
  49. package/runtime/knowledge/docs/core/composables/useTheme/useTheme.docs.md +24 -24
  50. package/runtime/knowledge/docs/core/composables/useToolbar/useToolbar.docs.md +28 -31
  51. package/runtime/knowledge/docs/core/composables/useUser/useUser.docs.md +43 -24
  52. package/runtime/knowledge/docs/core/composables/useUserManagement/useUserManagement.docs.md +68 -48
  53. package/runtime/knowledge/docs/core/composables/useWebVitals/useWebVitals.docs.md +19 -19
  54. package/runtime/knowledge/docs/core/composables/useWidgets/useWidgets.docs.md +42 -47
  55. package/runtime/knowledge/docs/core/directives/autofocus/autofocus.docs.md +10 -4
  56. package/runtime/knowledge/docs/core/directives/loading/loading.docs.md +35 -20
  57. package/runtime/knowledge/docs/core/notifications/notifications.docs.md +36 -35
  58. package/runtime/knowledge/docs/core/plugins/ai-agent/ai-agent.docs.md +38 -38
  59. package/runtime/knowledge/docs/core/plugins/extension-points/extension-points.docs.md +107 -91
  60. package/runtime/knowledge/docs/core/plugins/global-error-handler/global-error-handler.docs.md +10 -10
  61. package/runtime/knowledge/docs/core/plugins/i18n/i18n.docs.md +21 -23
  62. package/runtime/knowledge/docs/core/plugins/modularity/modularity.docs.md +98 -90
  63. package/runtime/knowledge/docs/core/plugins/permissions/permissions.docs.md +10 -16
  64. package/runtime/knowledge/docs/core/plugins/signalR/signalR.docs.md +9 -9
  65. package/runtime/knowledge/docs/core/plugins/validation/validation.docs.md +65 -22
  66. package/runtime/knowledge/docs/core/services/services.docs.md +19 -22
  67. package/runtime/knowledge/docs/core/types/types.docs.md +40 -40
  68. package/runtime/knowledge/docs/core/utilities/date/date-utilities.docs.md +27 -27
  69. package/runtime/knowledge/docs/core/utilities/shared-utilities.docs.md +23 -23
  70. package/runtime/knowledge/docs/core/utilities/thumbnail/thumbnail.docs.md +22 -25
  71. package/runtime/knowledge/docs/core/utilities/utilities.docs.md +64 -64
  72. package/runtime/knowledge/docs/injection-keys.docs.md +52 -51
  73. package/runtime/knowledge/docs/modules/assets-manager/assets-manager.docs.md +9 -9
  74. package/runtime/knowledge/docs/shell/_internal/popup/common/popup-common.docs.md +23 -43
  75. package/runtime/knowledge/docs/shell/auth/ChangePasswordPage/change-password-page.docs.md +5 -5
  76. package/runtime/knowledge/docs/shell/auth/ForgotPasswordPage/forgot-password-page.docs.md +5 -5
  77. package/runtime/knowledge/docs/shell/auth/InvitePage/invite-page.docs.md +8 -7
  78. package/runtime/knowledge/docs/shell/auth/LoginPage/login-page.docs.md +7 -7
  79. package/runtime/knowledge/docs/shell/auth/ResetPasswordPage/reset-password-page.docs.md +8 -7
  80. package/runtime/knowledge/docs/shell/auth/sign-in/sign-in.docs.md +29 -13
  81. package/runtime/knowledge/docs/shell/components/change-password/change-password.docs.md +13 -16
  82. package/runtime/knowledge/docs/shell/components/change-password-button/change-password-button.docs.md +1 -7
  83. package/runtime/knowledge/docs/shell/components/error-interceptor/error-interceptor.docs.md +5 -5
  84. package/runtime/knowledge/docs/shell/components/language-selector/language-selector.docs.md +1 -1
  85. package/runtime/knowledge/docs/shell/components/logout-button/logout-button.docs.md +1 -1
  86. package/runtime/knowledge/docs/shell/components/notification-template/notification-template.docs.md +17 -9
  87. package/runtime/knowledge/docs/shell/components/settings-menu/settings-menu.docs.md +12 -18
  88. package/runtime/knowledge/docs/shell/components/settings-menu-item/settings-menu-item.docs.md +34 -65
  89. package/runtime/knowledge/docs/shell/components/sidebar/sidebar.docs.md +16 -26
  90. package/runtime/knowledge/docs/shell/components/theme-selector/theme-selector.docs.md +2 -2
  91. package/runtime/knowledge/docs/shell/components/user-dropdown-button/user-dropdown-button.docs.md +7 -9
  92. package/runtime/knowledge/docs/shell/dashboard/dashboard-charts/dashboard-charts.docs.md +30 -40
  93. package/runtime/knowledge/docs/shell/dashboard/dashboard-widget-card/dashboard-widget-card.docs.md +26 -19
  94. package/runtime/knowledge/docs/shell/dashboard/draggable-dashboard/draggable-dashboard.docs.md +15 -12
  95. package/runtime/knowledge/docs/ui/components/atoms/vc-badge/vc-badge.docs.md +15 -26
  96. package/runtime/knowledge/docs/ui/components/atoms/vc-banner/vc-banner.docs.md +21 -19
  97. package/runtime/knowledge/docs/ui/components/atoms/vc-button/vc-button.docs.md +83 -67
  98. package/runtime/knowledge/docs/ui/components/atoms/vc-card/vc-card.docs.md +100 -59
  99. package/runtime/knowledge/docs/ui/components/atoms/vc-col/vc-col.docs.md +28 -11
  100. package/runtime/knowledge/docs/ui/components/atoms/vc-container/vc-container.docs.md +20 -17
  101. package/runtime/knowledge/docs/ui/components/atoms/vc-hint/vc-hint.docs.md +26 -17
  102. package/runtime/knowledge/docs/ui/components/atoms/vc-icon/vc-icon.docs.md +30 -32
  103. package/runtime/knowledge/docs/ui/components/atoms/vc-image/vc-image.docs.md +25 -48
  104. package/runtime/knowledge/docs/ui/components/atoms/vc-label/vc-label.docs.md +29 -24
  105. package/runtime/knowledge/docs/ui/components/atoms/vc-link/vc-link.docs.md +23 -15
  106. package/runtime/knowledge/docs/ui/components/atoms/vc-loading/vc-loading.docs.md +22 -13
  107. package/runtime/knowledge/docs/ui/components/atoms/vc-progress/vc-progress.docs.md +33 -18
  108. package/runtime/knowledge/docs/ui/components/atoms/vc-row/vc-row.docs.md +56 -15
  109. package/runtime/knowledge/docs/ui/components/atoms/vc-scrollable-container/vc-scrollable-container.docs.md +28 -15
  110. package/runtime/knowledge/docs/ui/components/atoms/vc-skeleton/vc-skeleton.docs.md +40 -20
  111. package/runtime/knowledge/docs/ui/components/atoms/vc-status/vc-status.docs.md +25 -14
  112. package/runtime/knowledge/docs/ui/components/atoms/vc-status-icon/vc-status-icon.docs.md +40 -14
  113. package/runtime/knowledge/docs/ui/components/atoms/vc-tooltip/vc-tooltip.docs.md +54 -42
  114. package/runtime/knowledge/docs/ui/components/atoms/vc-video/vc-video.docs.md +17 -17
  115. package/runtime/knowledge/docs/ui/components/atoms/vc-widget/vc-widget.docs.md +21 -21
  116. package/runtime/knowledge/docs/ui/components/molecules/multilanguage-selector/multilanguage-selector.docs.md +23 -10
  117. package/runtime/knowledge/docs/ui/components/molecules/vc-accordion/vc-accordion.docs.md +55 -44
  118. package/runtime/knowledge/docs/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.docs.md +23 -20
  119. package/runtime/knowledge/docs/ui/components/molecules/vc-checkbox/vc-checkbox.docs.md +92 -65
  120. package/runtime/knowledge/docs/ui/components/molecules/vc-checkbox-group/vc-checkbox-group.docs.md +22 -36
  121. package/runtime/knowledge/docs/ui/components/molecules/vc-color-input/vc-color-input.docs.md +65 -23
  122. package/runtime/knowledge/docs/ui/components/molecules/vc-date-picker/vc-date-picker.docs.md +52 -73
  123. package/runtime/knowledge/docs/ui/components/molecules/vc-dropdown/vc-dropdown.docs.md +91 -85
  124. package/runtime/knowledge/docs/ui/components/molecules/vc-dropdown-panel/vc-dropdown-panel.docs.md +38 -42
  125. package/runtime/knowledge/docs/ui/components/molecules/vc-editor/vc-editor.docs.md +56 -73
  126. package/runtime/knowledge/docs/ui/components/molecules/vc-field/vc-field.docs.md +61 -27
  127. package/runtime/knowledge/docs/ui/components/molecules/vc-file-upload/vc-file-upload.docs.md +42 -50
  128. package/runtime/knowledge/docs/ui/components/molecules/vc-form/vc-form.docs.md +35 -64
  129. package/runtime/knowledge/docs/ui/components/molecules/vc-image-tile/vc-image-tile.docs.md +38 -41
  130. package/runtime/knowledge/docs/ui/components/molecules/vc-input/vc-input.docs.md +109 -131
  131. package/runtime/knowledge/docs/ui/components/molecules/vc-input-currency/vc-input-currency.docs.md +47 -88
  132. package/runtime/knowledge/docs/ui/components/molecules/vc-input-dropdown/vc-input-dropdown.docs.md +50 -64
  133. package/runtime/knowledge/docs/ui/components/molecules/vc-input-group/vc-input-group.docs.md +29 -24
  134. package/runtime/knowledge/docs/ui/components/molecules/vc-menu/vc-menu.docs.md +32 -28
  135. package/runtime/knowledge/docs/ui/components/molecules/vc-multivalue/vc-multivalue.docs.md +57 -65
  136. package/runtime/knowledge/docs/ui/components/molecules/vc-pagination/vc-pagination.docs.md +28 -26
  137. package/runtime/knowledge/docs/ui/components/molecules/vc-radio-button/vc-radio-button.docs.md +55 -20
  138. package/runtime/knowledge/docs/ui/components/molecules/vc-radio-group/vc-radio-group.docs.md +21 -35
  139. package/runtime/knowledge/docs/ui/components/molecules/vc-rating/vc-rating.docs.md +38 -33
  140. package/runtime/knowledge/docs/ui/components/molecules/vc-select/vc-select.docs.md +72 -83
  141. package/runtime/knowledge/docs/ui/components/molecules/vc-slider/vc-slider.docs.md +21 -16
  142. package/runtime/knowledge/docs/ui/components/molecules/vc-switch/vc-switch.docs.md +55 -64
  143. package/runtime/knowledge/docs/ui/components/molecules/vc-textarea/vc-textarea.docs.md +51 -70
  144. package/runtime/knowledge/docs/ui/components/molecules/vc-toast/vc-toast.docs.md +58 -57
  145. package/runtime/knowledge/docs/ui/components/organisms/vc-app/vc-app.docs.md +49 -26
  146. package/runtime/knowledge/docs/ui/components/organisms/vc-auth-layout/vc-auth-layout.docs.md +82 -28
  147. package/runtime/knowledge/docs/ui/components/organisms/vc-blade/vc-blade.docs.md +90 -75
  148. package/runtime/knowledge/docs/ui/components/organisms/vc-data-table/composables/table-composables.docs.md +30 -44
  149. package/runtime/knowledge/docs/ui/components/organisms/vc-data-table/vc-data-table.docs.md +512 -369
  150. package/runtime/knowledge/docs/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.docs.md +35 -52
  151. package/runtime/knowledge/docs/ui/components/organisms/vc-gallery/vc-gallery.docs.md +33 -62
  152. package/runtime/knowledge/docs/ui/components/organisms/vc-image-upload/vc-image-upload.docs.md +17 -23
  153. package/runtime/knowledge/docs/ui/components/organisms/vc-popup/vc-popup.docs.md +109 -68
  154. package/runtime/knowledge/docs/ui/components/organisms/vc-sidebar/vc-sidebar.docs.md +82 -44
  155. package/runtime/knowledge/docs/ui/composables/ui-composables.docs.md +8 -8
  156. package/runtime/knowledge/docs/ui/composables/useDataTablePagination.docs.md +164 -0
  157. package/runtime/knowledge/docs/ui/composables/useDataTableSort.docs.md +34 -26
  158. package/runtime/knowledge/docs/ui/composables/useTableSelection.docs.md +48 -40
  159. package/runtime/knowledge/docs/ui/composables/useTableSort.docs.md +30 -17
  160. package/runtime/knowledge/docs/ui/types/ui-types.docs.md +40 -29
  161. package/runtime/knowledge/examples/offers-module.md +15 -13
  162. package/runtime/knowledge/examples/team-module.md +82 -119
  163. package/runtime/knowledge/examples/videos-module.md +44 -17
  164. package/runtime/knowledge/index.md +22 -0
  165. package/runtime/knowledge/migration-prompts/blade-form-migration.md +17 -8
  166. package/runtime/knowledge/migration-prompts/blade-props-migration.md +1 -2
  167. package/runtime/knowledge/migration-prompts/datatable-migration.md +801 -0
  168. package/runtime/knowledge/migration-prompts/icon-migration.md +97 -0
  169. package/runtime/knowledge/migration-prompts/manual-migration-audit.md +117 -0
  170. package/runtime/knowledge/migration-prompts/notifications-migration.md +8 -3
  171. package/runtime/knowledge/migration-prompts/nswag-migration.md +25 -29
  172. package/runtime/knowledge/migration-prompts/use-assets-migration.md +164 -0
  173. package/runtime/knowledge/migration-prompts/use-data-table-pagination-migration.md +176 -0
  174. package/runtime/knowledge/migration-prompts/widgets-migration.md +48 -27
  175. package/runtime/knowledge/patterns/assets-management.md +20 -20
  176. package/runtime/knowledge/patterns/blade-navigation.md +7 -14
  177. package/runtime/knowledge/patterns/blade-widget.md +19 -17
  178. package/runtime/knowledge/patterns/child-blade-flow.md +19 -7
  179. package/runtime/knowledge/patterns/composable-details.md +20 -50
  180. package/runtime/knowledge/patterns/composable-list.md +43 -31
  181. package/runtime/knowledge/patterns/dashboard-widget.md +14 -16
  182. package/runtime/knowledge/patterns/datatable-pattern.md +521 -0
  183. package/runtime/knowledge/patterns/details-blade-pattern.md +78 -116
  184. package/runtime/knowledge/patterns/extension-points-usage.md +53 -44
  185. package/runtime/knowledge/patterns/form-validation.md +28 -64
  186. package/runtime/knowledge/patterns/list-blade-pattern.md +33 -21
  187. package/runtime/knowledge/patterns/module-structure.md +7 -1
  188. package/runtime/knowledge/patterns/multilanguage-fields.md +8 -14
  189. package/runtime/knowledge/patterns/notification-template.md +21 -14
  190. package/runtime/knowledge/patterns/signalr-notifications.md +30 -32
  191. package/runtime/knowledge/patterns/toolbar-pattern.md +18 -20
  192. package/runtime/vc-app.md +241 -62
@@ -20,15 +20,15 @@ A flexbox column layout primitive that stacks its children vertically. Designed
20
20
 
21
21
  ## Key Props
22
22
 
23
- | Prop | Type | Default | Description |
24
- |------|------|---------|-------------|
25
- | `size` | `number` | `1` | Flex-grow value controlling how much space the column occupies relative to siblings |
23
+ | Prop | Type | Default | Description |
24
+ | ------ | -------- | ------- | ----------------------------------------------------------------------------------- |
25
+ | `size` | `number` | `1` | Flex-grow value controlling how much space the column occupies relative to siblings |
26
26
 
27
27
  ## CSS Variables
28
28
 
29
- | Variable | Default | Description |
30
- |----------|---------|-------------|
31
- | `--col-gap` | `0` | Vertical gap between child elements |
29
+ | Variable | Default | Description |
30
+ | ----------- | ------- | ----------------------------------- |
31
+ | `--col-gap` | `0` | Vertical gap between child elements |
32
32
 
33
33
  ## Common Patterns
34
34
 
@@ -75,12 +75,29 @@ A common blade layout places metadata in a narrow sidebar column and form fields
75
75
  ```vue
76
76
  <template>
77
77
  <VcRow class="tw-gap-6">
78
- <VcCol :size="3" class="tw-gap-4">
79
- <VcInput label="Name" v-model="form.name" required />
80
- <VcTextarea label="Description" v-model="form.description" />
81
- <VcSelect label="Category" v-model="form.category" :options="categories" />
78
+ <VcCol
79
+ :size="3"
80
+ class="tw-gap-4"
81
+ >
82
+ <VcInput
83
+ label="Name"
84
+ v-model="form.name"
85
+ required
86
+ />
87
+ <VcTextarea
88
+ label="Description"
89
+ v-model="form.description"
90
+ />
91
+ <VcSelect
92
+ label="Category"
93
+ v-model="form.category"
94
+ :options="categories"
95
+ />
82
96
  </VcCol>
83
- <VcCol :size="1" class="tw-gap-4">
97
+ <VcCol
98
+ :size="1"
99
+ class="tw-gap-4"
100
+ >
84
101
  <VcStatusIcon :status="form.isPublished" />
85
102
  <VcHint>Created: {{ form.createdDate }}</VcHint>
86
103
  <VcHint>Modified: {{ form.modifiedDate }}</VcHint>
@@ -19,32 +19,32 @@ A scrollable content wrapper that fills its parent, provides configurable paddin
19
19
 
20
20
  ## Key Props
21
21
 
22
- | Prop | Type | Default | Description |
23
- |------|------|---------|-------------|
24
- | `shadow` | `boolean` | `false` | Shows an inset shadow when content overflows |
25
- | `noPadding` | `boolean` | `false` | Removes the default 16px inner padding |
26
- | `ariaLabel` | `string` | — | When provided, renders as `<section>` with this label instead of `<div>` |
22
+ | Prop | Type | Default | Description |
23
+ | ----------- | --------- | ------- | ------------------------------------------------------------------------ |
24
+ | `shadow` | `boolean` | `false` | Shows an inset shadow when content overflows |
25
+ | `noPadding` | `boolean` | `false` | Removes the default 16px inner padding |
26
+ | `ariaLabel` | `string` | — | When provided, renders as `<section>` with this label instead of `<div>` |
27
27
 
28
28
  ## CSS Variables
29
29
 
30
- | Variable | Default | Description |
31
- |----------|---------|-------------|
32
- | `--container-padding` | `16px` | Inner padding of the scrollable area |
33
- | `--container-bg` | `transparent` | Background color |
34
- | `--container-border-radius` | `0` | Border radius |
35
- | `--container-gap` | `0` | Gap between child elements |
30
+ | Variable | Default | Description |
31
+ | --------------------------- | ------------- | ------------------------------------ |
32
+ | `--container-padding` | `16px` | Inner padding of the scrollable area |
33
+ | `--container-bg` | `transparent` | Background color |
34
+ | `--container-border-radius` | `0` | Border radius |
35
+ | `--container-gap` | `0` | Gap between child elements |
36
36
 
37
37
  ## Exposed Methods
38
38
 
39
- | Method | Description |
40
- |--------|-------------|
39
+ | Method | Description |
40
+ | ------------- | ------------------------------------------------ |
41
41
  | `scrollTop()` | Programmatically scroll the container to the top |
42
- | `component` | Ref to the inner scrollable DOM element |
42
+ | `component` | Ref to the inner scrollable DOM element |
43
43
 
44
44
  ## Events
45
45
 
46
- | Event | Payload | Description |
47
- |-------|---------|-------------|
46
+ | Event | Payload | Description |
47
+ | -------- | ------- | ----------------------------- |
48
48
  | `scroll` | `Event` | Emitted on every scroll event |
49
49
 
50
50
  ## Common Patterns
@@ -88,7 +88,10 @@ function scrollToTop() {
88
88
  </script>
89
89
 
90
90
  <template>
91
- <VcContainer ref="containerRef" shadow>
91
+ <VcContainer
92
+ ref="containerRef"
93
+ shadow
94
+ >
92
95
  <!-- long content -->
93
96
  </VcContainer>
94
97
  <VcButton @click="scrollToTop">Back to Top</VcButton>
@@ -18,19 +18,19 @@ A small text component for displaying helper text, validation messages, or suppl
18
18
 
19
19
  ## Key Props
20
20
 
21
- | Prop | Type | Default | Description |
22
- |------|------|---------|-------------|
23
- | `id` | `string` | -- | Optional id for linking with `aria-describedby` on the associated input |
24
- | `error` | `boolean` | `false` | Shows the hint in error state (danger color) |
21
+ | Prop | Type | Default | Description |
22
+ | ------- | --------- | ------- | ----------------------------------------------------------------------- |
23
+ | `id` | `string` | -- | Optional id for linking with `aria-describedby` on the associated input |
24
+ | `error` | `boolean` | `false` | Shows the hint in error state (danger color) |
25
25
 
26
26
  ## CSS Variables
27
27
 
28
- | Variable | Default | Description |
29
- |----------|---------|-------------|
30
- | `--hint-color` | `var(--neutrals-500)` | Default text color |
31
- | `--hint-error-color` | `var(--danger-500)` | Text color in error state |
32
- | `--hint-font-size` | `12px` | Font size |
33
- | `--hint-line-height` | `1.4` | Line height |
28
+ | Variable | Default | Description |
29
+ | -------------------- | --------------------- | ------------------------- |
30
+ | `--hint-color` | `var(--neutrals-500)` | Default text color |
31
+ | `--hint-error-color` | `var(--danger-500)` | Text color in error state |
32
+ | `--hint-font-size` | `12px` | Font size |
33
+ | `--hint-line-height` | `1.4` | Line height |
34
34
 
35
35
  ## Common Patterns
36
36
 
@@ -82,10 +82,11 @@ const isOverLimit = computed(() => remaining.value < 0);
82
82
  </script>
83
83
 
84
84
  <template>
85
- <VcTextarea label="Description" v-model="description" />
86
- <VcHint :error="isOverLimit">
87
- {{ remaining }} characters remaining
88
- </VcHint>
85
+ <VcTextarea
86
+ label="Description"
87
+ v-model="description"
88
+ />
89
+ <VcHint :error="isOverLimit"> {{ remaining }} characters remaining </VcHint>
89
90
  </template>
90
91
  ```
91
92
 
@@ -95,9 +96,17 @@ Show helper text by default, but swap to an error message when validation fails:
95
96
 
96
97
  ```vue
97
98
  <template>
98
- <VcInput label="Slug" v-model="slug" :error="!!slugError" aria-describedby="slug-hint" />
99
- <VcHint id="slug-hint" :error="!!slugError">
100
- {{ slugError || 'URL-friendly identifier. Use lowercase letters and hyphens.' }}
99
+ <VcInput
100
+ label="Slug"
101
+ v-model="slug"
102
+ :error="!!slugError"
103
+ aria-describedby="slug-hint"
104
+ />
105
+ <VcHint
106
+ id="slug-hint"
107
+ :error="!!slugError"
108
+ >
109
+ {{ slugError || "URL-friendly identifier. Use lowercase letters and hyphens." }}
101
110
  </VcHint>
102
111
  </template>
103
112
  ```
@@ -17,37 +17,37 @@ A unified icon component that renders icons from multiple libraries. Lucide Icon
17
17
 
18
18
  ## Key Props
19
19
 
20
- | Prop | Type | Default | Description |
21
- |------|------|---------|-------------|
22
- | `icon` | `string \| Component` | `"lucide-square"` | Icon identifier or Vue component |
23
- | `size` | `"xs" \| "s" \| "m" \| "l" \| "xl" \| "xxl" \| "xxxl"` | `"m"` | Predefined size |
24
- | `variant` | `"warning" \| "danger" \| "success"` | — | Semantic color variant |
25
- | `customSize` | `number` | — | Custom size in pixels (overrides `size`) |
26
- | `ariaLabel` | `string` | — | Accessible label for meaningful icons |
27
- | `basePath` | `string` | `"/assets/icons"` | Base path for SVG sprite icons |
20
+ | Prop | Type | Default | Description |
21
+ | ------------ | ------------------------------------------------------ | ----------------- | ---------------------------------------- |
22
+ | `icon` | `string \| Component` | `"lucide-square"` | Icon identifier or Vue component |
23
+ | `size` | `"xs" \| "s" \| "m" \| "l" \| "xl" \| "xxl" \| "xxxl"` | `"m"` | Predefined size |
24
+ | `variant` | `"warning" \| "danger" \| "success"` | — | Semantic color variant |
25
+ | `customSize` | `number` | — | Custom size in pixels (overrides `size`) |
26
+ | `ariaLabel` | `string` | — | Accessible label for meaningful icons |
27
+ | `basePath` | `string` | `"/assets/icons"` | Base path for SVG sprite icons |
28
28
 
29
29
  ## Size Reference
30
30
 
31
- | Size | Pixels |
32
- |------|--------|
33
- | `xs` | 12px |
34
- | `s` | 14px |
35
- | `m` | 18px |
36
- | `l` | 20px |
37
- | `xl` | 22px |
38
- | `xxl` | 30px |
39
- | `xxxl` | 64px |
31
+ | Size | Pixels |
32
+ | ------ | ------ |
33
+ | `xs` | 12px |
34
+ | `s` | 14px |
35
+ | `m` | 18px |
36
+ | `l` | 20px |
37
+ | `xl` | 22px |
38
+ | `xxl` | 30px |
39
+ | `xxxl` | 64px |
40
40
 
41
41
  ## Icon Prefix Guide
42
42
 
43
- | Prefix | Library | Status |
44
- |--------|---------|--------|
45
- | `lucide-` | Lucide Icons | Standard (recommended) |
46
- | `fa-` / `fas fa-` | Font Awesome | Deprecated |
47
- | `bi-` | Bootstrap Icons | Deprecated |
48
- | `material-` | Material Symbols | Deprecated |
49
- | `svg:` | SVG sprite file | Supported |
50
- | _(Component)_ | Vue component instance | Supported |
43
+ | Prefix | Library | Status |
44
+ | ----------------- | ---------------------- | ---------------------- |
45
+ | `lucide-` | Lucide Icons | Standard (recommended) |
46
+ | `fa-` / `fas fa-` | Font Awesome | Deprecated |
47
+ | `bi-` | Bootstrap Icons | Deprecated |
48
+ | `material-` | Material Symbols | Deprecated |
49
+ | `svg:` | SVG sprite file | Supported |
50
+ | _(Component)_ | Vue component instance | Supported |
51
51
 
52
52
  ## Common Patterns
53
53
 
@@ -75,12 +75,7 @@ A unified icon component that renders icons from multiple libraries. Lucide Icon
75
75
  ### Meaningful Icon with Accessible Label
76
76
 
77
77
  ```vue
78
- <VcIcon
79
- icon="lucide-triangle-alert"
80
- variant="warning"
81
- size="l"
82
- aria-label="Warning: low stock"
83
- />
78
+ <VcIcon icon="lucide-triangle-alert" variant="warning" size="l" aria-label="Warning: low stock" />
84
79
  ```
85
80
 
86
81
  ### Custom Vue Component as Icon
@@ -92,7 +87,10 @@ import MyCustomIcon from "./MyCustomIcon.vue";
92
87
  </script>
93
88
 
94
89
  <template>
95
- <VcIcon :icon="MyCustomIcon" size="l" />
90
+ <VcIcon
91
+ :icon="MyCustomIcon"
92
+ size="l"
93
+ />
96
94
  </template>
97
95
  ```
98
96
 
@@ -17,30 +17,30 @@ An image display component with predefined sizes, aspect ratio control, and a pl
17
17
 
18
18
  ## Key Props
19
19
 
20
- | Prop | Type | Default | Description |
21
- |------|------|---------|-------------|
22
- | `src` | `string` | — | Image URL; shows a placeholder icon when empty |
23
- | `size` | `"auto" \| "xxs" \| "xs" \| "s" \| "m" \| "l" \| "xl" \| "xxl"` | `"auto"` | Predefined width |
24
- | `aspect` | `"1x1" \| "16x9" \| "4x3" \| "3x2"` | `"1x1"` | Aspect ratio of the container |
25
- | `background` | `"cover" \| "contain" \| "auto"` | `"cover"` | CSS background-size mode |
26
- | `rounded` | `boolean` | `false` | Applies fully rounded corners (circular on 1x1) |
27
- | `bordered` | `boolean` | `false` | Adds a subtle border |
28
- | `clickable` | `boolean` | `false` | Makes the image interactive with cursor and click event |
29
- | `emptyIcon` | `string` | `"lucide-image"` | Icon shown when `src` is empty |
30
- | `alt` | `string` | — | Accessible alt text |
31
- | `thumbnailSize` | `ThumbnailSize` | — | Load a thumbnail variant instead of full-size image. Values: `"sm"`, `"md"`, `"lg"`, `"64x64"`, `"128x128"`, `"168x168"`, `"216x216"`, `"348x348"` |
20
+ | Prop | Type | Default | Description |
21
+ | --------------- | --------------------------------------------------------------- | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
22
+ | `src` | `string` | — | Image URL; shows a placeholder icon when empty |
23
+ | `size` | `"auto" \| "xxs" \| "xs" \| "s" \| "m" \| "l" \| "xl" \| "xxl"` | `"auto"` | Predefined width |
24
+ | `aspect` | `"1x1" \| "16x9" \| "4x3" \| "3x2"` | `"1x1"` | Aspect ratio of the container |
25
+ | `background` | `"cover" \| "contain" \| "auto"` | `"cover"` | CSS background-size mode |
26
+ | `rounded` | `boolean` | `false` | Applies fully rounded corners (circular on 1x1) |
27
+ | `bordered` | `boolean` | `false` | Adds a subtle border |
28
+ | `clickable` | `boolean` | `false` | Makes the image interactive with cursor and click event |
29
+ | `emptyIcon` | `string` | `"lucide-image"` | Icon shown when `src` is empty |
30
+ | `alt` | `string` | — | Accessible alt text |
31
+ | `thumbnailSize` | `ThumbnailSize` | — | Load a thumbnail variant instead of full-size image. Values: `"sm"`, `"md"`, `"lg"`, `"64x64"`, `"128x128"`, `"168x168"`, `"216x216"`, `"348x348"` |
32
32
 
33
33
  ## Size Reference
34
34
 
35
- | Size | Width |
36
- |------|-------|
37
- | `xxs` | 24px |
38
- | `xs` | 32px |
39
- | `s` | 48px |
40
- | `m` | 64px |
41
- | `l` | 96px |
42
- | `xl` | 128px |
43
- | `xxl` | 145px |
35
+ | Size | Width |
36
+ | ------ | -------------- |
37
+ | `xxs` | 24px |
38
+ | `xs` | 32px |
39
+ | `s` | 48px |
40
+ | `m` | 64px |
41
+ | `l` | 96px |
42
+ | `xl` | 128px |
43
+ | `xxl` | 145px |
44
44
  | `auto` | 100% of parent |
45
45
 
46
46
  ## Common Patterns
@@ -48,48 +48,25 @@ An image display component with predefined sizes, aspect ratio control, and a pl
48
48
  ### Product Thumbnail in a List
49
49
 
50
50
  ```vue
51
- <VcImage
52
- :src="product.primaryImage"
53
- size="s"
54
- aspect="1x1"
55
- bordered
56
- :alt="product.name"
57
- />
51
+ <VcImage :src="product.primaryImage" size="s" aspect="1x1" bordered :alt="product.name" />
58
52
  ```
59
53
 
60
54
  ### Profile Avatar
61
55
 
62
56
  ```vue
63
- <VcImage
64
- :src="user.avatarUrl"
65
- size="m"
66
- rounded
67
- :alt="user.displayName"
68
- />
57
+ <VcImage :src="user.avatarUrl" size="m" rounded :alt="user.displayName" />
69
58
  ```
70
59
 
71
60
  ### Widescreen Banner
72
61
 
73
62
  ```vue
74
- <VcImage
75
- :src="category.bannerUrl"
76
- aspect="16x9"
77
- background="cover"
78
- alt="Category banner"
79
- />
63
+ <VcImage :src="category.bannerUrl" aspect="16x9" background="cover" alt="Category banner" />
80
64
  ```
81
65
 
82
66
  ### Clickable Gallery Image
83
67
 
84
68
  ```vue
85
- <VcImage
86
- :src="image.url"
87
- size="l"
88
- bordered
89
- clickable
90
- :alt="image.caption"
91
- @click="openLightbox(image)"
92
- />
69
+ <VcImage :src="image.url" size="l" bordered clickable :alt="image.caption" @click="openLightbox(image)" />
93
70
  ```
94
71
 
95
72
  ### Empty State Placeholder
@@ -22,31 +22,31 @@ A form field label component with support for required indicators, info tooltips
22
22
 
23
23
  ## Key Props
24
24
 
25
- | Prop | Type | Default | Description |
26
- |------|------|---------|-------------|
27
- | `required` | `boolean` | `false` | Shows a red asterisk after the label text |
28
- | `error` | `boolean` | `false` | Renders the label in error state (danger color) |
29
- | `htmlFor` | `string` | -- | Links the label to an input; when set, renders as `<label for="...">` |
30
- | `tooltipIcon` | `string` | `"lucide-info"` | Icon used for the tooltip trigger |
31
- | `multilanguage` | `boolean` | `false` | Shows a language indicator badge |
32
- | `currentLanguage` | `string` | -- | Language code displayed in the badge (e.g. `"EN"`, `"DE"`) |
25
+ | Prop | Type | Default | Description |
26
+ | ----------------- | --------- | --------------- | --------------------------------------------------------------------- |
27
+ | `required` | `boolean` | `false` | Shows a red asterisk after the label text |
28
+ | `error` | `boolean` | `false` | Renders the label in error state (danger color) |
29
+ | `htmlFor` | `string` | -- | Links the label to an input; when set, renders as `<label for="...">` |
30
+ | `tooltipIcon` | `string` | `"lucide-info"` | Icon used for the tooltip trigger |
31
+ | `multilanguage` | `boolean` | `false` | Shows a language indicator badge |
32
+ | `currentLanguage` | `string` | -- | Language code displayed in the badge (e.g. `"EN"`, `"DE"`) |
33
33
 
34
34
  ## Slots
35
35
 
36
- | Slot | Description |
37
- |------|-------------|
38
- | `default` | Label text content |
36
+ | Slot | Description |
37
+ | --------- | -------------------------------------------- |
38
+ | `default` | Label text content |
39
39
  | `tooltip` | Content displayed inside the tooltip popover |
40
40
 
41
41
  ## CSS Custom Properties
42
42
 
43
- | Variable | Default | Description |
44
- |---|---|---|
45
- | `--label-text-color` | `var(--neutrals-700)` | Default text color |
46
- | `--label-required-color` | `var(--danger-500)` | Color of the required asterisk |
47
- | `--label-tooltip-color` | `var(--neutrals-400)` | Tooltip icon color |
48
- | `--label-lang-color` | `var(--neutrals-500)` | Language badge text color |
49
- | `--label-error-color` | `var(--danger-500)` | Text color in error state |
43
+ | Variable | Default | Description |
44
+ | ------------------------ | --------------------- | ------------------------------ |
45
+ | `--label-text-color` | `var(--neutrals-700)` | Default text color |
46
+ | `--label-required-color` | `var(--danger-500)` | Color of the required asterisk |
47
+ | `--label-tooltip-color` | `var(--neutrals-400)` | Tooltip icon color |
48
+ | `--label-lang-color` | `var(--neutrals-500)` | Language badge text color |
49
+ | `--label-error-color` | `var(--danger-500)` | Text color in error state |
50
50
 
51
51
  ## Common Patterns
52
52
 
@@ -92,11 +92,13 @@ Compose VcLabel, an input, and VcHint into a reusable field pattern:
92
92
  ```vue
93
93
  <template>
94
94
  <div class="tw-space-y-1">
95
- <VcLabel html-for="slug" required :error="!!slugError">
95
+ <VcLabel
96
+ html-for="slug"
97
+ required
98
+ :error="!!slugError"
99
+ >
96
100
  URL Slug
97
- <template #tooltip>
98
- The URL-friendly identifier for this page. Auto-generated from the title if left blank.
99
- </template>
101
+ <template #tooltip> The URL-friendly identifier for this page. Auto-generated from the title if left blank. </template>
100
102
  </VcLabel>
101
103
  <VcInput
102
104
  id="slug"
@@ -105,8 +107,11 @@ Compose VcLabel, an input, and VcHint into a reusable field pattern:
105
107
  aria-describedby="slug-hint"
106
108
  aria-required="true"
107
109
  />
108
- <VcHint id="slug-hint" :error="!!slugError">
109
- {{ slugError || 'Lowercase letters, numbers, and hyphens only.' }}
110
+ <VcHint
111
+ id="slug-hint"
112
+ :error="!!slugError"
113
+ >
114
+ {{ slugError || "Lowercase letters, numbers, and hyphens only." }}
110
115
  </VcHint>
111
116
  </div>
112
117
  </template>
@@ -27,16 +27,16 @@ function openDetails() {
27
27
 
28
28
  ## Key Props
29
29
 
30
- | Prop | Type | Default | Description |
31
- |------|------|---------|-------------|
32
- | `active` | `boolean` | `false` | Highlights the link as currently selected |
30
+ | Prop | Type | Default | Description |
31
+ | ---------- | --------- | ------- | ---------------------------------------------- |
32
+ | `active` | `boolean` | `false` | Highlights the link as currently selected |
33
33
  | `disabled` | `boolean` | `false` | Prevents interaction and applies muted styling |
34
34
 
35
35
  ## Events
36
36
 
37
- | Event | Payload | Description |
38
- |-------|---------|-------------|
39
- | `click` | none | Fired when the link is clicked (suppressed when `disabled`) |
37
+ | Event | Payload | Description |
38
+ | ------- | ------- | ----------------------------------------------------------- |
39
+ | `click` | none | Fired when the link is clicked (suppressed when `disabled`) |
40
40
 
41
41
  ## Common Patterns
42
42
 
@@ -45,8 +45,16 @@ function openDetails() {
45
45
  ```vue
46
46
  <template>
47
47
  <div class="tw-flex tw-gap-4">
48
- <VcLink :active="currentTab === 'home'" @click="currentTab = 'home'">Home</VcLink>
49
- <VcLink :active="currentTab === 'products'" @click="currentTab = 'products'">Products</VcLink>
48
+ <VcLink
49
+ :active="currentTab === 'home'"
50
+ @click="currentTab = 'home'"
51
+ >Home</VcLink
52
+ >
53
+ <VcLink
54
+ :active="currentTab === 'products'"
55
+ @click="currentTab = 'products'"
56
+ >Products</VcLink
57
+ >
50
58
  <VcLink disabled>Admin</VcLink>
51
59
  </div>
52
60
  </template>
@@ -105,13 +113,13 @@ const activeTab = ref("Overview");
105
113
 
106
114
  ## CSS Custom Properties
107
115
 
108
- | Variable | Default | Description |
109
- |---|---|---|
110
- | `--link-text-color` | `var(--primary-500)` | Default text color |
111
- | `--link-text-color-hover` | `var(--primary-400)` | Text color on hover |
112
- | `--link-text-color-active` | `var(--primary-700)` | Text color in active state |
113
- | `--link-text-color-disabled` | `var(--neutrals-300)` | Text color when disabled |
114
- | `--link-focus-ring-color` | `primary-500 at 30%` | Focus ring color |
116
+ | Variable | Default | Description |
117
+ | ---------------------------- | --------------------- | -------------------------- |
118
+ | `--link-text-color` | `var(--primary-500)` | Default text color |
119
+ | `--link-text-color-hover` | `var(--primary-400)` | Text color on hover |
120
+ | `--link-text-color-active` | `var(--primary-700)` | Text color in active state |
121
+ | `--link-text-color-disabled` | `var(--neutrals-300)` | Text color when disabled |
122
+ | `--link-focus-ring-color` | `primary-500 at 30%` | Focus ring color |
115
123
 
116
124
  ## Tips
117
125
 
@@ -31,20 +31,20 @@ const isLoading = ref(true);
31
31
 
32
32
  ## Key Props
33
33
 
34
- | Prop | Type | Default | Description |
35
- |------|------|---------|-------------|
34
+ | Prop | Type | Default | Description |
35
+ | -------- | --------- | ------- | --------------------------- |
36
36
  | `active` | `boolean` | `false` | Controls overlay visibility |
37
37
 
38
38
  ## CSS Custom Properties
39
39
 
40
- | Variable | Default | Description |
41
- |---|---|---|
42
- | `--loading-bar-color` | `var(--primary-500)` | Progress bar fill color |
43
- | `--loading-bar-track` | `var(--primary-100)` | Progress bar track background |
44
- | `--loading-overlay-bg` | `rgba(255,255,255,0.6)` | Overlay background color |
45
- | `--loading-bar-width` | `140px` | Width of the progress bar |
46
- | `--loading-bar-height` | `4px` | Height of the progress bar |
47
- | `--loading-z-index` | `9998` | Z-index of the overlay layer |
40
+ | Variable | Default | Description |
41
+ | ---------------------- | ----------------------- | ----------------------------- |
42
+ | `--loading-bar-color` | `var(--primary-500)` | Progress bar fill color |
43
+ | `--loading-bar-track` | `var(--primary-100)` | Progress bar track background |
44
+ | `--loading-overlay-bg` | `rgba(255,255,255,0.6)` | Overlay background color |
45
+ | `--loading-bar-width` | `140px` | Width of the progress bar |
46
+ | `--loading-bar-height` | `4px` | Height of the progress bar |
47
+ | `--loading-z-index` | `9998` | Z-index of the overlay layer |
48
48
 
49
49
  ## Recipe: Loading State in a Blade
50
50
 
@@ -55,11 +55,17 @@ Blades have a built-in loading mechanism, but you can use VcLoading to cover a s
55
55
  <VcBlade title="Product Details">
56
56
  <div class="tw-relative tw-min-h-[200px]">
57
57
  <VcLoading :active="isLoadingChart" />
58
- <RevenueChart v-if="chartData" :data="chartData" />
58
+ <RevenueChart
59
+ v-if="chartData"
60
+ :data="chartData"
61
+ />
59
62
  </div>
60
63
 
61
64
  <!-- The rest of the blade loads independently -->
62
- <VcInput v-model="product.name" label="Name" />
65
+ <VcInput
66
+ v-model="product.name"
67
+ label="Name"
68
+ />
63
69
  </VcBlade>
64
70
  </template>
65
71
  ```
@@ -89,7 +95,10 @@ Override the bar color to match a specific status or brand theme:
89
95
 
90
96
  ```vue
91
97
  <template>
92
- <div class="tw-relative tw-h-40" style="--loading-bar-color: var(--success-500); --loading-bar-track: var(--success-100);">
98
+ <div
99
+ class="tw-relative tw-h-40"
100
+ style="--loading-bar-color: var(--success-500); --loading-bar-track: var(--success-100);"
101
+ >
93
102
  <VcLoading :active="isSaving" />
94
103
  <span>Saving changes...</span>
95
104
  </div>