@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
@@ -48,9 +48,21 @@ const selected = ref<string[]>([]);
48
48
  </script>
49
49
 
50
50
  <template>
51
- <VcCheckbox v-model="selected" value="express">Express shipping</VcCheckbox>
52
- <VcCheckbox v-model="selected" value="insurance">Shipping insurance</VcCheckbox>
53
- <VcCheckbox v-model="selected" value="gift">Gift wrapping</VcCheckbox>
51
+ <VcCheckbox
52
+ v-model="selected"
53
+ value="express"
54
+ >Express shipping</VcCheckbox
55
+ >
56
+ <VcCheckbox
57
+ v-model="selected"
58
+ value="insurance"
59
+ >Shipping insurance</VcCheckbox
60
+ >
61
+ <VcCheckbox
62
+ v-model="selected"
63
+ value="gift"
64
+ >Gift wrapping</VcCheckbox
65
+ >
54
66
  <!-- selected.value might be ["express", "gift"] -->
55
67
  </template>
56
68
  ```
@@ -59,11 +71,11 @@ const selected = ref<string[]>([]);
59
71
 
60
72
  Three sizes are available via the `size` prop:
61
73
 
62
- | Size | Value | Pixel dimension |
63
- |------|-------|-----------------|
64
- | Small | `"s"` (default) | 16 x 16 px |
65
- | Medium | `"m"` | 20 x 20 px |
66
- | Large | `"l"` | 24 x 24 px |
74
+ | Size | Value | Pixel dimension |
75
+ | ------ | --------------- | --------------- |
76
+ | Small | `"s"` (default) | 16 x 16 px |
77
+ | Medium | `"m"` | 20 x 20 px |
78
+ | Large | `"l"` | 24 x 24 px |
67
79
 
68
80
  ```vue
69
81
  <VcCheckbox v-model="val" size="s">Small checkbox</VcCheckbox>
