@vc-shell/vc-app-skill 2.0.0-alpha.33 → 2.0.0-alpha.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +78 -54
- package/README.md +42 -12
- package/package.json +4 -4
- package/runtime/VERSION +1 -1
- package/runtime/agents/api-analyzer.md +31 -16
- package/runtime/agents/blade-enhancer.md +15 -9
- package/runtime/agents/details-blade-generator.md +47 -31
- package/runtime/agents/list-blade-generator.md +21 -37
- package/runtime/agents/locales-generator.md +3 -0
- package/runtime/agents/migration-agent.md +18 -7
- package/runtime/agents/module-analyzer.md +2 -0
- package/runtime/agents/module-assembler.md +15 -0
- package/runtime/agents/promote-agent.md +15 -4
- package/runtime/agents/type-checker.md +11 -0
- package/runtime/knowledge/docs/_BUILD_HASH.md +1 -1
- package/runtime/knowledge/docs/core/api/platform.docs.md +30 -30
- package/runtime/knowledge/docs/core/blade-navigation/blade-nav-composables.docs.md +41 -41
- package/runtime/knowledge/docs/core/composables/bladeContext/index.docs.md +12 -10
- package/runtime/knowledge/docs/core/composables/useApiClient/useApiClient.docs.md +11 -14
- package/runtime/knowledge/docs/core/composables/useAppBarMobileButtons/useAppBarMobileButtons.docs.md +35 -35
- package/runtime/knowledge/docs/core/composables/useAppBarWidget/useAppBarWidget.docs.md +35 -35
- package/runtime/knowledge/docs/core/composables/useAppInsights/useAppInsights.docs.md +15 -15
- package/runtime/knowledge/docs/core/composables/useAssets/useAssets.docs.md +21 -18
- package/runtime/knowledge/docs/core/composables/useAssetsManager/useAssetsManager.docs.md +28 -24
- package/runtime/knowledge/docs/core/composables/useAsync/useAsync.docs.md +90 -61
- package/runtime/knowledge/docs/core/composables/useBeforeUnload/useBeforeUnload.docs.md +19 -18
- package/runtime/knowledge/docs/core/composables/useBlade/useBlade.docs.md +89 -68
- package/runtime/knowledge/docs/core/composables/useBladeForm/useBladeForm.docs.md +27 -25
- package/runtime/knowledge/docs/core/composables/useBladeRegistry/useBladeRegistry.docs.md +15 -15
- package/runtime/knowledge/docs/core/composables/useBladeWidgets/index.docs.md +43 -47
- package/runtime/knowledge/docs/core/composables/useBreadcrumbs/useBreadcrumbs.docs.md +11 -11
- package/runtime/knowledge/docs/core/composables/useConnectionStatus/useConnectionStatus.docs.md +27 -15
- package/runtime/knowledge/docs/core/composables/useDashboard/useDashboard.docs.md +30 -30
- package/runtime/knowledge/docs/core/composables/useDynamicProperties/useDynamicProperties.docs.md +34 -36
- package/runtime/knowledge/docs/core/composables/useErrorHandler/useErrorHandler.docs.md +44 -23
- package/runtime/knowledge/docs/core/composables/useFunctions/useFunctions.docs.md +14 -11
- package/runtime/knowledge/docs/core/composables/useKeyboardNavigation/useKeyboardNavigation.docs.md +47 -38
- package/runtime/knowledge/docs/core/composables/useLanguages/useLanguages.docs.md +37 -28
- package/runtime/knowledge/docs/core/composables/useLoading/useLoading.docs.md +23 -17
- package/runtime/knowledge/docs/core/composables/useMenuExpanded/index.docs.md +9 -9
- package/runtime/knowledge/docs/core/composables/useMenuService/useMenuService.docs.md +42 -42
- package/runtime/knowledge/docs/core/composables/useModificationTracker/useModificationTracker.docs.md +22 -12
- package/runtime/knowledge/docs/core/composables/useNotifications/useNotifications.docs.md +33 -41
- package/runtime/knowledge/docs/core/composables/usePermissions/usePermissions.docs.md +16 -16
- package/runtime/knowledge/docs/core/composables/usePlatformLocaleSync/usePlatformLocaleSync.docs.md +28 -0
- package/runtime/knowledge/docs/core/composables/usePopup/usePopup.docs.md +32 -24
- package/runtime/knowledge/docs/core/composables/useResponsive/useResponsive.docs.md +32 -11
- package/runtime/knowledge/docs/core/composables/useSettings/useSettings.docs.md +22 -13
- package/runtime/knowledge/docs/core/composables/useSettingsMenu/useSettingsMenu.docs.md +7 -7
- package/runtime/knowledge/docs/core/composables/useSidebarState/useSidebarState.docs.md +32 -24
- package/runtime/knowledge/docs/core/composables/useSlowNetworkDetection/useSlowNetworkDetection.docs.md +21 -17
- package/runtime/knowledge/docs/core/composables/useTheme/useTheme.docs.md +24 -24
- package/runtime/knowledge/docs/core/composables/useToolbar/useToolbar.docs.md +28 -31
- package/runtime/knowledge/docs/core/composables/useUser/useUser.docs.md +43 -24
- package/runtime/knowledge/docs/core/composables/useUserManagement/useUserManagement.docs.md +68 -48
- package/runtime/knowledge/docs/core/composables/useWebVitals/useWebVitals.docs.md +19 -19
- package/runtime/knowledge/docs/core/composables/useWidgets/useWidgets.docs.md +42 -47
- package/runtime/knowledge/docs/core/directives/autofocus/autofocus.docs.md +10 -4
- package/runtime/knowledge/docs/core/directives/loading/loading.docs.md +35 -20
- package/runtime/knowledge/docs/core/notifications/notifications.docs.md +36 -35
- package/runtime/knowledge/docs/core/plugins/ai-agent/ai-agent.docs.md +38 -38
- package/runtime/knowledge/docs/core/plugins/extension-points/extension-points.docs.md +79 -62
- package/runtime/knowledge/docs/core/plugins/global-error-handler/global-error-handler.docs.md +10 -10
- package/runtime/knowledge/docs/core/plugins/i18n/i18n.docs.md +21 -23
- package/runtime/knowledge/docs/core/plugins/modularity/modularity.docs.md +91 -83
- package/runtime/knowledge/docs/core/plugins/permissions/permissions.docs.md +10 -16
- package/runtime/knowledge/docs/core/plugins/signalR/signalR.docs.md +9 -9
- package/runtime/knowledge/docs/core/plugins/validation/validation.docs.md +65 -22
- package/runtime/knowledge/docs/core/services/services.docs.md +19 -22
- package/runtime/knowledge/docs/core/types/types.docs.md +40 -40
- package/runtime/knowledge/docs/core/utilities/date/date-utilities.docs.md +27 -27
- package/runtime/knowledge/docs/core/utilities/shared-utilities.docs.md +23 -23
- package/runtime/knowledge/docs/core/utilities/thumbnail/thumbnail.docs.md +22 -25
- package/runtime/knowledge/docs/core/utilities/utilities.docs.md +64 -64
- package/runtime/knowledge/docs/injection-keys.docs.md +52 -51
- package/runtime/knowledge/docs/modules/assets-manager/assets-manager.docs.md +9 -9
- package/runtime/knowledge/docs/shell/_internal/popup/common/popup-common.docs.md +23 -43
- package/runtime/knowledge/docs/shell/auth/ChangePasswordPage/change-password-page.docs.md +5 -5
- package/runtime/knowledge/docs/shell/auth/ForgotPasswordPage/forgot-password-page.docs.md +5 -5
- package/runtime/knowledge/docs/shell/auth/InvitePage/invite-page.docs.md +8 -7
- package/runtime/knowledge/docs/shell/auth/LoginPage/login-page.docs.md +7 -7
- package/runtime/knowledge/docs/shell/auth/ResetPasswordPage/reset-password-page.docs.md +8 -7
- package/runtime/knowledge/docs/shell/auth/sign-in/sign-in.docs.md +29 -13
- package/runtime/knowledge/docs/shell/components/change-password/change-password.docs.md +13 -16
- package/runtime/knowledge/docs/shell/components/change-password-button/change-password-button.docs.md +1 -7
- package/runtime/knowledge/docs/shell/components/error-interceptor/error-interceptor.docs.md +5 -5
- package/runtime/knowledge/docs/shell/components/language-selector/language-selector.docs.md +1 -1
- package/runtime/knowledge/docs/shell/components/logout-button/logout-button.docs.md +1 -1
- package/runtime/knowledge/docs/shell/components/notification-template/notification-template.docs.md +17 -9
- package/runtime/knowledge/docs/shell/components/settings-menu/settings-menu.docs.md +11 -17
- package/runtime/knowledge/docs/shell/components/settings-menu-item/settings-menu-item.docs.md +34 -65
- package/runtime/knowledge/docs/shell/components/sidebar/sidebar.docs.md +16 -26
- package/runtime/knowledge/docs/shell/components/theme-selector/theme-selector.docs.md +2 -2
- package/runtime/knowledge/docs/shell/components/user-dropdown-button/user-dropdown-button.docs.md +7 -9
- package/runtime/knowledge/docs/shell/dashboard/dashboard-charts/dashboard-charts.docs.md +30 -40
- package/runtime/knowledge/docs/shell/dashboard/dashboard-widget-card/dashboard-widget-card.docs.md +26 -19
- package/runtime/knowledge/docs/shell/dashboard/draggable-dashboard/draggable-dashboard.docs.md +15 -12
- package/runtime/knowledge/docs/ui/components/atoms/vc-badge/vc-badge.docs.md +15 -26
- package/runtime/knowledge/docs/ui/components/atoms/vc-banner/vc-banner.docs.md +21 -19
- package/runtime/knowledge/docs/ui/components/atoms/vc-button/vc-button.docs.md +83 -67
- package/runtime/knowledge/docs/ui/components/atoms/vc-card/vc-card.docs.md +100 -59
- package/runtime/knowledge/docs/ui/components/atoms/vc-col/vc-col.docs.md +28 -11
- package/runtime/knowledge/docs/ui/components/atoms/vc-container/vc-container.docs.md +20 -17
- package/runtime/knowledge/docs/ui/components/atoms/vc-hint/vc-hint.docs.md +26 -17
- package/runtime/knowledge/docs/ui/components/atoms/vc-icon/vc-icon.docs.md +30 -32
- package/runtime/knowledge/docs/ui/components/atoms/vc-image/vc-image.docs.md +25 -48
- package/runtime/knowledge/docs/ui/components/atoms/vc-label/vc-label.docs.md +29 -24
- package/runtime/knowledge/docs/ui/components/atoms/vc-link/vc-link.docs.md +23 -15
- package/runtime/knowledge/docs/ui/components/atoms/vc-loading/vc-loading.docs.md +22 -13
- package/runtime/knowledge/docs/ui/components/atoms/vc-progress/vc-progress.docs.md +33 -18
- package/runtime/knowledge/docs/ui/components/atoms/vc-row/vc-row.docs.md +56 -15
- package/runtime/knowledge/docs/ui/components/atoms/vc-scrollable-container/vc-scrollable-container.docs.md +28 -15
- package/runtime/knowledge/docs/ui/components/atoms/vc-skeleton/vc-skeleton.docs.md +40 -20
- package/runtime/knowledge/docs/ui/components/atoms/vc-status/vc-status.docs.md +25 -14
- package/runtime/knowledge/docs/ui/components/atoms/vc-status-icon/vc-status-icon.docs.md +40 -14
- package/runtime/knowledge/docs/ui/components/atoms/vc-tooltip/vc-tooltip.docs.md +54 -42
- package/runtime/knowledge/docs/ui/components/atoms/vc-video/vc-video.docs.md +17 -17
- package/runtime/knowledge/docs/ui/components/atoms/vc-widget/vc-widget.docs.md +21 -21
- package/runtime/knowledge/docs/ui/components/molecules/multilanguage-selector/multilanguage-selector.docs.md +23 -10
- package/runtime/knowledge/docs/ui/components/molecules/vc-accordion/vc-accordion.docs.md +55 -44
- package/runtime/knowledge/docs/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.docs.md +23 -20
- package/runtime/knowledge/docs/ui/components/molecules/vc-checkbox/vc-checkbox.docs.md +92 -65
- package/runtime/knowledge/docs/ui/components/molecules/vc-checkbox-group/vc-checkbox-group.docs.md +22 -36
- package/runtime/knowledge/docs/ui/components/molecules/vc-color-input/vc-color-input.docs.md +65 -23
- package/runtime/knowledge/docs/ui/components/molecules/vc-date-picker/vc-date-picker.docs.md +52 -73
- package/runtime/knowledge/docs/ui/components/molecules/vc-dropdown/vc-dropdown.docs.md +91 -85
- package/runtime/knowledge/docs/ui/components/molecules/vc-dropdown-panel/vc-dropdown-panel.docs.md +38 -42
- package/runtime/knowledge/docs/ui/components/molecules/vc-editor/vc-editor.docs.md +56 -73
- package/runtime/knowledge/docs/ui/components/molecules/vc-field/vc-field.docs.md +61 -27
- package/runtime/knowledge/docs/ui/components/molecules/vc-file-upload/vc-file-upload.docs.md +42 -50
- package/runtime/knowledge/docs/ui/components/molecules/vc-form/vc-form.docs.md +35 -64
- package/runtime/knowledge/docs/ui/components/molecules/vc-image-tile/vc-image-tile.docs.md +38 -41
- package/runtime/knowledge/docs/ui/components/molecules/vc-input/vc-input.docs.md +109 -131
- package/runtime/knowledge/docs/ui/components/molecules/vc-input-currency/vc-input-currency.docs.md +47 -88
- package/runtime/knowledge/docs/ui/components/molecules/vc-input-dropdown/vc-input-dropdown.docs.md +50 -64
- package/runtime/knowledge/docs/ui/components/molecules/vc-input-group/vc-input-group.docs.md +29 -24
- package/runtime/knowledge/docs/ui/components/molecules/vc-menu/vc-menu.docs.md +32 -28
- package/runtime/knowledge/docs/ui/components/molecules/vc-multivalue/vc-multivalue.docs.md +57 -65
- package/runtime/knowledge/docs/ui/components/molecules/vc-pagination/vc-pagination.docs.md +28 -26
- package/runtime/knowledge/docs/ui/components/molecules/vc-radio-button/vc-radio-button.docs.md +55 -20
- package/runtime/knowledge/docs/ui/components/molecules/vc-radio-group/vc-radio-group.docs.md +21 -35
- package/runtime/knowledge/docs/ui/components/molecules/vc-rating/vc-rating.docs.md +38 -33
- package/runtime/knowledge/docs/ui/components/molecules/vc-select/vc-select.docs.md +72 -83
- package/runtime/knowledge/docs/ui/components/molecules/vc-slider/vc-slider.docs.md +21 -16
- package/runtime/knowledge/docs/ui/components/molecules/vc-switch/vc-switch.docs.md +55 -64
- package/runtime/knowledge/docs/ui/components/molecules/vc-textarea/vc-textarea.docs.md +51 -70
- package/runtime/knowledge/docs/ui/components/molecules/vc-toast/vc-toast.docs.md +58 -57
- package/runtime/knowledge/docs/ui/components/organisms/vc-app/vc-app.docs.md +49 -26
- package/runtime/knowledge/docs/ui/components/organisms/vc-auth-layout/vc-auth-layout.docs.md +82 -28
- package/runtime/knowledge/docs/ui/components/organisms/vc-blade/vc-blade.docs.md +90 -75
- package/runtime/knowledge/docs/ui/components/organisms/vc-data-table/composables/table-composables.docs.md +99 -48
- package/runtime/knowledge/docs/ui/components/organisms/vc-data-table/vc-data-table.docs.md +548 -367
- package/runtime/knowledge/docs/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.docs.md +35 -52
- package/runtime/knowledge/docs/ui/components/organisms/vc-gallery/vc-gallery.docs.md +33 -62
- package/runtime/knowledge/docs/ui/components/organisms/vc-image-upload/vc-image-upload.docs.md +17 -23
- package/runtime/knowledge/docs/ui/components/organisms/vc-popup/vc-popup.docs.md +109 -68
- package/runtime/knowledge/docs/ui/components/organisms/vc-sidebar/vc-sidebar.docs.md +82 -44
- package/runtime/knowledge/docs/ui/composables/ui-composables.docs.md +8 -8
- package/runtime/knowledge/docs/ui/composables/useDataTablePagination.docs.md +164 -0
- package/runtime/knowledge/docs/ui/composables/useDataTableSort.docs.md +34 -26
- package/runtime/knowledge/docs/ui/composables/useTableSelection.docs.md +48 -40
- package/runtime/knowledge/docs/ui/composables/useTableSort.docs.md +30 -17
- package/runtime/knowledge/docs/ui/types/ui-types.docs.md +40 -29
- package/runtime/knowledge/examples/offers-module.md +15 -13
- package/runtime/knowledge/examples/team-module.md +82 -119
- package/runtime/knowledge/examples/videos-module.md +44 -17
- package/runtime/knowledge/index.md +22 -0
- package/runtime/knowledge/migration-prompts/blade-form-migration.md +17 -8
- package/runtime/knowledge/migration-prompts/blade-props-migration.md +1 -2
- package/runtime/knowledge/migration-prompts/datatable-migration.md +801 -0
- package/runtime/knowledge/migration-prompts/icon-migration.md +97 -0
- package/runtime/knowledge/migration-prompts/manual-migration-audit.md +117 -0
- package/runtime/knowledge/migration-prompts/notifications-migration.md +8 -3
- package/runtime/knowledge/migration-prompts/nswag-migration.md +25 -29
- package/runtime/knowledge/migration-prompts/use-assets-migration.md +164 -0
- package/runtime/knowledge/migration-prompts/use-data-table-pagination-migration.md +176 -0
- package/runtime/knowledge/migration-prompts/widgets-migration.md +48 -27
- package/runtime/knowledge/patterns/assets-management.md +20 -20
- package/runtime/knowledge/patterns/blade-navigation.md +7 -14
- package/runtime/knowledge/patterns/blade-widget.md +19 -17
- package/runtime/knowledge/patterns/child-blade-flow.md +19 -7
- package/runtime/knowledge/patterns/composable-details.md +20 -50
- package/runtime/knowledge/patterns/composable-list.md +43 -31
- package/runtime/knowledge/patterns/dashboard-widget.md +14 -16
- package/runtime/knowledge/patterns/datatable-pattern.md +521 -0
- package/runtime/knowledge/patterns/details-blade-pattern.md +78 -116
- package/runtime/knowledge/patterns/extension-points-usage.md +53 -44
- package/runtime/knowledge/patterns/form-validation.md +28 -64
- package/runtime/knowledge/patterns/list-blade-pattern.md +33 -21
- package/runtime/knowledge/patterns/module-structure.md +7 -1
- package/runtime/knowledge/patterns/multilanguage-fields.md +8 -14
- package/runtime/knowledge/patterns/notification-template.md +21 -14
- package/runtime/knowledge/patterns/signalr-notifications.md +30 -32
- package/runtime/knowledge/patterns/toolbar-pattern.md +18 -20
- package/runtime/vc-app.md +241 -62
|
@@ -18,7 +18,10 @@ A toggle switch component for binary on/off choices. Renders as a sliding track
|
|
|
18
18
|
|
|
19
19
|
```vue
|
|
20
20
|
<template>
|
|
21
|
-
<VcSwitch
|
|
21
|
+
<VcSwitch
|
|
22
|
+
v-model="isEnabled"
|
|
23
|
+
label="Enable feature"
|
|
24
|
+
/>
|
|
22
25
|
</template>
|
|
23
26
|
|
|
24
27
|
<script setup lang="ts">
|
|
@@ -36,12 +39,7 @@ const isEnabled = ref(false);
|
|
|
36
39
|
The `label` prop renders text above the switch. Use `hint` for helper text below the track, and `labelTooltip` for an info icon on the label itself.
|
|
37
40
|
|
|
38
41
|
```vue
|
|
39
|
-
<VcSwitch
|
|
40
|
-
v-model="settings.darkMode"
|
|
41
|
-
label="Dark mode"
|
|
42
|
-
hint="Changes take effect immediately"
|
|
43
|
-
label-tooltip="Applies to the admin panel only"
|
|
44
|
-
/>
|
|
42
|
+
<VcSwitch v-model="settings.darkMode" label="Dark mode" hint="Changes take effect immediately" label-tooltip="Applies to the admin panel only" />
|
|
45
43
|
```
|
|
46
44
|
|
|
47
45
|
> **Important:** The `tooltip` prop is deprecated. It previously rendered as hint text below the switch (not as a true tooltip). Use `hint` for text below the switch, or `labelTooltip` for the label info icon. A console warning is emitted in development mode if `tooltip` is used.
|
|
@@ -52,12 +50,7 @@ By default, `v-model` maps `true` to the checked (on) state and `false` to unche
|
|
|
52
50
|
|
|
53
51
|
```vue
|
|
54
52
|
<!-- Data model: isHidden=true means the item is NOT visible -->
|
|
55
|
-
<VcSwitch
|
|
56
|
-
v-model="product.isHidden"
|
|
57
|
-
label="Visible on storefront"
|
|
58
|
-
:true-value="false"
|
|
59
|
-
:false-value="true"
|
|
60
|
-
/>
|
|
53
|
+
<VcSwitch v-model="product.isHidden" label="Visible on storefront" :true-value="false" :false-value="true" />
|
|
61
54
|
```
|
|
62
55
|
|
|
63
56
|
When `trueValue` is `false`, the switch shows as "on" when `modelValue` is `false`, which lets you present affirmative labels ("Visible") even when the underlying boolean is negative ("isHidden").
|
|
@@ -109,12 +102,7 @@ const form = reactive({
|
|
|
109
102
|
<VcSwitch :model-value="false" label="Unavailable feature" disabled />
|
|
110
103
|
|
|
111
104
|
<!-- Error state -->
|
|
112
|
-
<VcSwitch
|
|
113
|
-
v-model="value"
|
|
114
|
-
label="Accept terms"
|
|
115
|
-
:error="true"
|
|
116
|
-
error-message="You must accept the terms"
|
|
117
|
-
/>
|
|
105
|
+
<VcSwitch v-model="value" label="Accept terms" :error="true" error-message="You must accept the terms" />
|
|
118
106
|
```
|
|
119
107
|
|
|
120
108
|
### In a Settings Form
|
|
@@ -127,14 +115,23 @@ Switches work well stacked in settings panels:
|
|
|
127
115
|
<VcRow>
|
|
128
116
|
<VcCol size="6">
|
|
129
117
|
<div class="tw-space-y-4">
|
|
130
|
-
<VcSwitch
|
|
131
|
-
|
|
118
|
+
<VcSwitch
|
|
119
|
+
v-model="settings.emailNotifications"
|
|
120
|
+
label="Email notifications"
|
|
121
|
+
/>
|
|
122
|
+
<VcSwitch
|
|
123
|
+
v-model="settings.pushNotifications"
|
|
124
|
+
label="Push notifications"
|
|
125
|
+
/>
|
|
132
126
|
<VcSwitch
|
|
133
127
|
v-model="settings.marketingEmails"
|
|
134
128
|
label="Marketing emails"
|
|
135
129
|
hint="Receive news about promotions and updates"
|
|
136
130
|
/>
|
|
137
|
-
<VcSwitch
|
|
131
|
+
<VcSwitch
|
|
132
|
+
v-model="settings.twoFactorAuth"
|
|
133
|
+
label="Two-factor authentication"
|
|
134
|
+
/>
|
|
138
135
|
</div>
|
|
139
136
|
</VcCol>
|
|
140
137
|
</VcRow>
|
|
@@ -179,12 +176,7 @@ Use a switch to show or hide additional fields dynamically:
|
|
|
179
176
|
```vue
|
|
180
177
|
<VcSwitch v-model="hasExpiration" label="Set expiration date" />
|
|
181
178
|
|
|
182
|
-
<VcDatePicker
|
|
183
|
-
v-if="hasExpiration"
|
|
184
|
-
v-model="expirationDate"
|
|
185
|
-
label="Expiration date"
|
|
186
|
-
required
|
|
187
|
-
/>
|
|
179
|
+
<VcDatePicker v-if="hasExpiration" v-model="expirationDate" label="Expiration date" required />
|
|
188
180
|
```
|
|
189
181
|
|
|
190
182
|
## Common Mistakes
|
|
@@ -235,52 +227,52 @@ const isActive = ref(true);
|
|
|
235
227
|
|
|
236
228
|
## Props
|
|
237
229
|
|
|
238
|
-
| Prop
|
|
239
|
-
|
|
240
|
-
| `modelValue`
|
|
241
|
-
| `label`
|
|
242
|
-
| `hint`
|
|
243
|
-
| `labelTooltip` | `string`
|
|
244
|
-
| `tooltip`
|
|
245
|
-
| `trueValue`
|
|
246
|
-
| `falseValue`
|
|
247
|
-
| `disabled`
|
|
248
|
-
| `required`
|
|
249
|
-
| `error`
|
|
250
|
-
| `errorMessage` | `string`
|
|
251
|
-
| `name`
|
|
230
|
+
| Prop | Type | Default | Description |
|
|
231
|
+
| -------------- | ---------------------- | ------- | ---------------------------------------------------- |
|
|
232
|
+
| `modelValue` | `boolean \| undefined` | -- | Bound value via `v-model` |
|
|
233
|
+
| `label` | `string` | -- | Label text above the switch |
|
|
234
|
+
| `hint` | `string` | -- | Helper text displayed below the switch |
|
|
235
|
+
| `labelTooltip` | `string` | -- | Tooltip shown on the label info icon |
|
|
236
|
+
| `tooltip` | `string` | -- | **Deprecated.** Use `hint` or `labelTooltip` instead |
|
|
237
|
+
| `trueValue` | `boolean` | `true` | Value that represents the checked state |
|
|
238
|
+
| `falseValue` | `boolean` | `false` | Value that represents the unchecked state |
|
|
239
|
+
| `disabled` | `boolean` | `false` | Disables the switch |
|
|
240
|
+
| `required` | `boolean` | `false` | Shows a required indicator on the label |
|
|
241
|
+
| `error` | `boolean` | `false` | Enables error styling |
|
|
242
|
+
| `errorMessage` | `string` | -- | Error message displayed below the switch |
|
|
243
|
+
| `name` | `string` | -- | HTML name attribute for the hidden input |
|
|
252
244
|
|
|
253
245
|
## Events
|
|
254
246
|
|
|
255
|
-
| Event
|
|
256
|
-
|
|
247
|
+
| Event | Payload | Description |
|
|
248
|
+
| ------------------- | ---------------------- | ---------------------------------- |
|
|
257
249
|
| `update:modelValue` | `boolean \| undefined` | Emitted when the switch is toggled |
|
|
258
250
|
|
|
259
251
|
## Slots
|
|
260
252
|
|
|
261
|
-
| Slot
|
|
262
|
-
|
|
253
|
+
| Slot | Description |
|
|
254
|
+
| ------- | ----------------------------------------------------------------- |
|
|
263
255
|
| `error` | Custom error message markup. Replaces the default `VcHint` error. |
|
|
264
256
|
|
|
265
257
|
## CSS Variables
|
|
266
258
|
|
|
267
|
-
| Variable
|
|
268
|
-
|
|
269
|
-
| `--switch-width`
|
|
270
|
-
| `--switch-height`
|
|
271
|
-
| `--switch-thumb-size`
|
|
272
|
-
| `--switch-translate`
|
|
273
|
-
| `--switch-active-color`
|
|
274
|
-
| `--switch-inactive-color`
|
|
275
|
-
| `--switch-hover-active-color`
|
|
276
|
-
| `--switch-hover-inactive-color` | `var(--neutrals-400)`
|
|
277
|
-
| `--switch-thumb-color`
|
|
278
|
-
| `--switch-thumb-shadow`
|
|
279
|
-
| `--switch-focus-ring-color`
|
|
280
|
-
| `--switch-error-ring-color`
|
|
281
|
-
| `--switch-error-border-color`
|
|
282
|
-
| `--switch-border-radius`
|
|
283
|
-
| `--switch-disabled-opacity`
|
|
259
|
+
| Variable | Default | Description |
|
|
260
|
+
| ------------------------------- | --------------------------- | ---------------------------------- |
|
|
261
|
+
| `--switch-width` | `36px` | Track width |
|
|
262
|
+
| `--switch-height` | `20px` | Track height |
|
|
263
|
+
| `--switch-thumb-size` | `16px` | Thumb diameter |
|
|
264
|
+
| `--switch-translate` | `16px` | Thumb travel distance when checked |
|
|
265
|
+
| `--switch-active-color` | `var(--primary-500)` | Track color when checked |
|
|
266
|
+
| `--switch-inactive-color` | `var(--neutrals-300)` | Track color when unchecked |
|
|
267
|
+
| `--switch-hover-active-color` | `var(--primary-600)` | Hover track color when checked |
|
|
268
|
+
| `--switch-hover-inactive-color` | `var(--neutrals-400)` | Hover track color when unchecked |
|
|
269
|
+
| `--switch-thumb-color` | `var(--additional-50)` | Thumb background color |
|
|
270
|
+
| `--switch-thumb-shadow` | `0 1px 3px rgba(0,0,0,0.1)` | Thumb box shadow |
|
|
271
|
+
| `--switch-focus-ring-color` | `var(--primary-100)` | Focus ring color |
|
|
272
|
+
| `--switch-error-ring-color` | `var(--danger-100)` | Error ring color |
|
|
273
|
+
| `--switch-error-border-color` | `var(--danger-500)` | Error border color |
|
|
274
|
+
| `--switch-border-radius` | `9999px` | Track border radius |
|
|
275
|
+
| `--switch-disabled-opacity` | `0.5` | Opacity when disabled |
|
|
284
276
|
|
|
285
277
|
## Accessibility
|
|
286
278
|
|
|
@@ -302,4 +294,3 @@ const isActive = ref(true);
|
|
|
302
294
|
## Skeleton / Loading State
|
|
303
295
|
|
|
304
296
|
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.
|
|
305
|
-
|
|
@@ -17,7 +17,11 @@ A multi-line text input field for entering and editing large blocks of text. Pro
|
|
|
17
17
|
|
|
18
18
|
```vue
|
|
19
19
|
<template>
|
|
20
|
-
<VcTextarea
|
|
20
|
+
<VcTextarea
|
|
21
|
+
v-model="description"
|
|
22
|
+
label="Description"
|
|
23
|
+
placeholder="Enter description..."
|
|
24
|
+
/>
|
|
21
25
|
</template>
|
|
22
26
|
|
|
23
27
|
<script setup lang="ts">
|
|
@@ -35,12 +39,7 @@ const description = ref("");
|
|
|
35
39
|
Set `maxlength` to restrict the number of characters. The browser enforces the limit natively on the `<textarea>` element.
|
|
36
40
|
|
|
37
41
|
```vue
|
|
38
|
-
<VcTextarea
|
|
39
|
-
v-model="bio"
|
|
40
|
-
label="Short bio"
|
|
41
|
-
maxlength="200"
|
|
42
|
-
hint="Maximum 200 characters"
|
|
43
|
-
/>
|
|
42
|
+
<VcTextarea v-model="bio" label="Short bio" maxlength="200" hint="Maximum 200 characters" />
|
|
44
43
|
```
|
|
45
44
|
|
|
46
45
|
> **Tip:** Combine `maxlength` with a `hint` slot to show a live character counter if your form requires one.
|
|
@@ -50,12 +49,7 @@ Set `maxlength` to restrict the number of characters. The browser enforces the l
|
|
|
50
49
|
Use `hint` for helper text below the field, and `tooltip` for an info icon on the label.
|
|
51
50
|
|
|
52
51
|
```vue
|
|
53
|
-
<VcTextarea
|
|
54
|
-
v-model="notes"
|
|
55
|
-
label="Internal notes"
|
|
56
|
-
hint="These notes are visible only to administrators"
|
|
57
|
-
tooltip="Will not appear on the public storefront"
|
|
58
|
-
/>
|
|
52
|
+
<VcTextarea v-model="notes" label="Internal notes" hint="These notes are visible only to administrators" tooltip="Will not appear on the public storefront" />
|
|
59
53
|
```
|
|
60
54
|
|
|
61
55
|
When an error message is present, the hint is automatically hidden and replaced by the error message. The transition between them is animated.
|
|
@@ -65,13 +59,7 @@ When an error message is present, the hint is automatically hidden and replaced
|
|
|
65
59
|
When editing translatable content, enable the language badge on the label:
|
|
66
60
|
|
|
67
61
|
```vue
|
|
68
|
-
<VcTextarea
|
|
69
|
-
v-model="localizedDescription"
|
|
70
|
-
label="Description"
|
|
71
|
-
multilanguage
|
|
72
|
-
current-language="en-US"
|
|
73
|
-
placeholder="Enter description in English..."
|
|
74
|
-
/>
|
|
62
|
+
<VcTextarea v-model="localizedDescription" label="Description" multilanguage current-language="en-US" placeholder="Enter description in English..." />
|
|
75
63
|
```
|
|
76
64
|
|
|
77
65
|
### Validation with vee-validate Field
|
|
@@ -119,12 +107,7 @@ const form = reactive({
|
|
|
119
107
|
<VcTextarea v-model="value" label="Read-only notes" disabled />
|
|
120
108
|
|
|
121
109
|
<!-- Error state -->
|
|
122
|
-
<VcTextarea
|
|
123
|
-
v-model="value"
|
|
124
|
-
label="Comments"
|
|
125
|
-
:error="true"
|
|
126
|
-
error-message="Comments must not be empty"
|
|
127
|
-
/>
|
|
110
|
+
<VcTextarea v-model="value" label="Comments" :error="true" error-message="Comments must not be empty" />
|
|
128
111
|
```
|
|
129
112
|
|
|
130
113
|
## Recipes
|
|
@@ -139,7 +122,11 @@ A typical product-editing blade with a description textarea and character limit:
|
|
|
139
122
|
<VcContainer>
|
|
140
123
|
<VcRow>
|
|
141
124
|
<VcCol size="8">
|
|
142
|
-
<VcInput
|
|
125
|
+
<VcInput
|
|
126
|
+
v-model="product.name"
|
|
127
|
+
label="Product name"
|
|
128
|
+
required
|
|
129
|
+
/>
|
|
143
130
|
</VcCol>
|
|
144
131
|
</VcRow>
|
|
145
132
|
<VcRow>
|
|
@@ -174,12 +161,7 @@ A typical product-editing blade with a description textarea and character limit:
|
|
|
174
161
|
Override the default error rendering with the `error` slot:
|
|
175
162
|
|
|
176
163
|
```vue
|
|
177
|
-
<VcTextarea
|
|
178
|
-
v-model="value"
|
|
179
|
-
label="JSON payload"
|
|
180
|
-
:error="!!jsonError"
|
|
181
|
-
:error-message="jsonError"
|
|
182
|
-
>
|
|
164
|
+
<VcTextarea v-model="value" label="JSON payload" :error="!!jsonError" :error-message="jsonError">
|
|
183
165
|
<template #error>
|
|
184
166
|
<div class="tw-flex tw-items-center tw-gap-1 tw-text-[color:var(--danger-500)] tw-text-xs tw-mt-1">
|
|
185
167
|
<VcIcon icon="lucide-alert-triangle" size="xs" />
|
|
@@ -239,57 +221,57 @@ const description = ref<string>("");
|
|
|
239
221
|
|
|
240
222
|
## Props
|
|
241
223
|
|
|
242
|
-
| Prop
|
|
243
|
-
|
|
244
|
-
| `modelValue`
|
|
245
|
-
| `label`
|
|
246
|
-
| `placeholder`
|
|
247
|
-
| `hint`
|
|
248
|
-
| `tooltip`
|
|
249
|
-
| `maxlength`
|
|
250
|
-
| `required`
|
|
251
|
-
| `error`
|
|
252
|
-
| `errorMessage`
|
|
253
|
-
| `disabled`
|
|
254
|
-
| `name`
|
|
255
|
-
| `multilanguage`
|
|
256
|
-
| `currentLanguage` | `string`
|
|
224
|
+
| Prop | Type | Default | Description |
|
|
225
|
+
| ----------------- | --------- | ----------- | ----------------------------------------------- |
|
|
226
|
+
| `modelValue` | `string` | `undefined` | Bound value via `v-model` |
|
|
227
|
+
| `label` | `string` | -- | Label text displayed above the textarea |
|
|
228
|
+
| `placeholder` | `string` | -- | Placeholder text inside the empty textarea |
|
|
229
|
+
| `hint` | `string` | -- | Helper text displayed below the field |
|
|
230
|
+
| `tooltip` | `string` | -- | Tooltip on the label info icon |
|
|
231
|
+
| `maxlength` | `string` | `"1024"` | Maximum character count (native HTML attribute) |
|
|
232
|
+
| `required` | `boolean` | `false` | Shows a required indicator on the label |
|
|
233
|
+
| `error` | `boolean` | `false` | Enables error styling (red border + ring) |
|
|
234
|
+
| `errorMessage` | `string` | -- | Error message text below the field |
|
|
235
|
+
| `disabled` | `boolean` | `false` | Disables the textarea |
|
|
236
|
+
| `name` | `string` | `"Field"` | HTML name attribute |
|
|
237
|
+
| `multilanguage` | `boolean` | `false` | Shows language badge on the label |
|
|
238
|
+
| `currentLanguage` | `string` | -- | Language code displayed in the badge |
|
|
257
239
|
|
|
258
240
|
## Events
|
|
259
241
|
|
|
260
|
-
| Event
|
|
261
|
-
|
|
242
|
+
| Event | Payload | Description |
|
|
243
|
+
| ------------------- | --------------------- | -------------------------------- |
|
|
262
244
|
| `update:modelValue` | `string \| undefined` | Emitted on every input keystroke |
|
|
263
245
|
|
|
264
246
|
## Slots
|
|
265
247
|
|
|
266
|
-
| Slot
|
|
267
|
-
|
|
248
|
+
| Slot | Description |
|
|
249
|
+
| ------- | ----------------------------------------------------------------- |
|
|
268
250
|
| `error` | Custom error message markup. Replaces the default `VcHint` error. |
|
|
269
|
-
| `hint`
|
|
251
|
+
| `hint` | Custom hint text markup. Replaces the default `VcHint`. |
|
|
270
252
|
|
|
271
253
|
## Exposed Methods
|
|
272
254
|
|
|
273
|
-
| Method
|
|
274
|
-
|
|
255
|
+
| Method | Description |
|
|
256
|
+
| --------- | -------------------------------------------------------- |
|
|
275
257
|
| `focus()` | Programmatically focuses the native `<textarea>` element |
|
|
276
258
|
|
|
277
259
|
## CSS Variables
|
|
278
260
|
|
|
279
|
-
| Variable
|
|
280
|
-
|
|
281
|
-
| `--textarea-height`
|
|
282
|
-
| `--textarea-border-color`
|
|
283
|
-
| `--textarea-border-color-focus`
|
|
284
|
-
| `--textarea-border-color-error`
|
|
285
|
-
| `--textarea-border-radius`
|
|
286
|
-
| `--textarea-background-color`
|
|
287
|
-
| `--textarea-text-color`
|
|
288
|
-
| `--textarea-text-color-error`
|
|
289
|
-
| `--textarea-placeholder-color`
|
|
290
|
-
| `--textarea-focus-ring-color`
|
|
291
|
-
| `--textarea-error-ring-color`
|
|
292
|
-
| `--textarea-disabled-text-color` | `var(--neutrals-500)` | Text color when disabled
|
|
261
|
+
| Variable | Default | Description |
|
|
262
|
+
| -------------------------------- | --------------------- | ------------------------------ |
|
|
263
|
+
| `--textarea-height` | `120px` | Minimum height of the textarea |
|
|
264
|
+
| `--textarea-border-color` | `var(--neutrals-300)` | Default border color |
|
|
265
|
+
| `--textarea-border-color-focus` | `var(--primary-500)` | Border color on focus |
|
|
266
|
+
| `--textarea-border-color-error` | `var(--danger-500)` | Border color in error state |
|
|
267
|
+
| `--textarea-border-radius` | `6px` | Corner radius |
|
|
268
|
+
| `--textarea-background-color` | `transparent` | Background color |
|
|
269
|
+
| `--textarea-text-color` | `var(--neutrals-800)` | Text color |
|
|
270
|
+
| `--textarea-text-color-error` | `var(--danger-500)` | Text color in error state |
|
|
271
|
+
| `--textarea-placeholder-color` | `var(--neutrals-400)` | Placeholder text color |
|
|
272
|
+
| `--textarea-focus-ring-color` | `var(--primary-100)` | Focus ring color |
|
|
273
|
+
| `--textarea-error-ring-color` | `var(--danger-100)` | Error ring color |
|
|
274
|
+
| `--textarea-disabled-text-color` | `var(--neutrals-500)` | Text color when disabled |
|
|
293
275
|
|
|
294
276
|
## Accessibility
|
|
295
277
|
|
|
@@ -311,4 +293,3 @@ const description = ref<string>("");
|
|
|
311
293
|
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.
|
|
312
294
|
|
|
313
295
|
This behavior is powered by `BladeLoadingKey` via Vue's provide/inject. The component injects the loading state from the nearest `VcBlade` ancestor.
|
|
314
|
-
|
|
@@ -10,6 +10,7 @@ Toast notification component with type-based styling, auto-dismiss timer, swipe-
|
|
|
10
10
|
- Rich notifications with custom component content
|
|
11
11
|
|
|
12
12
|
When NOT to use:
|
|
13
|
+
|
|
13
14
|
- For persistent alerts or banners -- use a dedicated alert component
|
|
14
15
|
- For inline field validation -- use `VcHint` or form-level error display
|
|
15
16
|
- For modal confirmations requiring user action -- use a dialog/modal
|
|
@@ -48,9 +49,9 @@ notification.error("Network error. Please try again.");
|
|
|
48
49
|
notification.warning("You have unsaved changes");
|
|
49
50
|
|
|
50
51
|
// With options
|
|
51
|
-
notification("Quick note", { timeout: 2000 });
|
|
52
|
-
notification("Please wait...", { timeout: false });
|
|
53
|
-
notification("Hover me", { pauseOnHover: true });
|
|
52
|
+
notification("Quick note", { timeout: 2000 }); // Dismiss after 2 seconds
|
|
53
|
+
notification("Please wait...", { timeout: false }); // Persistent (no auto-dismiss)
|
|
54
|
+
notification("Hover me", { pauseOnHover: true }); // Pause timer on hover (default)
|
|
54
55
|
```
|
|
55
56
|
|
|
56
57
|
Each call returns a unique `id` that can be used to update or remove the notification later.
|
|
@@ -99,11 +100,11 @@ Available positions: `"top-center"`, `"top-right"`, `"top-left"`, `"bottom-cente
|
|
|
99
100
|
|
|
100
101
|
Each type displays a distinct icon and colored left accent border.
|
|
101
102
|
|
|
102
|
-
| Type
|
|
103
|
-
|
|
104
|
-
| `default` | Info circle
|
|
105
|
-
| `success` | Check circle
|
|
106
|
-
| `error`
|
|
103
|
+
| Type | Icon | Accent Color | Use Case |
|
|
104
|
+
| --------- | -------------- | ------------------------ | ---------------------------- |
|
|
105
|
+
| `default` | Info circle | `--notification-info` | General information |
|
|
106
|
+
| `success` | Check circle | `--notification-success` | Successful operations |
|
|
107
|
+
| `error` | Alert circle | `--notification-error` | Failed operations, errors |
|
|
107
108
|
| `warning` | Alert triangle | `--notification-warning` | Caution, destructive actions |
|
|
108
109
|
|
|
109
110
|
### Custom Component Content
|
|
@@ -176,11 +177,11 @@ function deleteItem(item: { id: string; name: string }) {
|
|
|
176
177
|
softDelete(item.id);
|
|
177
178
|
const UndoContent = defineComponent({
|
|
178
179
|
setup() {
|
|
179
|
-
const undo = () => {
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
]);
|
|
180
|
+
const undo = () => {
|
|
181
|
+
restoreItem(item.id);
|
|
182
|
+
notification.remove(notifId);
|
|
183
|
+
};
|
|
184
|
+
return () => h("div", { class: "tw-flex tw-gap-3" }, [h("span", `"${item.name}" deleted.`), h("button", { class: "tw-text-[color:var(--primary-600)] tw-underline", onClick: undo }, "Undo")]);
|
|
184
185
|
},
|
|
185
186
|
});
|
|
186
187
|
const notifId = notification(UndoContent, { timeout: 8000, pauseOnHover: true });
|
|
@@ -228,60 +229,60 @@ notification("Please wait...", { timeout: false });
|
|
|
228
229
|
|
|
229
230
|
These props are used internally by the notification system. You rarely need to set them directly.
|
|
230
231
|
|
|
231
|
-
| Prop
|
|
232
|
-
|
|
233
|
-
| `content`
|
|
234
|
-
| `notificationId` | `number \| string`
|
|
235
|
-
| `updateId`
|
|
236
|
-
| `type`
|
|
237
|
-
| `timeout`
|
|
238
|
-
| `pauseOnHover`
|
|
239
|
-
| `limit`
|
|
240
|
-
| `position`
|
|
241
|
-
| `dismissing`
|
|
242
|
-
| `toastIndex`
|
|
243
|
-
| `toastsCount`
|
|
244
|
-
| `expanded`
|
|
245
|
-
| `visibleToasts`
|
|
246
|
-
| `onReportHeight` | `(id, height) => void`
|
|
232
|
+
| Prop | Type | Default | Description |
|
|
233
|
+
| ---------------- | ------------------------------------------------ | -------------- | ------------------------------------------------------ |
|
|
234
|
+
| `content` | `string \| Component` | -- | Notification message or custom component |
|
|
235
|
+
| `notificationId` | `number \| string` | -- | Unique identifier |
|
|
236
|
+
| `updateId` | `number \| string` | -- | ID for update tracking |
|
|
237
|
+
| `type` | `"default" \| "success" \| "error" \| "warning"` | `"default"` | Notification type (determines icon and accent color) |
|
|
238
|
+
| `timeout` | `number \| boolean` | `5000` | Auto-dismiss delay in ms, or `false` to disable |
|
|
239
|
+
| `pauseOnHover` | `boolean` | `true` | Pause timeout while mouse hovers over the toast |
|
|
240
|
+
| `limit` | `number` | -- | Maximum number of visible notifications |
|
|
241
|
+
| `position` | `NotificationPosition` | `"top-center"` | Screen position for the toast |
|
|
242
|
+
| `dismissing` | `boolean` | -- | Programmatic dismissal trigger |
|
|
243
|
+
| `toastIndex` | `number` | `0` | Stack index (0 = front/newest) |
|
|
244
|
+
| `toastsCount` | `number` | -- | Total number of toasts in the position stack |
|
|
245
|
+
| `expanded` | `boolean` | `true` | Whether the toast group is in expanded (hovered) state |
|
|
246
|
+
| `visibleToasts` | `number` | `3` | Maximum visible toasts in collapsed stack |
|
|
247
|
+
| `onReportHeight` | `(id, height) => void` | -- | Callback to report measured height to container |
|
|
247
248
|
|
|
248
249
|
## Events
|
|
249
250
|
|
|
250
|
-
| Event
|
|
251
|
-
|
|
251
|
+
| Event | Payload | Description |
|
|
252
|
+
| ------- | ------------------------------- | -------------------------------------------------- |
|
|
252
253
|
| `close` | `number \| string \| undefined` | Toast dismissed (by user click, timeout, or swipe) |
|
|
253
254
|
|
|
254
255
|
## Notification Service Methods
|
|
255
256
|
|
|
256
|
-
| Method
|
|
257
|
-
|
|
258
|
-
| `notification()`
|
|
259
|
-
| `notification.success()`
|
|
260
|
-
| `notification.error()`
|
|
261
|
-
| `notification.warning()`
|
|
262
|
-
| `notification.update()`
|
|
263
|
-
| `notification.remove()`
|
|
264
|
-
| `notification.clearAll()`
|
|
265
|
-
| `notification.setPosition()` | `(position: NotificationPosition) => void`
|
|
257
|
+
| Method | Signature | Description |
|
|
258
|
+
| ---------------------------- | ----------------------------------------------------------------------------------- | ------------------------------- |
|
|
259
|
+
| `notification()` | `(message: string \| Component, options?: NotificationOptions) => string \| number` | Show a default notification |
|
|
260
|
+
| `notification.success()` | `(message: string \| Component) => string \| number` | Show a success notification |
|
|
261
|
+
| `notification.error()` | `(message: string \| Component) => string \| number` | Show an error notification |
|
|
262
|
+
| `notification.warning()` | `(message: string \| Component) => string \| number` | Show a warning notification |
|
|
263
|
+
| `notification.update()` | `(id, options: Partial<NotificationOptions>) => void` | Update an existing notification |
|
|
264
|
+
| `notification.remove()` | `(id: string \| number) => void` | Remove a specific notification |
|
|
265
|
+
| `notification.clearAll()` | `() => void` | Remove all notifications |
|
|
266
|
+
| `notification.setPosition()` | `(position: NotificationPosition) => void` | Change the global position |
|
|
266
267
|
|
|
267
268
|
## CSS Variables
|
|
268
269
|
|
|
269
|
-
| Variable
|
|
270
|
-
|
|
271
|
-
| `--notification-background`
|
|
272
|
-
| `--notification-border-radius`
|
|
273
|
-
| `--notification-border-color`
|
|
274
|
-
| `--notification-content-color`
|
|
275
|
-
| `--notification-shadow`
|
|
276
|
-
| `--notification-hover-shadow`
|
|
277
|
-
| `--notification-dismiss-color`
|
|
278
|
-
| `--notification-dismiss-hover-color` | `var(--neutrals-600)`
|
|
279
|
-
| `--notification-success`
|
|
280
|
-
| `--notification-error`
|
|
281
|
-
| `--notification-warning`
|
|
282
|
-
| `--notification-info`
|
|
283
|
-
| `--notification-accent-width`
|
|
284
|
-
| `--notification-focus-ring-color`
|
|
270
|
+
| Variable | Default | Description |
|
|
271
|
+
| ------------------------------------ | ----------------------------- | ---------------------------------- |
|
|
272
|
+
| `--notification-background` | `var(--additional-50)` | Toast background color |
|
|
273
|
+
| `--notification-border-radius` | `6px` | Corner radius |
|
|
274
|
+
| `--notification-border-color` | `var(--neutrals-200)` | Border color |
|
|
275
|
+
| `--notification-content-color` | `var(--neutrals-800)` | Text color |
|
|
276
|
+
| `--notification-shadow` | `0 4px 12px rgba(0,0,0,0.08)` | Default box shadow |
|
|
277
|
+
| `--notification-hover-shadow` | `0 4px 16px rgba(0,0,0,0.12)` | Box shadow on hover |
|
|
278
|
+
| `--notification-dismiss-color` | `var(--neutrals-400)` | Dismiss button icon color |
|
|
279
|
+
| `--notification-dismiss-hover-color` | `var(--neutrals-600)` | Dismiss button hover color |
|
|
280
|
+
| `--notification-success` | `var(--success-500)` | Success accent and icon color |
|
|
281
|
+
| `--notification-error` | `var(--danger-500)` | Error accent and icon color |
|
|
282
|
+
| `--notification-warning` | `var(--warning-500)` | Warning accent and icon color |
|
|
283
|
+
| `--notification-info` | `var(--info-500)` | Info/default accent and icon color |
|
|
284
|
+
| `--notification-accent-width` | `3px` | Left accent border width |
|
|
285
|
+
| `--notification-focus-ring-color` | `var(--primary-100)` | Focus ring color on dismiss button |
|
|
285
286
|
|
|
286
287
|
## Accessibility
|
|
287
288
|
|