@vc-shell/vc-app-skill 2.0.0-alpha.32 → 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 (195) hide show
  1. package/CHANGELOG.md +59 -47
  2. package/README.md +18 -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 +94 -0
  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 +31 -27
  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 +75 -19
  29. package/runtime/knowledge/docs/core/composables/useBladeRegistry/useBladeRegistry.docs.md +15 -15
  30. package/runtime/knowledge/docs/core/composables/useBladeWidgets/index.docs.md +74 -78
  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 +10 -10
  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/usePopup/usePopup.docs.md +32 -24
  46. package/runtime/knowledge/docs/core/composables/useResponsive/useResponsive.docs.md +32 -11
  47. package/runtime/knowledge/docs/core/composables/useSettings/useSettings.docs.md +24 -15
  48. package/runtime/knowledge/docs/core/composables/useSettingsMenu/useSettingsMenu.docs.md +7 -7
  49. package/runtime/knowledge/docs/core/composables/useSidebarState/useSidebarState.docs.md +32 -24
  50. package/runtime/knowledge/docs/core/composables/useSlowNetworkDetection/useSlowNetworkDetection.docs.md +21 -17
  51. package/runtime/knowledge/docs/core/composables/useTheme/useTheme.docs.md +24 -24
  52. package/runtime/knowledge/docs/core/composables/useToolbar/useToolbar.docs.md +28 -31
  53. package/runtime/knowledge/docs/core/composables/useUser/useUser.docs.md +43 -24
  54. package/runtime/knowledge/docs/core/composables/useUserManagement/useUserManagement.docs.md +68 -48
  55. package/runtime/knowledge/docs/core/composables/useWebVitals/useWebVitals.docs.md +19 -19
  56. package/runtime/knowledge/docs/core/composables/useWidgets/useWidgets.docs.md +42 -47
  57. package/runtime/knowledge/docs/core/directives/autofocus/autofocus.docs.md +10 -4
  58. package/runtime/knowledge/docs/core/directives/loading/loading.docs.md +35 -20
  59. package/runtime/knowledge/docs/core/notifications/notifications.docs.md +36 -35
  60. package/runtime/knowledge/docs/core/plugins/ai-agent/ai-agent.docs.md +38 -38
  61. package/runtime/knowledge/docs/core/plugins/extension-points/extension-points.docs.md +107 -91
  62. package/runtime/knowledge/docs/core/plugins/global-error-handler/global-error-handler.docs.md +10 -10
  63. package/runtime/knowledge/docs/core/plugins/i18n/i18n.docs.md +21 -23
  64. package/runtime/knowledge/docs/core/plugins/modularity/modularity.docs.md +98 -90
  65. package/runtime/knowledge/docs/core/plugins/permissions/permissions.docs.md +10 -16
  66. package/runtime/knowledge/docs/core/plugins/signalR/signalR.docs.md +9 -9
  67. package/runtime/knowledge/docs/core/plugins/validation/validation.docs.md +65 -22
  68. package/runtime/knowledge/docs/core/services/services.docs.md +19 -22
  69. package/runtime/knowledge/docs/core/types/types.docs.md +40 -40
  70. package/runtime/knowledge/docs/core/utilities/date/date-utilities.docs.md +27 -27
  71. package/runtime/knowledge/docs/core/utilities/shared-utilities.docs.md +23 -23
  72. package/runtime/knowledge/docs/core/utilities/thumbnail/thumbnail.docs.md +22 -25
  73. package/runtime/knowledge/docs/core/utilities/utilities.docs.md +64 -64
  74. package/runtime/knowledge/docs/injection-keys.docs.md +52 -51
  75. package/runtime/knowledge/docs/modules/assets-manager/assets-manager.docs.md +9 -9
  76. package/runtime/knowledge/docs/shell/_internal/popup/common/popup-common.docs.md +23 -43
  77. package/runtime/knowledge/docs/shell/auth/ChangePasswordPage/change-password-page.docs.md +102 -0
  78. package/runtime/knowledge/docs/shell/auth/ForgotPasswordPage/forgot-password-page.docs.md +5 -5
  79. package/runtime/knowledge/docs/shell/auth/InvitePage/invite-page.docs.md +8 -7
  80. package/runtime/knowledge/docs/shell/auth/LoginPage/login-page.docs.md +7 -7
  81. package/runtime/knowledge/docs/shell/auth/ResetPasswordPage/reset-password-page.docs.md +8 -7
  82. package/runtime/knowledge/docs/shell/auth/sign-in/sign-in.docs.md +29 -13
  83. package/runtime/knowledge/docs/shell/components/change-password/change-password.docs.md +13 -16
  84. package/runtime/knowledge/docs/shell/components/change-password-button/change-password-button.docs.md +1 -7
  85. package/runtime/knowledge/docs/shell/components/error-interceptor/error-interceptor.docs.md +5 -5
  86. package/runtime/knowledge/docs/shell/components/language-selector/language-selector.docs.md +1 -1
  87. package/runtime/knowledge/docs/shell/components/logout-button/logout-button.docs.md +1 -1
  88. package/runtime/knowledge/docs/shell/components/notification-template/notification-template.docs.md +17 -9
  89. package/runtime/knowledge/docs/shell/components/settings-menu/settings-menu.docs.md +12 -18
  90. package/runtime/knowledge/docs/shell/components/settings-menu-item/settings-menu-item.docs.md +34 -65
  91. package/runtime/knowledge/docs/shell/components/sidebar/sidebar.docs.md +16 -26
  92. package/runtime/knowledge/docs/shell/components/theme-selector/theme-selector.docs.md +2 -2
  93. package/runtime/knowledge/docs/shell/components/user-dropdown-button/user-dropdown-button.docs.md +7 -9
  94. package/runtime/knowledge/docs/shell/dashboard/dashboard-charts/dashboard-charts.docs.md +30 -40
  95. package/runtime/knowledge/docs/shell/dashboard/dashboard-widget-card/dashboard-widget-card.docs.md +26 -19
  96. package/runtime/knowledge/docs/shell/dashboard/draggable-dashboard/draggable-dashboard.docs.md +15 -12
  97. package/runtime/knowledge/docs/ui/components/atoms/vc-badge/vc-badge.docs.md +15 -26
  98. package/runtime/knowledge/docs/ui/components/atoms/vc-banner/vc-banner.docs.md +21 -19
  99. package/runtime/knowledge/docs/ui/components/atoms/vc-button/vc-button.docs.md +83 -67
  100. package/runtime/knowledge/docs/ui/components/atoms/vc-card/vc-card.docs.md +104 -59
  101. package/runtime/knowledge/docs/ui/components/atoms/vc-col/vc-col.docs.md +28 -11
  102. package/runtime/knowledge/docs/ui/components/atoms/vc-container/vc-container.docs.md +20 -17
  103. package/runtime/knowledge/docs/ui/components/atoms/vc-hint/vc-hint.docs.md +26 -17
  104. package/runtime/knowledge/docs/ui/components/atoms/vc-icon/vc-icon.docs.md +30 -32
  105. package/runtime/knowledge/docs/ui/components/atoms/vc-image/vc-image.docs.md +25 -48
  106. package/runtime/knowledge/docs/ui/components/atoms/vc-label/vc-label.docs.md +29 -24
  107. package/runtime/knowledge/docs/ui/components/atoms/vc-link/vc-link.docs.md +23 -15
  108. package/runtime/knowledge/docs/ui/components/atoms/vc-loading/vc-loading.docs.md +22 -13
  109. package/runtime/knowledge/docs/ui/components/atoms/vc-progress/vc-progress.docs.md +33 -18
  110. package/runtime/knowledge/docs/ui/components/atoms/vc-row/vc-row.docs.md +56 -15
  111. package/runtime/knowledge/docs/ui/components/atoms/vc-scrollable-container/vc-scrollable-container.docs.md +28 -15
  112. package/runtime/knowledge/docs/ui/components/atoms/vc-skeleton/vc-skeleton.docs.md +40 -20
  113. package/runtime/knowledge/docs/ui/components/atoms/vc-status/vc-status.docs.md +25 -14
  114. package/runtime/knowledge/docs/ui/components/atoms/vc-status-icon/vc-status-icon.docs.md +40 -14
  115. package/runtime/knowledge/docs/ui/components/atoms/vc-tooltip/vc-tooltip.docs.md +54 -42
  116. package/runtime/knowledge/docs/ui/components/atoms/vc-video/vc-video.docs.md +17 -17
  117. package/runtime/knowledge/docs/ui/components/atoms/vc-widget/vc-widget.docs.md +21 -21
  118. package/runtime/knowledge/docs/ui/components/molecules/multilanguage-selector/multilanguage-selector.docs.md +23 -10
  119. package/runtime/knowledge/docs/ui/components/molecules/vc-accordion/vc-accordion.docs.md +59 -44
  120. package/runtime/knowledge/docs/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.docs.md +23 -20
  121. package/runtime/knowledge/docs/ui/components/molecules/vc-checkbox/vc-checkbox.docs.md +96 -64
  122. package/runtime/knowledge/docs/ui/components/molecules/vc-checkbox-group/vc-checkbox-group.docs.md +26 -35
  123. package/runtime/knowledge/docs/ui/components/molecules/vc-color-input/vc-color-input.docs.md +69 -22
  124. package/runtime/knowledge/docs/ui/components/molecules/vc-date-picker/vc-date-picker.docs.md +58 -72
  125. package/runtime/knowledge/docs/ui/components/molecules/vc-dropdown/vc-dropdown.docs.md +91 -85
  126. package/runtime/knowledge/docs/ui/components/molecules/vc-dropdown-panel/vc-dropdown-panel.docs.md +38 -42
  127. package/runtime/knowledge/docs/ui/components/molecules/vc-editor/vc-editor.docs.md +60 -72
  128. package/runtime/knowledge/docs/ui/components/molecules/vc-field/vc-field.docs.md +65 -26
  129. package/runtime/knowledge/docs/ui/components/molecules/vc-file-upload/vc-file-upload.docs.md +46 -49
  130. package/runtime/knowledge/docs/ui/components/molecules/vc-form/vc-form.docs.md +35 -64
  131. package/runtime/knowledge/docs/ui/components/molecules/vc-image-tile/vc-image-tile.docs.md +38 -41
  132. package/runtime/knowledge/docs/ui/components/molecules/vc-input/vc-input.docs.md +115 -130
  133. package/runtime/knowledge/docs/ui/components/molecules/vc-input-currency/vc-input-currency.docs.md +53 -87
  134. package/runtime/knowledge/docs/ui/components/molecules/vc-input-dropdown/vc-input-dropdown.docs.md +56 -63
  135. package/runtime/knowledge/docs/ui/components/molecules/vc-input-group/vc-input-group.docs.md +29 -24
  136. package/runtime/knowledge/docs/ui/components/molecules/vc-menu/vc-menu.docs.md +32 -28
  137. package/runtime/knowledge/docs/ui/components/molecules/vc-multivalue/vc-multivalue.docs.md +63 -64
  138. package/runtime/knowledge/docs/ui/components/molecules/vc-pagination/vc-pagination.docs.md +28 -26
  139. package/runtime/knowledge/docs/ui/components/molecules/vc-radio-button/vc-radio-button.docs.md +59 -19
  140. package/runtime/knowledge/docs/ui/components/molecules/vc-radio-group/vc-radio-group.docs.md +25 -34
  141. package/runtime/knowledge/docs/ui/components/molecules/vc-rating/vc-rating.docs.md +42 -32
  142. package/runtime/knowledge/docs/ui/components/molecules/vc-select/vc-select.docs.md +78 -82
  143. package/runtime/knowledge/docs/ui/components/molecules/vc-slider/vc-slider.docs.md +25 -15
  144. package/runtime/knowledge/docs/ui/components/molecules/vc-switch/vc-switch.docs.md +59 -63
  145. package/runtime/knowledge/docs/ui/components/molecules/vc-textarea/vc-textarea.docs.md +57 -69
  146. package/runtime/knowledge/docs/ui/components/molecules/vc-toast/vc-toast.docs.md +58 -57
  147. package/runtime/knowledge/docs/ui/components/organisms/vc-app/vc-app.docs.md +49 -26
  148. package/runtime/knowledge/docs/ui/components/organisms/vc-auth-layout/vc-auth-layout.docs.md +82 -28
  149. package/runtime/knowledge/docs/ui/components/organisms/vc-blade/vc-blade.docs.md +120 -75
  150. package/runtime/knowledge/docs/ui/components/organisms/vc-data-table/composables/table-composables.docs.md +30 -44
  151. package/runtime/knowledge/docs/ui/components/organisms/vc-data-table/vc-data-table.docs.md +536 -365
  152. package/runtime/knowledge/docs/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.docs.md +35 -52
  153. package/runtime/knowledge/docs/ui/components/organisms/vc-gallery/vc-gallery.docs.md +33 -62
  154. package/runtime/knowledge/docs/ui/components/organisms/vc-image-upload/vc-image-upload.docs.md +17 -23
  155. package/runtime/knowledge/docs/ui/components/organisms/vc-popup/vc-popup.docs.md +109 -68
  156. package/runtime/knowledge/docs/ui/components/organisms/vc-sidebar/vc-sidebar.docs.md +82 -44
  157. package/runtime/knowledge/docs/ui/composables/ui-composables.docs.md +8 -8
  158. package/runtime/knowledge/docs/ui/composables/useDataTablePagination.docs.md +164 -0
  159. package/runtime/knowledge/docs/ui/composables/useDataTableSort.docs.md +34 -26
  160. package/runtime/knowledge/docs/ui/composables/useTableSelection.docs.md +48 -40
  161. package/runtime/knowledge/docs/ui/composables/useTableSort.docs.md +30 -17
  162. package/runtime/knowledge/docs/ui/types/ui-types.docs.md +40 -29
  163. package/runtime/knowledge/examples/offers-module.md +15 -13
  164. package/runtime/knowledge/examples/team-module.md +82 -119
  165. package/runtime/knowledge/examples/videos-module.md +44 -17
  166. package/runtime/knowledge/index.md +22 -0
  167. package/runtime/knowledge/migration-prompts/blade-form-migration.md +255 -0
  168. package/runtime/knowledge/migration-prompts/blade-props-migration.md +194 -0
  169. package/runtime/knowledge/migration-prompts/datatable-migration.md +801 -0
  170. package/runtime/knowledge/migration-prompts/icon-migration.md +97 -0
  171. package/runtime/knowledge/migration-prompts/manual-migration-audit.md +117 -0
  172. package/runtime/knowledge/migration-prompts/notifications-migration.md +223 -0
  173. package/runtime/knowledge/migration-prompts/nswag-migration.md +244 -0
  174. package/runtime/knowledge/migration-prompts/use-assets-migration.md +164 -0
  175. package/runtime/knowledge/migration-prompts/use-data-table-pagination-migration.md +176 -0
  176. package/runtime/knowledge/migration-prompts/widgets-migration.md +178 -0
  177. package/runtime/knowledge/patterns/assets-management.md +20 -20
  178. package/runtime/knowledge/patterns/blade-navigation.md +7 -14
  179. package/runtime/knowledge/patterns/blade-widget.md +19 -17
  180. package/runtime/knowledge/patterns/child-blade-flow.md +19 -7
  181. package/runtime/knowledge/patterns/composable-details.md +20 -50
  182. package/runtime/knowledge/patterns/composable-list.md +43 -31
  183. package/runtime/knowledge/patterns/dashboard-widget.md +14 -16
  184. package/runtime/knowledge/patterns/datatable-pattern.md +521 -0
  185. package/runtime/knowledge/patterns/details-blade-pattern.md +78 -116
  186. package/runtime/knowledge/patterns/extension-points-usage.md +53 -44
  187. package/runtime/knowledge/patterns/form-validation.md +28 -64
  188. package/runtime/knowledge/patterns/list-blade-pattern.md +33 -21
  189. package/runtime/knowledge/patterns/module-structure.md +7 -1
  190. package/runtime/knowledge/patterns/multilanguage-fields.md +8 -14
  191. package/runtime/knowledge/patterns/notification-template.md +21 -14
  192. package/runtime/knowledge/patterns/signalr-notifications.md +30 -32
  193. package/runtime/knowledge/patterns/toolbar-pattern.md +18 -20
  194. package/runtime/vc-app.md +354 -49
  195. package/runtime/knowledge/docs/core/constants/constants.docs.md +0 -185