@@ -99,9 +111,21 @@ function toggleAll(checked: boolean) {
99
111
  Select all
100
112
  </VcCheckbox>
101
113
 
102
- <VcCheckbox v-model="selected" value="A">Option A</VcCheckbox>
103
- <VcCheckbox v-model="selected" value="B">Option B</VcCheckbox>
104
- <VcCheckbox v-model="selected" value="C">Option C</VcCheckbox>
114
+ <VcCheckbox
115
+ v-model="selected"
116
+ value="A"
117
+ >Option A</VcCheckbox
118
+ >
119
+ <VcCheckbox
120
+ v-model="selected"
121
+ value="B"
122
+ >Option B</VcCheckbox
123
+ >
124
+ <VcCheckbox
125
+ v-model="selected"
126
+ value="C"
127
+ >Option C</VcCheckbox
128
+ >
105
129
  </template>
106
130
  ```
107
131
 
@@ -155,11 +179,7 @@ const form = reactive({
155
179
  <VcCheckbox :model-value="true" disabled>Cannot be changed</VcCheckbox>
156
180
 
157
181
  <!-- Error -->
158
- <VcCheckbox
159
- v-model="val"
160
- :error="true"
161
- error-message="This field is required"
162
- >
182
+ <VcCheckbox v-model="val" :error="true" error-message="This field is required">
163
183
  I have read the disclaimer
164
184
  </VcCheckbox>
165
185
  ```
@@ -173,9 +193,21 @@ Use `VcInputGroup` to add a shared label and semantic grouping:
173
193
  ```vue
174
194
  <template>
175
195
  <VcInputGroup label="Delivery options">
176
- <VcCheckbox v-model="deliveryOptions" value="courier">Courier delivery</VcCheckbox>
177
- <VcCheckbox v-model="deliveryOptions" value="pickup">Store pickup</VcCheckbox>
178
- <VcCheckbox v-model="deliveryOptions" value="postal">Postal service</VcCheckbox>
196
+ <VcCheckbox
197
+ v-model="deliveryOptions"
198
+ value="courier"
199
+ >Courier delivery</VcCheckbox
200
+ >
201
+ <VcCheckbox
202
+ v-model="deliveryOptions"
203
+ value="pickup"
204
+ >Store pickup</VcCheckbox
205
+ >
206
+ <VcCheckbox
207
+ v-model="deliveryOptions"
208
+ value="postal"
209
+ >Postal service</VcCheckbox
210
+ >
179
211
  </VcInputGroup>
180
212
  </template>
181
213
 
@@ -246,68 +278,64 @@ const selected = ref<string[]>([]);
246
278
  <VcCheckbox v-model="val" indeterminate>Select all</VcCheckbox>
247
279
 
248
280
  <!-- ✅ Use a computed + handler to manage the select-all logic -->
249
- <VcCheckbox
250
- :model-value="allSelected"
251
- :indeterminate="someSelected && !allSelected"
252
- @update:model-value="toggleAll"
253
- >
281
+ <VcCheckbox :model-value="allSelected" :indeterminate="someSelected && !allSelected" @update:model-value="toggleAll">
254
282
  Select all
255
283
  </VcCheckbox>
256
284
  ```
257
285
 
258
286
  ## Props
259
287
 
260
- | Prop | Type | Default | Description |
261
- |------|------|---------|-------------|
262
- | `modelValue` | `boolean \| T[]` | `undefined` | Bound value via `v-model`. Boolean for single, array for multi-select. |
263
- | `value` | `T` | -- | Value added to the array when checked (array mode only) |
264
- | `label` | `string` | -- | Label text displayed above the checkbox |
265
- | `tooltip` | `string` | -- | Tooltip on the label info icon |
266
- | `size` | `"s" \| "m" \| "l"` | `"s"` | Checkbox size variant |
267
- | `indeterminate` | `boolean` | `false` | Shows the indeterminate (dash) visual state |
268
- | `trueValue` | `boolean` | `true` | Value emitted when checked (boolean mode) |
269
- | `falseValue` | `boolean` | `false` | Value emitted when unchecked (boolean mode) |
270
- | `disabled` | `boolean` | `false` | Disables the checkbox |
271
- | `required` | `boolean` | `false` | Shows a required indicator |
272
- | `error` | `boolean` | `false` | Enables error styling |
273
- | `errorMessage` | `string` | -- | Error message displayed below the checkbox |
274
- | `name` | `string` | `"Field"` | HTML name attribute |
275
- | `outline` | `boolean` | `false` | Applies outline style variant |
288
+ | Prop | Type | Default | Description |
289
+ | --------------- | ------------------- | ----------- | ---------------------------------------------------------------------- |
290
+ | `modelValue` | `boolean \| T[]` | `undefined` | Bound value via `v-model`. Boolean for single, array for multi-select. |
291
+ | `value` | `T` | -- | Value added to the array when checked (array mode only) |
292
+ | `label` | `string` | -- | Label text displayed above the checkbox |
293
+ | `tooltip` | `string` | -- | Tooltip on the label info icon |
294
+ | `size` | `"s" \| "m" \| "l"` | `"s"` | Checkbox size variant |
295
+ | `indeterminate` | `boolean` | `false` | Shows the indeterminate (dash) visual state |
296
+ | `trueValue` | `boolean` | `true` | Value emitted when checked (boolean mode) |
297
+ | `falseValue` | `boolean` | `false` | Value emitted when unchecked (boolean mode) |
298
+ | `disabled` | `boolean` | `false` | Disables the checkbox |
299
+ | `required` | `boolean` | `false` | Shows a required indicator |
300
+ | `error` | `boolean` | `false` | Enables error styling |
301
+ | `errorMessage` | `string` | -- | Error message displayed below the checkbox |
302
+ | `name` | `string` | `"Field"` | HTML name attribute |
303
+ | `outline` | `boolean` | `false` | Applies outline style variant |
276
304
 
277
305
  ## Events
278
306
 
279
- | Event | Payload | Description |
280
- |-------|---------|-------------|
307
+ | Event | Payload | Description |
308
+ | ------------------- | ---------------- | ------------------------------------ |
281
309
  | `update:modelValue` | `boolean \| T[]` | Emitted when the checkbox is toggled |
282
310
 
283
311
  ## Slots
284
312
 
285
- | Slot | Description |
286
- |------|-------------|
287
- | `default` | Inline text or content displayed next to the checkbox |
288
- | `icon` | Replace the check/indeterminate icon with custom markup |
289
- | `error` | Custom error message markup |
313
+ | Slot | Description |
314
+ | --------- | ------------------------------------------------------- |
315
+ | `default` | Inline text or content displayed next to the checkbox |
316
+ | `icon` | Replace the check/indeterminate icon with custom markup |
317
+ | `error` | Custom error message markup |
290
318
 
291
319
  ## CSS Variables
292
320
 
293
- | Variable | Default | Description |
294
- |----------|---------|-------------|
295
- | `--checkbox-size-s` | `16px` | Small variant size |
296
- | `--checkbox-size-m` | `20px` | Medium variant size |
297
- | `--checkbox-size-l` | `24px` | Large variant size |
298
- | `--checkbox-border-color` | `var(--neutrals-300)` | Default border color |
299
- | `--checkbox-border-color-hover` | `var(--neutrals-400)` | Border color on hover |
300
- | `--checkbox-bg-color` | `var(--additional-50)` | Unchecked background |
301
- | `--checkbox-checked-bg-color` | `var(--primary-500)` | Checked background color |
302
- | `--checkbox-checked-border-color` | `var(--primary-500)` | Checked border color |
303
- | `--checkbox-indeterminate-bg-color` | `var(--primary-500)` | Indeterminate background |
321
+ | Variable | Default | Description |
322
+ | ------------------------------------- | ---------------------- | ------------------------ |
323
+ | `--checkbox-size-s` | `16px` | Small variant size |
324
+ | `--checkbox-size-m` | `20px` | Medium variant size |
325
+ | `--checkbox-size-l` | `24px` | Large variant size |
326
+ | `--checkbox-border-color` | `var(--neutrals-300)` | Default border color |
327
+ | `--checkbox-border-color-hover` | `var(--neutrals-400)` | Border color on hover |
328
+ | `--checkbox-bg-color` | `var(--additional-50)` | Unchecked background |
329
+ | `--checkbox-checked-bg-color` | `var(--primary-500)` | Checked background color |
330
+ | `--checkbox-checked-border-color` | `var(--primary-500)` | Checked border color |
331
+ | `--checkbox-indeterminate-bg-color` | `var(--primary-500)` | Indeterminate background |
304
332
  | `--checkbox-indeterminate-line-color` | `var(--additional-50)` | Indeterminate dash color |
305
- | `--checkbox-error-border-color` | `var(--danger-500)` | Error state border |
306
- | `--checkbox-error-ring-color` | `var(--danger-100)` | Error ring color |
307
- | `--checkbox-focus-ring-color` | `var(--primary-100)` | Focus ring color |
308
- | `--checkbox-border-radius` | `4px` | Corner radius |
309
- | `--checkbox-disabled-opacity` | `0.5` | Opacity when disabled |
310
- | `--checkbox-transition-duration` | `200ms` | Animation duration |
333
+ | `--checkbox-error-border-color` | `var(--danger-500)` | Error state border |
334
+ | `--checkbox-error-ring-color` | `var(--danger-100)` | Error ring color |
335
+ | `--checkbox-focus-ring-color` | `var(--primary-100)` | Focus ring color |
336
+ | `--checkbox-border-radius` | `4px` | Corner radius |
337
+ | `--checkbox-disabled-opacity` | `0.5` | Opacity when disabled |
338
+ | `--checkbox-transition-duration` | `200ms` | Animation duration |
311
339
 
312
340
  ## Accessibility
313
341
 
@@ -327,4 +355,3 @@ const selected = ref<string[]>([]);
327
355
  ## Skeleton / Loading State
328
356
 
329
357
  When placed inside a `VcBlade` with `loading=true`, the component renders a skeleton placeholder matching its shape — a control indicator and label block. No configuration needed.
330
-
@@ -34,20 +34,20 @@ const channels = [
34
34
 
35
35
  ## Key Props
36
36
 
37
- | Prop | Type | Default | Description |
38
- |------|------|---------|-------------|
39
- | `modelValue` | `T[]` | `[]` | Selected values (v-model) |
40
- | `options` | `CheckboxGroupOption<T>[]` | `[]` | Options to render as checkboxes |
41
- | `label` | `string` | — | Group label (rendered as fieldset legend) |
42
- | `tooltip` | `string` | — | Tooltip on the label |
43
- | `hint` | `string` | — | Hint text below the group |
44
- | `orientation` | `"vertical" \| "horizontal"` | `"vertical"` | Layout direction of options |
45
- | `size` | `"s" \| "m" \| "l"` | `"s"` | Checkbox size for all items |
46
- | `name` | `string` | auto-generated | Shared name for native checkboxes |
47
- | `disabled` | `boolean` | `false` | Disable all checkboxes |
48
- | `required` | `boolean` | `false` | Mark group as required |
49
- | `error` | `boolean` | `false` | External error flag |
50
- | `errorMessage` | `string` | — | Error message text |
37
+ | Prop | Type | Default | Description |
38
+ | -------------- | ---------------------------- | -------------- | ----------------------------------------- |
39
+ | `modelValue` | `T[]` | `[]` | Selected values (v-model) |
40
+ | `options` | `CheckboxGroupOption<T>[]` | `[]` | Options to render as checkboxes |
41
+ | `label` | `string` | — | Group label (rendered as fieldset legend) |
42
+ | `tooltip` | `string` | — | Tooltip on the label |
43
+ | `hint` | `string` | — | Hint text below the group |
44
+ | `orientation` | `"vertical" \| "horizontal"` | `"vertical"` | Layout direction of options |
45
+ | `size` | `"s" \| "m" \| "l"` | `"s"` | Checkbox size for all items |
46
+ | `name` | `string` | auto-generated | Shared name for native checkboxes |
47
+ | `disabled` | `boolean` | `false` | Disable all checkboxes |
48
+ | `required` | `boolean` | `false` | Mark group as required |
49
+ | `error` | `boolean` | `false` | External error flag |
50
+ | `errorMessage` | `string` | — | Error message text |
51
51
 
52
52
  ## CheckboxGroupOption Interface
53
53
 
@@ -55,20 +55,20 @@ const channels = [
55
55
  interface CheckboxGroupOption<V = string | number | boolean> {
56
56
  label: string;
57
57
  value: V;
58
- disabled?: boolean; // Disable individual options
58
+ disabled?: boolean; // Disable individual options
59
59
  }
60
60
  ```
61
61
 
62
62
  ## Events
63
63
 
64
- | Event | Payload | Description |
65
- |-------|---------|-------------|
66
- | `update:modelValue` | `T[]` | Selected values changed |
64
+ | Event | Payload | Description |
65
+ | ------------------- | ------- | ----------------------- |
66
+ | `update:modelValue` | `T[]` | Selected values changed |
67
67
 
68
68
  ## Slots
69
69
 
70
- | Slot | Description |
71
- |------|-------------|
70
+ | Slot | Description |
71
+ | --------- | --------------------------------------------------------- |
72
72
  | `default` | Custom checkbox layout (replaces options-based rendering) |
73
73
 
74
74
  ## Common Patterns
@@ -105,26 +105,13 @@ interface CheckboxGroupOption<V = string | number | boolean> {
105
105
  ### Validation Error
106
106
 
107
107
  ```vue
108
- <VcCheckboxGroup
109
- v-model="selected"
110
- label="Required Selection"
111
- required
112
- :error="selected.length === 0"
113
- error-message="Select at least one option"
114
- :options="options"
115
- />
108
+ <VcCheckboxGroup v-model="selected" label="Required Selection" required :error="selected.length === 0" error-message="Select at least one option" :options="options" />
116
109
  ```
117
110
 
118
111
  ### Custom Slot Layout
119
112
 
120
113
  ```vue
121
- <VcCheckboxGroup
122
- v-model="flags"
123
- label="Feature Flags"
124
- hint="Custom layout via default slot"
125
- orientation="horizontal"
126
- name="feature-flags"
127
- >
114
+ <VcCheckboxGroup v-model="flags" label="Feature Flags" hint="Custom layout via default slot" orientation="horizontal" name="feature-flags">
128
115
  <VcCheckbox v-model="flags" value="feature-a">Feature A</VcCheckbox>
129
116
  <VcCheckbox v-model="flags" value="feature-b">Feature B</VcCheckbox>
130
117
  <VcCheckbox v-model="flags" value="feature-c">Feature C</VcCheckbox>
@@ -148,4 +135,3 @@ interface CheckboxGroupOption<V = string | number | boolean> {
148
135
  ## Skeleton / Loading State
149
136
 
150
137
  When placed inside a `VcBlade` with `loading=true`, the component renders a skeleton placeholder matching its shape — a control indicator and label block. No configuration needed.
151
-
@@ -22,7 +22,11 @@ The component follows the same prop interface as other vc-shell form fields (`IT
22
22
 
23
23
  ```vue
24
24
  <template>
25
- <VcColorInput v-model="color" label="Brand color" placeholder="Enter hex color..." />
25
+ <VcColorInput
26
+ v-model="color"
27
+ label="Brand color"
28
+ placeholder="Enter hex color..."
29
+ />
26
30
  </template>
27
31
 
28
32
  <script setup lang="ts">
@@ -35,15 +39,15 @@ const color = ref<string | null>(null);
35
39
 
36
40
  ## Key Props
37
41
 
38
- | Prop | Type | Default | Description |
39
- |------|------|---------|-------------|
40
- | `modelValue` | `string \| null` | `undefined` | Color value via `v-model` (hex string or CSS color name) |
41
- | `label` | `string` | -- | Label text above the field |
42
- | `placeholder` | `string` | -- | Placeholder text |
43
- | `clearable` | `boolean` | `false` | Shows a clear button when a value is present |
44
- | `size` | `"default" \| "small"` | `"default"` | Field height variant |
45
- | `error` / `errorMessage` | `boolean` / `string` | -- | Error styling and validation message |
46
- | `disabled` | `boolean` | `false` | Disables the input and color picker |
42
+ | Prop | Type | Default | Description |
43
+ | ------------------------ | ---------------------- | ----------- | -------------------------------------------------------- |
44
+ | `modelValue` | `string \| null` | `undefined` | Color value via `v-model` (hex string or CSS color name) |
45
+ | `label` | `string` | -- | Label text above the field |
46
+ | `placeholder` | `string` | -- | Placeholder text |
47
+ | `clearable` | `boolean` | `false` | Shows a clear button when a value is present |
48
+ | `size` | `"default" \| "small"` | `"default"` | Field height variant |
49
+ | `error` / `errorMessage` | `boolean` / `string` | -- | Error styling and validation message |
50
+ | `disabled` | `boolean` | `false` | Disables the input and color picker |
47
51
 
48
52
  ## Common Patterns
49
53
 
@@ -66,7 +70,10 @@ const color = ref<string | null>(null);
66
70
 
67
71
  ```vue
68
72
  <template>
69
- <VcColorInput v-model="color" label="Accent color" />
73
+ <VcColorInput
74
+ v-model="color"
75
+ label="Accent color"
76
+ />
70
77
  <!-- Accepts "#3b82f6", "#fff", "red", "cornflowerblue", etc. -->
71
78
  </template>
72
79
 
@@ -81,9 +88,20 @@ const color = ref("#3b82f6");
81
88
  ```vue
82
89
  <template>
83
90
  <div class="tw-flex tw-flex-col tw-gap-4">
84
- <VcInput v-model="category.name" label="Category Name" rules="required" />
85
- <VcColorInput v-model="category.badgeColor" label="Badge Color" clearable />
86
- <VcInput v-model="category.description" label="Description" />
91
+ <VcInput
92
+ v-model="category.name"
93
+ label="Category Name"
94
+ rules="required"
95
+ />
96
+ <VcColorInput
97
+ v-model="category.badgeColor"
98
+ label="Badge Color"
99
+ clearable
100
+ />
101
+ <VcInput
102
+ v-model="category.description"
103
+ label="Description"
104
+ />
87
105
  </div>
88
106
  </template>
89
107
  ```
@@ -95,8 +113,15 @@ You can use `VcInput` with `type="color"` instead of importing `VcColorInput` di
95
113
  ```vue
96
114
  <template>
97
115
  <!-- These are equivalent -->
98
- <VcInput type="color" v-model="color" label="Theme Color" />
99
- <VcColorInput v-model="color" label="Theme Color" />
116
+ <VcInput
117
+ type="color"
118
+ v-model="color"
119
+ label="Theme Color"
120
+ />
121
+ <VcColorInput
122
+ v-model="color"
123
+ label="Theme Color"
124
+ />
100
125
  </template>
101
126
  ```
102
127
 
@@ -106,12 +131,30 @@ You can use `VcInput` with `type="color"` instead of importing `VcColorInput` di
106
131
  <template>
107
132
  <h3>Theme Colors</h3>
108
133
  <div class="tw-grid tw-grid-cols-2 tw-gap-4">
109
- <VcColorInput v-model="theme.primary" label="Primary" />
110
- <VcColorInput v-model="theme.secondary" label="Secondary" />
111
- <VcColorInput v-model="theme.accent" label="Accent" />
112
- <VcColorInput v-model="theme.background" label="Background" />
113
- <VcColorInput v-model="theme.text" label="Text" />
114
- <VcColorInput v-model="theme.error" label="Error" />
134
+ <VcColorInput
135
+ v-model="theme.primary"
136
+ label="Primary"
137
+ />
138
+ <VcColorInput
139
+ v-model="theme.secondary"
140
+ label="Secondary"
141
+ />
142
+ <VcColorInput
143
+ v-model="theme.accent"
144
+ label="Accent"
145
+ />
146
+ <VcColorInput
147
+ v-model="theme.background"
148
+ label="Background"
149
+ />
150
+ <VcColorInput
151
+ v-model="theme.text"
152
+ label="Text"
153
+ />
154
+ <VcColorInput
155
+ v-model="theme.error"
156
+ label="Error"
157
+ />
115
158
  </div>
116
159
  </template>
117
160
  ```
@@ -155,4 +198,3 @@ The native color picker does not support alpha/transparency. If you need RGBA co
155
198
  ## Skeleton / Loading State
156
199
 
157
200
  When placed inside a `VcBlade` with `loading=true`, the component automatically renders a skeleton placeholder matching its visual footprint. No additional props or configuration needed.
158
-
@@ -20,7 +20,11 @@ A date and datetime picker that wraps the [VueDatePicker](https://vue3datepicker
20
20
 
21
21
  ```vue
22
22
  <template>
23
- <VcDatePicker v-model="date" label="Delivery date" placeholder="Pick a date..." />
23
+ <VcDatePicker
24
+ v-model="date"
25
+ label="Delivery date"
26
+ placeholder="Pick a date..."
27
+ />
24
28
  </template>
25
29
 
26
30
  <script setup lang="ts">
@@ -42,12 +46,7 @@ The `type` prop controls whether the picker shows a date-only calendar or includ
42
46
  <VcDatePicker v-model="startDate" label="Start date" />
43
47
 
44
48
  <!-- Date and time -->
45
- <VcDatePicker
46
- v-model="scheduledAt"
47
- type="datetime-local"
48
- label="Schedule publication"
49
- placeholder="Pick date and time..."
50
- />
49
+ <VcDatePicker v-model="scheduledAt" type="datetime-local" label="Schedule publication" placeholder="Pick date and time..." />
51
50
  ```
52
51
 
53
52
  In `datetime-local` mode, the time picker is rendered inline below the calendar. The component auto-detects whether to show 12-hour (AM/PM) or 24-hour format based on the browser's locale.
@@ -57,22 +56,17 @@ In `datetime-local` mode, the time picker is rendered inline below the calendar.
57
56
  When `clearable` is set, a small "x" button appears once a date is selected, allowing the user to reset the field to `null`.
58
57
 
59
58
  ```vue
60
- <VcDatePicker
61
- v-model="optionalDate"
62
- label="Expiration date"
63
- clearable
64
- hint="Leave empty for no expiration"
65
- />
59
+ <VcDatePicker v-model="optionalDate" label="Expiration date" clearable hint="Leave empty for no expiration" />
66
60
  ```
67
61
 
68
62
  ### Size Variants
69
63
 
70
64
  Two height variants are available:
71
65
 
72
- | Size | Value | Height |
73
- |------|-------|--------|
74
- | Default | `"default"` | 36px |
75
- | Small | `"small"` | 32px |
66
+ | Size | Value | Height |
67
+ | ------- | ----------- | ------ |
68
+ | Default | `"default"` | 36px |
69
+ | Small | `"small"` | 32px |
76
70
 
77
71
  ```vue
78
72
  <VcDatePicker v-model="date" label="Default size" size="default" />
@@ -144,19 +138,10 @@ const form = reactive({
144
138
  <VcDatePicker :model-value="new Date()" label="Created at" disabled />
145
139
 
146
140
  <!-- Error state -->
147
- <VcDatePicker
148
- v-model="date"
149
- label="Start date"
150
- :error="true"
151
- error-message="Start date is required"
152
- />
141
+ <VcDatePicker v-model="date" label="Start date" :error="true" error-message="Start date is required" />
153
142
 
154
143
  <!-- With hint text -->
155
- <VcDatePicker
156
- v-model="date"
157
- label="Delivery date"
158
- hint="Select a date within the next 30 days"
159
- />
144
+ <VcDatePicker v-model="date" label="Delivery date" hint="Select a date within the next 30 days" />
160
145
  ```
161
146
 
162
147
  ### Multilanguage Support
@@ -164,12 +149,7 @@ const form = reactive({
164
149
  Like other form fields, the date picker supports the multilanguage label indicator:
165
150
 
166
151
  ```vue
167
- <VcDatePicker
168
- v-model="localizedDate"
169
- label="Event date"
170
- multilanguage
171
- current-language="de-DE"
172
- />
152
+ <VcDatePicker v-model="localizedDate" label="Event date" multilanguage current-language="de-DE" />
173
153
  ```
174
154
 
175
155
  ## Recipes
@@ -297,52 +277,52 @@ const date = ref<Date | null>(new Date("2025-01-15"));
297
277
 
298
278
  ## Props
299
279
 
300
- | Prop | Type | Default | Description |
301
- |------|------|---------|-------------|
302
- | `modelValue` | `Date \| string \| null` | `undefined` | Bound value via `v-model` |
303
- | `type` | `"date" \| "datetime-local"` | `"date"` | Date only or date + time mode |
304
- | `label` | `string` | -- | Label text above the field |
305
- | `placeholder` | `string` | auto (localized) | Placeholder text; auto-generated from locale if not provided |
306
- | `hint` | `string` | -- | Helper text below the field |
307
- | `tooltip` | `string` | -- | Tooltip on the label info icon |
308
- | `clearable` | `boolean` | `false` | Shows a clear button when a date is selected |
309
- | `loading` | `boolean` | `false` | Shows a spinning loader icon |
310
- | `size` | `"default" \| "small"` | `"default"` | Field height variant |
311
- | `required` | `boolean` | `false` | Shows a required indicator |
312
- | `error` | `boolean` | `false` | Enables error styling |
313
- | `errorMessage` | `string` | -- | Error message below the field |
314
- | `disabled` | `boolean` | `false` | Disables the date picker |
315
- | `autofocus` | `boolean` | `false` | Focus the field on mount |
316
- | `name` | `string` | `"Field"` | HTML name attribute |
317
- | `multilanguage` | `boolean` | `false` | Shows language badge on the label |
318
- | `currentLanguage` | `string` | -- | Language code for the badge |
319
- | `datePickerOptions` | `VueDatePickerProps` | -- | Pass-through options to VueDatePicker |
280
+ | Prop | Type | Default | Description |
281
+ | ------------------- | ---------------------------- | ---------------- | ------------------------------------------------------------ |
282
+ | `modelValue` | `Date \| string \| null` | `undefined` | Bound value via `v-model` |
283
+ | `type` | `"date" \| "datetime-local"` | `"date"` | Date only or date + time mode |
284
+ | `label` | `string` | -- | Label text above the field |
285
+ | `placeholder` | `string` | auto (localized) | Placeholder text; auto-generated from locale if not provided |
286
+ | `hint` | `string` | -- | Helper text below the field |
287
+ | `tooltip` | `string` | -- | Tooltip on the label info icon |
288
+ | `clearable` | `boolean` | `false` | Shows a clear button when a date is selected |
289
+ | `loading` | `boolean` | `false` | Shows a spinning loader icon |
290
+ | `size` | `"default" \| "small"` | `"default"` | Field height variant |
291
+ | `required` | `boolean` | `false` | Shows a required indicator |
292
+ | `error` | `boolean` | `false` | Enables error styling |
293
+ | `errorMessage` | `string` | -- | Error message below the field |
294
+ | `disabled` | `boolean` | `false` | Disables the date picker |
295
+ | `autofocus` | `boolean` | `false` | Focus the field on mount |
296
+ | `name` | `string` | `"Field"` | HTML name attribute |
297
+ | `multilanguage` | `boolean` | `false` | Shows language badge on the label |
298
+ | `currentLanguage` | `string` | -- | Language code for the badge |
299
+ | `datePickerOptions` | `VueDatePickerProps` | -- | Pass-through options to VueDatePicker |
320
300
 
321
301
  ## Events
322
302
 
323
- | Event | Payload | Description |
324
- |-------|---------|-------------|
325
- | `update:modelValue` | `Date \| string \| null` | Emitted when the selected date changes |
326
- | `focus` | -- | Emitted when the picker gains focus or opens |
327
- | `blur` | `Event` | Emitted when the picker loses focus or closes |
303
+ | Event | Payload | Description |
304
+ | ------------------- | ------------------------ | --------------------------------------------- |
305
+ | `update:modelValue` | `Date \| string \| null` | Emitted when the selected date changes |
306
+ | `focus` | -- | Emitted when the picker gains focus or opens |
307
+ | `blur` | `Event` | Emitted when the picker loses focus or closes |
328
308
 
329
309
  ## CSS Variables
330
310
 
331
311
  Uses the same `--input-*` variables as VcInput for consistent styling across all input molecules:
332
312
 
333
- | Variable | Default | Description |
334
- |----------|---------|-------------|
335
- | `--input-height` | `36px` | Default field height |
336
- | `--input-height-small` | `32px` | Small variant field height |
337
- | `--input-border-radius` | `6px` | Corner radius |
338
- | `--input-border-color` | `var(--neutrals-300)` | Default border color |
339
- | `--input-border-color-focus` | `var(--primary-500)` | Focus border color |
340
- | `--input-border-color-error` | `var(--danger-500)` | Error border color |
341
- | `--input-background-color` | `var(--additional-50)` | Background color |
342
- | `--input-text-color` | `var(--neutrals-800)` | Text color |
343
- | `--input-placeholder-color` | `var(--neutrals-400)` | Placeholder color |
344
- | `--input-focus-ring-color` | `var(--primary-100)` | Focus ring color |
345
- | `--input-error-ring-color` | `var(--danger-100)` | Error ring color |
313
+ | Variable | Default | Description |
314
+ | ---------------------------- | ---------------------- | -------------------------- |
315
+ | `--input-height` | `36px` | Default field height |
316
+ | `--input-height-small` | `32px` | Small variant field height |
317
+ | `--input-border-radius` | `6px` | Corner radius |
318
+ | `--input-border-color` | `var(--neutrals-300)` | Default border color |
319
+ | `--input-border-color-focus` | `var(--primary-500)` | Focus border color |
320
+ | `--input-border-color-error` | `var(--danger-500)` | Error border color |
321
+ | `--input-background-color` | `var(--additional-50)` | Background color |
322
+ | `--input-text-color` | `var(--neutrals-800)` | Text color |
323
+ | `--input-placeholder-color` | `var(--neutrals-400)` | Placeholder color |
324
+ | `--input-focus-ring-color` | `var(--primary-100)` | Focus ring color |
325
+ | `--input-error-ring-color` | `var(--danger-100)` | Error ring color |
346
326
 
347
327
  ## Accessibility
348
328
 
@@ -365,4 +345,3 @@ Uses the same `--input-*` variables as VcInput for consistent styling across all
365
345
  When placed inside a `VcBlade` with `loading=true`, the component automatically renders a skeleton placeholder matching its visual footprint — a label block (when the `label` prop is set) and an input-shaped block. No additional props or configuration needed.
366
346
 
367
347
  This behavior is powered by `BladeLoadingKey` via Vue's provide/inject. The component injects the loading state from the nearest `VcBlade` ancestor.
368
-