@@ -40,20 +40,20 @@ dashboard.registerWidget({
40
40
 
41
41
  ## Key Props
42
42
 
43
- | Prop | Type | Default | Description |
44
- |------|------|---------|-------------|
45
- | `showDragHandles` | `boolean` | `false` | Shows visible drag handle icons on widgets |
46
- | `resizable` | `boolean` | `false` | Enables widget resize handles |
47
- | `ariaLabel` | `string` | `"Dashboard widgets..."` | Accessible label for the grid container |
43
+ | Prop | Type | Default | Description |
44
+ | ----------------- | --------- | ------------------------ | ------------------------------------------ |
45
+ | `showDragHandles` | `boolean` | `false` | Shows visible drag handle icons on widgets |
46
+ | `resizable` | `boolean` | `false` | Enables widget resize handles |
47
+ | `ariaLabel` | `string` | `"Dashboard widgets..."` | Accessible label for the grid container |
48
48
 
49
49
  ## Exposed Methods
50
50
 
51
- | Method | Description |
52
- |--------|-------------|
53
- | `rearrangeWidgets()` | Re-layout all widgets to fill gaps |
54
- | `recalculateLayout()` | Recalculate grid dimensions |
55
- | `saveLayout()` | Persist current layout to localStorage |
56
- | `useBuiltInPositions()` | Reset to default widget positions |
51
+ | Method | Description |
52
+ | ----------------------- | -------------------------------------- |
53
+ | `rearrangeWidgets()` | Re-layout all widgets to fill gaps |
54
+ | `recalculateLayout()` | Recalculate grid dimensions |
55
+ | `saveLayout()` | Persist current layout to localStorage |
56
+ | `useBuiltInPositions()` | Reset to default widget positions |
57
57
 
58
58
  ## Recipe: Registering Dashboard Widgets in a Module
59
59
 
@@ -107,7 +107,10 @@ function resetLayout() {
107
107
  <template>
108
108
  <div>
109
109
  <button @click="resetLayout">Reset Layout</button>
110
- <DraggableDashboard ref="dashboardRef" :resizable="true" />
110
+ <DraggableDashboard
111
+ ref="dashboardRef"
112
+ :resizable="true"
113
+ />
111
114
  </div>
112
115
  </template>
113
116
  ```
@@ -20,19 +20,19 @@ A small indicator component for displaying counts, status dots, or short text la
20
20
 
21
21
  ## Key Props
22
22
 
23
- | Prop | Type | Default | Description |
24
- |------|------|---------|-------------|
25
- | `content` | `string \| number` | -- | Text or number displayed inside the badge |
26
- | `variant` | `"primary" \| "success" \| "warning" \| "danger" \| "info" \| "secondary"` | `"primary"` | Color variant |
27
- | `size` | `"s" \| "m"` | `"m"` | Badge size |
28
- | `isDot` | `boolean` | `false` | Renders as a small dot without text |
29
- | `inline` | `boolean` | `false` | Renders as an inline element without absolute positioning |
30
- | `clickable` | `boolean` | `false` | Makes the badge respond to click events |
31
- | `disabled` | `boolean` | `false` | Disables interaction on clickable badges |
32
- | `customPosition` | `boolean` | `false` | Enables custom `top`/`right` positioning |
33
- | `top` | `string` | -- | Custom top offset (requires `customPosition`) |
34
- | `right` | `string` | -- | Custom right offset (requires `customPosition`) |
35
- | `ariaLabel` | `string` | -- | Custom accessible label for the badge |
23
+ | Prop | Type | Default | Description |
24
+ | ---------------- | -------------------------------------------------------------------------- | ----------- | --------------------------------------------------------- |
25
+ | `content` | `string \| number` | -- | Text or number displayed inside the badge |
26
+ | `variant` | `"primary" \| "success" \| "warning" \| "danger" \| "info" \| "secondary"` | `"primary"` | Color variant |
27
+ | `size` | `"s" \| "m"` | `"m"` | Badge size |
28
+ | `isDot` | `boolean` | `false` | Renders as a small dot without text |
29
+ | `inline` | `boolean` | `false` | Renders as an inline element without absolute positioning |
30
+ | `clickable` | `boolean` | `false` | Makes the badge respond to click events |
31
+ | `disabled` | `boolean` | `false` | Disables interaction on clickable badges |
32
+ | `customPosition` | `boolean` | `false` | Enables custom `top`/`right` positioning |
33
+ | `top` | `string` | -- | Custom top offset (requires `customPosition`) |
34
+ | `right` | `string` | -- | Custom right offset (requires `customPosition`) |
35
+ | `ariaLabel` | `string` | -- | Custom accessible label for the badge |
36
36
 
37
37
  ## Common Patterns
38
38
 
@@ -65,12 +65,7 @@ A small indicator component for displaying counts, status dots, or short text la
65
65
  ### Clickable Badge with Dismiss
66
66
 
67
67
  ```vue
68
- <VcBadge
69
- :content="count"
70
- clickable
71
- variant="primary"
72
- @click="clearNotifications"
73
- >
68
+ <VcBadge :content="count" clickable variant="primary" @click="clearNotifications">
74
69
  <VcIcon icon="lucide-inbox" size="xl" />
75
70
  </VcBadge>
76
71
  ```
@@ -104,13 +99,7 @@ const statusVariantMap: Record<string, string> = {
104
99
  Fine-tune the badge position relative to its parent:
105
100
 
106
101
  ```vue
107
- <VcBadge
108
- content="NEW"
109
- variant="info"
110
- custom-position
111
- top="-4px"
112
- right="-12px"
113
- >
102
+ <VcBadge content="NEW" variant="info" custom-position top="-4px" right="-12px">
114
103
  <img src="/product.jpg" class="tw-w-16 tw-h-16 tw-rounded" />
115
104
  </VcBadge>
116
105
  ```
@@ -21,20 +21,20 @@ A contextual alert component for displaying important messages, warnings, or sta
21
21
 
22
22
  ## Key Props
23
23
 
24
- | Prop | Type | Default | Description |
25
- |------|------|---------|-------------|
26
- | `variant` | `"info" \| "warning" \| "danger" \| "success"` | `"info"` | Semantic color variant |
27
- | `icon` | `string` | -- | Icon identifier (e.g. `lucide-info`, `lucide-triangle-alert`) |
28
- | `iconSize` | `IconSize` | `"l"` | Size of the leading icon |
29
- | `iconVariant` | `IconVariant` | -- | Color variant for the icon |
30
- | `collapsedHeight` | `number` | `100` | Max height in pixels before content becomes collapsible |
24
+ | Prop | Type | Default | Description |
25
+ | ----------------- | ---------------------------------------------- | -------- | ------------------------------------------------------------- |
26
+ | `variant` | `"info" \| "warning" \| "danger" \| "success"` | `"info"` | Semantic color variant |
27
+ | `icon` | `string` | -- | Icon identifier (e.g. `lucide-info`, `lucide-triangle-alert`) |
28
+ | `iconSize` | `IconSize` | `"l"` | Size of the leading icon |
29
+ | `iconVariant` | `IconVariant` | -- | Color variant for the icon |
30
+ | `collapsedHeight` | `number` | `100` | Max height in pixels before content becomes collapsible |
31
31
 
32
32
  ## Slots
33
33
 
34
- | Slot | Description |
35
- |------|-------------|
36
- | `title` | Bold title text above the body content |
37
- | `default` | Body/description content |
34
+ | Slot | Description |
35
+ | --------- | ------------------------------------------------------------------------ |
36
+ | `title` | Bold title text above the body content |
37
+ | `default` | Body/description content |
38
38
  | `trigger` | Custom expand/collapse trigger (receives `{ isExpanded, toggle }` props) |
39
39
 
40
40
  ## Features
@@ -69,12 +69,7 @@ For backward compatibility, the deprecated variants `"light-danger"`, `"info-dar
69
69
  ### Decline Reason on a Detail Blade
70
70
 
71
71
  ```vue
72
- <VcBanner
73
- v-if="declineReason"
74
- variant="danger"
75
- icon="lucide-circle-alert"
76
- icon-variant="danger"
77
- >
72
+ <VcBanner v-if="declineReason" variant="danger" icon="lucide-circle-alert" icon-variant="danger">
78
73
  <template #title>Decline Reason</template>
79
74
  {{ declineReason }}
80
75
  </VcBanner>
@@ -112,8 +107,15 @@ Place a banner inside a blade to notify the user of important context before the
112
107
  This product has been marked as discontinued. Editing is limited to metadata fields only.
113
108
  </VcBanner>
114
109
 
115
- <VcInput label="Name" v-model="product.name" :disabled="product.isDiscontinued" />
116
- <VcTextarea label="Notes" v-model="product.notes" />
110
+ <VcInput
111
+ label="Name"
112
+ v-model="product.name"
113
+ :disabled="product.isDiscontinued"
114
+ />
115
+ <VcTextarea
116
+ label="Notes"
117
+ v-model="product.notes"
118
+ />
117
119
  </VcBlade>
118
120
  </template>
119
121
  ```
@@ -4,12 +4,12 @@ A versatile button component supporting 9 style variants, 5 size options, loadin
4
4
 
5
5
  ## When to Use
6
6
 
7
- | Scenario | Component |
8
- |----------|-----------|
9
- | Triggering an action (save, delete, submit) | **VcButton** |
10
- | Navigating to another URL or route | `<router-link>` or `<a>` tag |
11
- | Action inside a blade toolbar | `IBladeToolbar` items (rendered as buttons automatically) |
12
- | Inline text-style link within a paragraph | Native `<a>` or `<router-link>` |
7
+ | Scenario | Component |
8
+ | ------------------------------------------- | --------------------------------------------------------- |
9
+ | Triggering an action (save, delete, submit) | **VcButton** |
10
+ | Navigating to another URL or route | `<router-link>` or `<a>` tag |
11
+ | Action inside a blade toolbar | `IBladeToolbar` items (rendered as buttons automatically) |
12
+ | Inline text-style link within a paragraph | Native `<a>` or `<router-link>` |
13
13
 
14
14
  Use VcButton for any user-initiated action that does not navigate to a URL. **Do not use** VcButton for navigation -- the `link` variant looks like a link but calls `preventDefault()`, so actual URL navigation will not work. For toolbar actions, define `IBladeToolbar` objects instead of placing VcButton manually.
15
15
 
@@ -17,7 +17,11 @@ Use VcButton for any user-initiated action that does not navigate to a URL. **Do
17
17
 
18
18
  ```vue
19
19
  <template>
20
- <VcButton variant="primary" @click="handleSave">Save Changes</VcButton>
20
+ <VcButton
21
+ variant="primary"
22
+ @click="handleSave"
23
+ >Save Changes</VcButton
24
+ >
21
25
  </template>
22
26
 
23
27
  <script setup lang="ts">
@@ -41,13 +45,13 @@ Solid background colors for primary and prominent actions.
41
45
  <VcButton variant="info">Learn More</VcButton>
42
46
  ```
43
47
 
44
- | Variant | Use Case | Text Color |
45
- |---------|----------|------------|
46
- | `primary` | Main CTA -- save, submit, confirm | White |
47
- | `danger` | Destructive actions -- delete, remove | White |
48
- | `warning` | Caution actions -- override, force | Dark (for contrast) |
49
- | `success` | Positive actions -- approve, publish | White |
50
- | `info` | Informational actions -- details, help | White |
48
+ | Variant | Use Case | Text Color |
49
+ | --------- | -------------------------------------- | ------------------- |
50
+ | `primary` | Main CTA -- save, submit, confirm | White |
51
+ | `danger` | Destructive actions -- delete, remove | White |
52
+ | `warning` | Caution actions -- override, force | Dark (for contrast) |
53
+ | `success` | Positive actions -- approve, publish | White |
54
+ | `info` | Informational actions -- details, help | White |
51
55
 
52
56
  ### Structural Variants (Medium Emphasis)
53
57
 
@@ -58,10 +62,10 @@ Bordered or transparent backgrounds for secondary actions.
58
62
  <VcButton variant="outline">Export</VcButton>
59
63
  ```
60
64
 
61
- | Variant | Use Case | Hover Behavior |
62
- |---------|----------|----------------|
63
- | `secondary` | Cancel, dismiss, secondary actions | Background changes to primary-50 |
64
- | `outline` | Alternative actions alongside primary | Background changes to primary-50, border darkens |
65
+ | Variant | Use Case | Hover Behavior |
66
+ | ----------- | ------------------------------------- | ------------------------------------------------ |
67
+ | `secondary` | Cancel, dismiss, secondary actions | Background changes to primary-50 |
68
+ | `outline` | Alternative actions alongside primary | Background changes to primary-50, border darkens |
65
69
 
66
70
  ### Minimal Variants (Low Emphasis)
67
71
 
@@ -72,10 +76,10 @@ No border or background, used for inline or de-emphasized actions.
72
76
  <VcButton variant="link">View Documentation</VcButton>
73
77
  ```
74
78
 
75
- | Variant | Use Case | Hover Behavior |
76
- |---------|----------|----------------|
77
- | `ghost` | Toolbar icons, inline actions | Light background tint |
78
- | `link` | Text-like navigation, inline links | Underline on text |
79
+ | Variant | Use Case | Hover Behavior |
80
+ | ------- | ---------------------------------- | --------------------- |
81
+ | `ghost` | Toolbar icons, inline actions | Light background tint |
82
+ | `link` | Text-like navigation, inline links | Underline on text |
79
83
 
80
84
  ## Sizes
81
85
 
@@ -89,13 +93,13 @@ Five size options cover all common use cases from toolbar icons to prominent CTA
89
93
  <VcButton size="icon-sm" icon="lucide-pencil" aria-label="Edit" />
90
94
  ```
91
95
 
92
- | Size | Height | Padding | Typical Use |
93
- |------|--------|---------|-------------|
94
- | `sm` | 32px | 12px horizontal | Compact form actions, table footers |
95
- | `default` | 36px | 16px horizontal, 8px vertical | Standard blade actions |
96
- | `lg` | 40px | 24px horizontal | Prominent CTAs, dialog actions |
97
- | `icon` | 36x36px | 0 (square) | Toolbar icon buttons |
98
- | `icon-sm` | 24x24px | 0 (square) | Table cell actions, inline controls |
96
+ | Size | Height | Padding | Typical Use |
97
+ | --------- | ------- | ----------------------------- | ----------------------------------- |
98
+ | `sm` | 32px | 12px horizontal | Compact form actions, table footers |
99
+ | `default` | 36px | 16px horizontal, 8px vertical | Standard blade actions |
100
+ | `lg` | 40px | 24px horizontal | Prominent CTAs, dialog actions |
101
+ | `icon` | 36x36px | 0 (square) | Toolbar icon buttons |
102
+ | `icon-sm` | 24x24px | 0 (square) | Table cell actions, inline controls |
99
103
 
100
104
  > **Note:** Legacy aliases `xs` (maps to `sm`) and `base` (maps to `default`) are supported for backward compatibility.
101
105
 
@@ -127,6 +131,7 @@ When `loading` is `true`, the button shows a spinner in place of its icon and be
127
131
  ```
128
132
 
129
133
  During loading:
134
+
130
135
  - The icon is replaced with a spinning `lucide-loader-2`
131
136
  - The button is disabled (`pointer-events: none`)
132
137
  - The cursor changes to `wait`
@@ -137,13 +142,7 @@ During loading:
137
142
  The `selected` prop applies a visual highlight. Useful for toggle buttons or active states:
138
143
 
139
144
  ```vue
140
- <VcButton
141
- variant="ghost"
142
- :selected="isGridView"
143
- icon="lucide-grid"
144
- aria-label="Grid view"
145
- @click="isGridView = true"
146
- />
145
+ <VcButton variant="ghost" :selected="isGridView" icon="lucide-grid" aria-label="Grid view" @click="isGridView = true" />
147
146
  ```
148
147
 
149
148
  When selected, `aria-pressed="true"` is set on the button element.
@@ -176,8 +175,16 @@ VcButton integrates with `VcButtonGroup` via provide/inject. The group can set a
176
175
  ```vue
177
176
  <template>
178
177
  <div class="tw-flex tw-gap-2">
179
- <VcButton variant="secondary" @click="cancel">Cancel</VcButton>
180
- <VcButton variant="primary" :loading="isSaving" @click="save">
178
+ <VcButton
179
+ variant="secondary"
180
+ @click="cancel"
181
+ >Cancel</VcButton
182
+ >
183
+ <VcButton
184
+ variant="primary"
185
+ :loading="isSaving"
186
+ @click="save"
187
+ >
181
188
  Save
182
189
  </VcButton>
183
190
  </div>
@@ -189,8 +196,17 @@ VcButton integrates with `VcButtonGroup` via provide/inject. The group can set a
189
196
  ```vue
190
197
  <template>
191
198
  <div class="tw-flex tw-justify-end tw-gap-3 tw-p-4">
192
- <VcButton variant="outline" @click="dismiss">Cancel</VcButton>
193
- <VcButton variant="danger" :loading="isDeleting" icon="lucide-trash-2" @click="confirmDelete">
199
+ <VcButton
200
+ variant="outline"
201
+ @click="dismiss"
202
+ >Cancel</VcButton
203
+ >
204
+ <VcButton
205
+ variant="danger"
206
+ :loading="isDeleting"
207
+ icon="lucide-trash-2"
208
+ @click="confirmDelete"
209
+ >
194
210
  Delete Permanently
195
211
  </VcButton>
196
212
  </div>
@@ -231,46 +247,46 @@ VcButton integrates with `VcButtonGroup` via provide/inject. The group can set a
231
247
 
232
248
  ## Props
233
249
 
234
- | Prop | Type | Default | Description |
235
- |------|------|---------|-------------|
236
- | `variant` | `"primary" \| "secondary" \| "danger" \| "warning" \| "success" \| "info" \| "outline" \| "ghost" \| "link"` | `"primary"` | Visual style variant |
237
- | `size` | `"sm" \| "default" \| "lg" \| "icon" \| "icon-sm"` | `"default"` | Button size |
238
- | `icon` | `string \| Component` | -- | Icon identifier or Vue component |
239
- | `iconClass` | `string` | -- | Additional CSS class for the icon element |
240
- | `iconSize` | `IconSize` | `"s"` | Size of the icon (`"xs"`, `"s"`, `"m"`, `"l"`, `"xl"`, `"xxl"`) |
241
- | `loading` | `boolean` | `false` | Shows spinner, disables interaction, sets `aria-busy` |
242
- | `disabled` | `boolean` | `false` | Disables the button |
243
- | `selected` | `boolean` | `false` | Applies selected/active visual state, sets `aria-pressed` |
244
- | `text` | `boolean` | `false` | Renders as borderless text in the variant's color |
245
- | `type` | `"button" \| "submit" \| "reset"` | `"button"` | HTML button type |
246
- | `ariaLabel` | `string` | -- | Accessible label (required for icon-only buttons) |
250
+ | Prop | Type | Default | Description |
251
+ | ----------- | ------------------------------------------------------------------------------------------------------------ | ----------- | --------------------------------------------------------------- |
252
+ | `variant` | `"primary" \| "secondary" \| "danger" \| "warning" \| "success" \| "info" \| "outline" \| "ghost" \| "link"` | `"primary"` | Visual style variant |
253
+ | `size` | `"sm" \| "default" \| "lg" \| "icon" \| "icon-sm"` | `"default"` | Button size |
254
+ | `icon` | `string \| Component` | -- | Icon identifier or Vue component |
255
+ | `iconClass` | `string` | -- | Additional CSS class for the icon element |
256
+ | `iconSize` | `IconSize` | `"s"` | Size of the icon (`"xs"`, `"s"`, `"m"`, `"l"`, `"xl"`, `"xxl"`) |
257
+ | `loading` | `boolean` | `false` | Shows spinner, disables interaction, sets `aria-busy` |
258
+ | `disabled` | `boolean` | `false` | Disables the button |
259
+ | `selected` | `boolean` | `false` | Applies selected/active visual state, sets `aria-pressed` |
260
+ | `text` | `boolean` | `false` | Renders as borderless text in the variant's color |
261
+ | `type` | `"button" \| "submit" \| "reset"` | `"button"` | HTML button type |
262
+ | `ariaLabel` | `string` | -- | Accessible label (required for icon-only buttons) |
247
263
 
248
264
  ## Events
249
265
 
250
- | Event | Payload | Description |
251
- |-------|---------|-------------|
266
+ | Event | Payload | Description |
267
+ | ------- | ------- | ------------------------------------------------------------------------ |
252
268
  | `click` | `Event` | Emitted when the button is clicked (suppressed when disabled or loading) |
253
269
 
254
270
  ## Slots
255
271
 
256
- | Slot | Description |
257
- |------|-------------|
272
+ | Slot | Description |
273
+ | --------- | ----------------------------------------------------------------- |
258
274
  | `default` | Button text content. When empty, the button renders as icon-only. |
259
275
 
260
276
  ## CSS Custom Properties
261
277
 
262
278
  All visual properties are customizable through CSS custom properties. Each variant has three property sets (normal, hover, disabled) for background, text, and border colors.
263
279
 
264
- | Pattern | Example | Description |
265
- |---------|---------|-------------|
266
- | `--button-{variant}-background-color` | `--button-primary-background-color` | Normal background |
267
- | `--button-{variant}-background-color-hover` | `--button-primary-background-color-hover` | Hover background |
268
- | `--button-{variant}-text-color` | `--button-primary-text-color` | Normal text color |
269
- | `--button-{variant}-border-color` | `--button-primary-border-color` | Normal border color |
270
- | `--button-border-radius` | `6px` | Corner radius for all buttons |
271
- | `--button-focus-ring-color` | `var(--primary-300)` | Focus ring color |
272
- | `--button-focus-ring-width` | `2px` | Focus ring thickness |
273
- | `--button-{size}-height` | `--button-default-height: 36px` | Height per size |
280
+ | Pattern | Example | Description |
281
+ | ------------------------------------------- | ----------------------------------------- | ----------------------------- |
282
+ | `--button-{variant}-background-color` | `--button-primary-background-color` | Normal background |
283
+ | `--button-{variant}-background-color-hover` | `--button-primary-background-color-hover` | Hover background |
284
+ | `--button-{variant}-text-color` | `--button-primary-text-color` | Normal text color |
285
+ | `--button-{variant}-border-color` | `--button-primary-border-color` | Normal border color |
286
+ | `--button-border-radius` | `6px` | Corner radius for all buttons |
287
+ | `--button-focus-ring-color` | `var(--primary-300)` | Focus ring color |
288
+ | `--button-focus-ring-width` | `2px` | Focus ring thickness |
289
+ | `--button-{size}-height` | `--button-default-height: 36px` | Height per size |
274
290
 
275
291
  ## Accessibility
276
292