@aleph-alpha/ui-library 1.14.0 → 1.16.0

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 (47) hide show
  1. package/config.d.ts +58 -6
  2. package/config.js +167 -5
  3. package/dist/system/index.d.ts +41 -53
  4. package/dist/system/lib.js +981 -988
  5. package/docs/public-docs/component-directory.md +13 -0
  6. package/docs/public-docs/contributing.md +11 -0
  7. package/docs/public-docs/external-links.md +16 -0
  8. package/docs/public-docs/foundations.md +25 -0
  9. package/docs/public-docs/getting-started-designers.md +17 -0
  10. package/docs/public-docs/index.md +5 -0
  11. package/docs/public-docs/quick-start.md +274 -0
  12. package/docs/public-docs/standards-guidelines.md +15 -0
  13. package/package.json +28 -10
  14. package/src/assets/fonts/Saans/Saans-Bold.woff2 +0 -0
  15. package/src/assets/fonts/Saans/Saans-BoldItalic.woff2 +0 -0
  16. package/src/assets/fonts/Saans/Saans-Heavy.woff2 +0 -0
  17. package/src/assets/fonts/Saans/Saans-HeavyItalic.woff2 +0 -0
  18. package/src/assets/fonts/Saans/Saans-Light.woff2 +0 -0
  19. package/src/assets/fonts/Saans/Saans-LightItalic.woff2 +0 -0
  20. package/src/assets/fonts/Saans/Saans-Medium.woff2 +0 -0
  21. package/src/assets/fonts/Saans/Saans-MediumItalic.woff2 +0 -0
  22. package/src/assets/fonts/Saans/Saans-Regular.woff2 +0 -0
  23. package/src/assets/fonts/Saans/Saans-RegularItalic.woff2 +0 -0
  24. package/src/assets/fonts/Saans/Saans-SemiBold.woff2 +0 -0
  25. package/src/assets/fonts/Saans/Saans-SemiBoldItalic.woff2 +0 -0
  26. package/src/assets/fonts/Saans/SaansItalicsVF.woff2 +0 -0
  27. package/src/assets/fonts/Saans/SaansMono-Bold.woff2 +0 -0
  28. package/src/assets/fonts/Saans/SaansMono-Heavy.woff2 +0 -0
  29. package/src/assets/fonts/Saans/SaansMono-Light.woff2 +0 -0
  30. package/src/assets/fonts/Saans/SaansMono-Medium.woff2 +0 -0
  31. package/src/assets/fonts/Saans/SaansMono-Regular.woff2 +0 -0
  32. package/src/assets/fonts/Saans/SaansMono-SemiBold.woff2 +0 -0
  33. package/src/assets/fonts/Saans/SaansMonoUprightsVF.woff2 +0 -0
  34. package/src/assets/fonts/Saans/SaansUprightsVF.woff2 +0 -0
  35. package/src/assets/fonts/Saans/SaansVF.woff2 +0 -0
  36. package/src/components/UiCalendar/UiCalendar.stories.ts +1 -4
  37. package/src/components/UiCalendar/types.ts +1 -1
  38. package/src/components/UiRangeCalendar/UiRangeCalendar.stories.ts +2 -4
  39. package/src/components/UiRangeCalendar/types.ts +1 -1
  40. package/src/components/UiSidebar/UiSidebar.stories.ts +179 -1
  41. package/src/components/UiSidebar/UiSidebarProvider.vue +1 -3
  42. package/src/components/UiSidebar/types.ts +6 -9
  43. package/src/components/UiStepper/UiStepper.stories.ts +1 -1
  44. package/src/components/core/calendar/Calendar.vue +1 -1
  45. package/src/components/core/range-calendar/RangeCalendar.vue +1 -1
  46. package/src/patterns/UiDatePicker/UiDatePicker.stories.ts +1 -4
  47. package/src/patterns/UiDatePicker/types.ts +1 -1
@@ -0,0 +1,13 @@
1
+ # Components
2
+
3
+ Explore the design system components: view variants, try them in isolation, and copy code for your app.
4
+
5
+ ---
6
+
7
+ ## Live playground (Storybook)
8
+
9
+ The easiest way to browse and try components and see detailed documentation on each component is Storybook. You can switch props, see states and sizes, see provided examples, etc.
10
+
11
+ **[Open Storybook →](https://dev.aleph-alpha.de/ui-library)**
12
+
13
+ More soon.
@@ -0,0 +1,11 @@
1
+ # Contributing
2
+
3
+ ---
4
+
5
+ ## Contribution Guidelines (Workflows & Diagrams)
6
+
7
+ Coming soon.
8
+
9
+ ## Support (Mattermost, FAQ, Office Hours)
10
+
11
+ Coming soon.
@@ -0,0 +1,16 @@
1
+ # External Links
2
+
3
+ Quick access to Design System resources.
4
+
5
+ ---
6
+
7
+ ## Coming soon
8
+
9
+ This page will provide:
10
+
11
+ | Resource | Description | Link |
12
+ |----------|-------------|------|
13
+ | 📘 **Storybook (Live Code)** | Live code and component playground | [Storybook](https://dev.aleph-alpha.de/ui-library) |
14
+ | 🎨 **Figma (Design System)** | Design system files | [Figma](https://www.figma.com/design/SrZQ19QVN1sQkuAMnMC746/AA26--WIP-?node-id=65-520&m=dev) |
15
+ | 🐙 **GitHub Repository** | Source code and issues | [GitHub](https://github.com/Aleph-Alpha/frontend-hub/tree/main/packages/ui-library) |
16
+
@@ -0,0 +1,25 @@
1
+ # Foundations
2
+
3
+ *Links to Storybook.*
4
+
5
+ ---
6
+
7
+ ## Color & Dark Mode
8
+
9
+ Coming soon.
10
+
11
+ ## Spacing & Grid
12
+
13
+ Coming soon.
14
+
15
+ ## Typography
16
+
17
+ Coming soon.
18
+
19
+ ## Elevation & Surfaces
20
+
21
+ Coming soon.
22
+
23
+ ## Iconography
24
+
25
+ Coming soon.
@@ -0,0 +1,17 @@
1
+ # Getting Started for Designers
2
+
3
+ ---
4
+
5
+ ## Figma Access & Library Links
6
+
7
+ Figma components and design files:
8
+
9
+ - **[AA Design System Components (Figma)](https://www.figma.com/design/SrZQ19QVN1sQkuAMnMC746/AA26--WIP-?node-id=580-9181&t=2HPn1uKWpFKHnrMR-1)** — component library and design system.
10
+
11
+ ## Using Design Tokens in Figma
12
+
13
+ Coming soon.
14
+
15
+ ## Link to Contribution Model
16
+
17
+ Coming soon.
@@ -0,0 +1,5 @@
1
+ # Overview
2
+
3
+ Coming soon.
4
+
5
+
@@ -0,0 +1,274 @@
1
+ # Quick Start
2
+
3
+ Get the UI library integrated into your project in under 5 minutes.
4
+
5
+ **Designers:** For Figma, design tokens, and the contribution model, see [Getting Started for Designers](getting-started-designers.md).
6
+
7
+ !!! note "Prerequisites"
8
+ - **Node.js** (>=20.19.0)
9
+ - **pnpm** or **npm**
10
+ - A **Vite + Vue 3** project
11
+ - **MCP (optional):** An editor that supports MCP (Cursor, VS Code, or Claude Code) if you want AI-assisted component discovery
12
+
13
+ ---
14
+
15
+ ## Installation
16
+
17
+ **1. Add the library and peer dependencies**
18
+
19
+ ```bash
20
+ pnpm add @aleph-alpha/ui-library
21
+ pnpm add -D unocss @unocss/preset-wind4 @unocss/reset unocss-preset-animations unocss-preset-shadcn
22
+ ```
23
+
24
+ <details>
25
+ <summary>Using npm?</summary>
26
+
27
+ ```bash
28
+ npm install @aleph-alpha/ui-library
29
+ npm install -D unocss @unocss/preset-wind4 @unocss/reset unocss-preset-animations unocss-preset-shadcn
30
+ ```
31
+ </details>
32
+
33
+ !!! warning "Use `@unocss/preset-wind4`, not `preset-wind3`"
34
+ The library requires **preset-wind4**. Using preset-wind3 will break hover states and colors because wind3 injects opacity variables (`/ var(--un-bg-opacity)`) that conflict with the library's oklch token values.
35
+
36
+ ---
37
+
38
+ ## Setup and configuration
39
+
40
+ ### 2. UnoCSS config
41
+
42
+ Create or update `uno.config.ts` in your project root:
43
+
44
+ ```typescript
45
+ // uno.config.ts
46
+ import { defineUiLibraryConfig } from '@aleph-alpha/ui-library/config'
47
+
48
+ export default defineUiLibraryConfig()
49
+ ```
50
+
51
+ This single call sets up everything: `presetWind4`, `presetAnimations`, `presetShadcn`, design token CSS variables (light/dark), token-based theme colors, semantic color overrides, typography classes, font loading, and content scanning.
52
+
53
+ To customize the theme:
54
+
55
+ ```typescript
56
+ // uno.config.ts
57
+ import { defineUiLibraryConfig } from '@aleph-alpha/ui-library/config'
58
+
59
+ export default defineUiLibraryConfig({
60
+ // Override specific theme variables
61
+ extend: { light: { primary: '#ff5500' } },
62
+ // Add your own presets
63
+ presets: [myCustomPreset()],
64
+ })
65
+ ```
66
+
67
+ More complete theme options example:
68
+
69
+ ```typescript
70
+ // uno.config.ts
71
+ import { defineUiLibraryConfig } from '@aleph-alpha/ui-library/config'
72
+
73
+ export default defineUiLibraryConfig({
74
+ // Root and dark selectors used for generated CSS variables
75
+ rootSelector: ':root',
76
+ darkSelector: 'html.dark',
77
+ // Include all token vars like --background-surface-secondary
78
+ includeAllTokens: true,
79
+ // Extend token-derived theme values
80
+ extend: {
81
+ light: {
82
+ primary: '#ff5500',
83
+ 'accent-default': '#b2d9ff',
84
+ },
85
+ dark: {
86
+ primary: '#ff8a3d',
87
+ },
88
+ },
89
+ })
90
+ ```
91
+
92
+ <details>
93
+ <summary>Advanced: manual preset composition</summary>
94
+
95
+ If you need full control over preset ordering, you can compose the presets individually:
96
+
97
+ ```typescript
98
+ // uno.config.ts
99
+ import { defineConfig } from 'unocss'
100
+ import {
101
+ getUiLibraryContentConfig,
102
+ presetUiLibraryThemeFromTokens,
103
+ presetUiLibraryUtils,
104
+ } from '@aleph-alpha/ui-library/config'
105
+ import presetWind from '@unocss/preset-wind4'
106
+ import presetAnimations from 'unocss-preset-animations'
107
+ import presetShadcn from 'unocss-preset-shadcn'
108
+
109
+ export default defineConfig({
110
+ ...getUiLibraryContentConfig(),
111
+ presets: [
112
+ presetWind(),
113
+ presetAnimations(),
114
+ presetShadcn({ color: 'neutral', darkSelector: 'html.dark' }),
115
+ // Must come AFTER presetShadcn
116
+ presetUiLibraryThemeFromTokens(),
117
+ presetUiLibraryUtils(),
118
+ ],
119
+ })
120
+ ```
121
+ </details>
122
+
123
+ ### 3. Vite config
124
+
125
+ Ensure your `vite.config.ts` includes both the Vue plugin and the UnoCSS Vite plugin:
126
+
127
+ ```typescript
128
+ // vite.config.ts
129
+ import { defineConfig } from 'vite'
130
+ import vue from '@vitejs/plugin-vue'
131
+ import UnoCSS from 'unocss/vite'
132
+
133
+ export default defineConfig({
134
+ plugins: [vue(), UnoCSS()],
135
+ })
136
+ ```
137
+
138
+ ### 4. Global styles and app entry
139
+
140
+ In your main entry (e.g. `main.ts`), import the UnoCSS reset and the generated CSS. These imports must run before your app mounts so that component styles apply everywhere.
141
+
142
+ ```typescript
143
+ // main.ts
144
+ import '@unocss/reset/tailwind.css'
145
+ import 'virtual:uno.css'
146
+
147
+ import { createApp } from 'vue'
148
+ import App from './App.vue'
149
+
150
+ createApp(App).mount('#app')
151
+ ```
152
+
153
+ ---
154
+
155
+ ## Test it
156
+
157
+ Use a component to confirm everything works:
158
+
159
+ ```vue
160
+ <script setup lang="ts">
161
+ import { UiButton, UiBadge } from '@aleph-alpha/ui-library'
162
+ </script>
163
+
164
+ <template>
165
+ <div class="min-h-screen bg-background text-foreground p-8">
166
+ <UiButton>Click me</UiButton>
167
+ <UiBadge variant="secondary">New</UiBadge>
168
+ </div>
169
+ </template>
170
+ ```
171
+
172
+ Run your dev server (e.g. `pnpm dev`) and open the app. The button and badge should render with the correct styles and colors matching [Storybook](https://dev.aleph-alpha.de/ui-library).
173
+
174
+ **If colors look wrong or hover states don't work:**
175
+
176
+ - Verify you're using `@unocss/preset-wind4` (not wind3) — check your `package.json`
177
+ - Verify `presetUiLibraryThemeFromTokens()` comes **after** `presetShadcn()` in the presets array
178
+ - Clear the Vite cache: `rm -rf node_modules/.vite && pnpm dev`
179
+
180
+ ---
181
+
182
+ ## Dark mode
183
+
184
+ The library supports dark mode via the `html.dark` class. Toggle it on the document element:
185
+
186
+ ```typescript
187
+ // Toggle dark mode
188
+ document.documentElement.classList.toggle('dark')
189
+ ```
190
+
191
+ Both `presetShadcn` and `presetUiLibraryThemeFromTokens` default to `darkSelector: 'html.dark'`, so CSS variables switch correctly out of the box.
192
+
193
+ ---
194
+
195
+ ## Config exports reference
196
+
197
+ All config functions are exported from `@aleph-alpha/ui-library/config`:
198
+
199
+ | Export | Description |
200
+ |--------|-------------|
201
+ | `defineUiLibraryConfig(options?)` | **Recommended.** Complete UnoCSS config with all presets, content scanning, fonts, and tokens. Options: `extend`, `darkSelector`, `presets`, `rules`, `shortcuts`, and any other UnoCSS config |
202
+ | `getUiLibraryContentConfig()` | UnoCSS content/pipeline config to scan library classes |
203
+ | `presetUiLibraryThemeFromTokens(options?)` | Token preset. Bundles token CSS variables, theme colors, semantic overrides, and typography classes. Options: `darkSelector` (default: `'html.dark'`), `includeAllTokens` (default: `true`), `extend`, `theme` |
204
+ | `presetUiLibraryUtils()` | Utility rules required by library components (`w-(--var)`, `h-(--var)`, etc.) |
205
+ | `presetUiLibraryTheme(theme, options?)` | Low-level preset with manually provided theme variables (for custom themes) |
206
+ | `getUiLibraryThemeFromTokens()` | Returns the raw theme object derived from `tokens.json` |
207
+ | `getUiLibraryTokenVars()` | Returns all token-based CSS variables for light and dark modes |
208
+ | `getUiLibraryTokenColors()` | Returns UnoCSS theme colors config for all token-based colors (included automatically by `presetUiLibraryThemeFromTokens`) |
209
+ | `getUiLibraryTypographyShortcuts()` | Returns typography class definitions as `[className, cssProperties]` tuples (included automatically by `presetUiLibraryThemeFromTokens`) |
210
+ | `defineThemeConfig(config)` | Type-safe helper for external theme config files |
211
+
212
+ ---
213
+
214
+ ## MCP Integration
215
+
216
+ Enable AI assistants (Cursor, Claude Code, etc.) to discover and use UI library components.
217
+
218
+ !!! warning "Run from your project directory"
219
+ Run the installer from the **project that uses the UI library** (your app root). It detects the root from the current working directory and writes `.mcp.json` or `.cursor/mcp.json` there. Running it from the wrong folder will use the wrong root or fail.
220
+
221
+ **1. Run the installer**
222
+
223
+ ```bash
224
+ npx @aleph-alpha/lib-mcp mcp-install
225
+ ```
226
+
227
+ **2. For Cursor**: add the Cursor-specific config:
228
+
229
+ ```bash
230
+ npx @aleph-alpha/lib-mcp mcp-install --cursor
231
+ ```
232
+
233
+ **3. Restart your editor** so it picks up the MCP server.
234
+
235
+ **Available tools:**
236
+
237
+ | Tool | Description |
238
+ |------|-------------|
239
+ | `list_components` | Browse all components, optionally filter by name/category/description |
240
+ | `get_component_docs` | Get full documentation for a component including props, examples, and usage |
241
+ | `get_setup_guide` | Get this setup guide (so AI assistants can configure projects correctly) |
242
+
243
+ ### Or add the server manually
244
+
245
+ If you prefer not to run the installer, add the MCP server yourself.
246
+
247
+ 1. **Where to put the config** (see your editor docs):
248
+
249
+ | Editor | Config location / docs |
250
+ |--------|------------------------|
251
+ | **Cursor** | [Using mcp.json](https://cursor.com/docs/context/mcp#using-mcpjson) — use `.cursor/mcp.json` in your project or `~/.cursor/mcp.json` globally |
252
+ | **VS Code** | [Add and manage MCP servers](https://code.visualstudio.com/docs/copilot/customization/mcp-servers#_configure-the-mcpjson-file) — use `.vscode/mcp.json` (workspace) or user config |
253
+ | **Claude Code** | [Add a local stdio server](https://code.claude.com/docs/en/mcp#option-3-add-a-local-stdio-server) — use `.mcp.json` in your project (project scope) |
254
+
255
+ 2. **Add this server** to your `mcpServers`:
256
+
257
+ ```json
258
+ {
259
+ "mcpServers": {
260
+ "ui-library": {
261
+ "command": "npx",
262
+ "args": ["-y", "@aleph-alpha/lib-mcp", "serve"]
263
+ }
264
+ }
265
+ }
266
+ ```
267
+
268
+ 3. **Restart your editor** so it picks up the MCP server.
269
+
270
+ ---
271
+
272
+ ## Contribute
273
+
274
+ To contribute to the UI library (guidelines, support, and how to get involved), see [Contributing](contributing.md).
@@ -0,0 +1,15 @@
1
+ # Standards & Guidelines
2
+
3
+ ---
4
+
5
+ ## Design Principles
6
+
7
+ Coming soon.
8
+
9
+ ## Dos and Don'ts (Visual Gallery)
10
+
11
+ Coming soon.
12
+
13
+ ## ♿ Accessibility (A11y) Standards
14
+
15
+ Coming soon.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aleph-alpha/ui-library",
3
- "version": "1.14.0",
3
+ "version": "1.16.0",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "main": "dist/system/lib.js",
@@ -22,7 +22,8 @@
22
22
  "config.js",
23
23
  "config.d.ts",
24
24
  "tailwind.preset.js",
25
- "tokens.json"
25
+ "tokens.json",
26
+ "docs/public-docs"
26
27
  ],
27
28
  "description": "Next-gen UI Library for Vue.js projects.",
28
29
  "author": "Aleph Alpha GmbH",
@@ -42,11 +43,11 @@
42
43
  "devDependencies": {
43
44
  "@faker-js/faker": "10.1.0",
44
45
  "@playwright/test": "1.57.0",
45
- "@storybook/addon-a11y": "^10.1.7",
46
- "@storybook/addon-docs": "^10.1.7",
47
- "@storybook/addon-themes": "^10.1.7",
48
- "@storybook/addon-vitest": "^10.1.7",
49
- "@storybook/vue3-vite": "^10.1.7",
46
+ "@storybook/addon-a11y": "10.2.17",
47
+ "@storybook/addon-docs": "10.2.17",
48
+ "@storybook/addon-themes": "10.2.17",
49
+ "@storybook/addon-vitest": "10.2.17",
50
+ "@storybook/vue3-vite": "10.2.17",
50
51
  "@testing-library/jest-dom": "^6.4.6",
51
52
  "@testing-library/vue": "^8.1.0",
52
53
  "@unocss/preset-wind3": "^66.5.10",
@@ -59,7 +60,7 @@
59
60
  "http-server": "14.1.1",
60
61
  "playwright": "^1.57.0",
61
62
  "postcss": "8.5.6",
62
- "storybook": "^10.1.7",
63
+ "storybook": "10.2.17",
63
64
  "typescript": "^5.2.2",
64
65
  "unocss": "66.4.1",
65
66
  "unocss-preset-animations": "1.3.0",
@@ -70,11 +71,28 @@
70
71
  "vitest": "^3.0.0",
71
72
  "vue-tsc": "^2.2.12",
72
73
  "wait-on": "9.0.3",
73
- "@aleph-alpha/config-css": "0.20.0",
74
- "@aleph-alpha/eslint-config-frontend": "0.4.0",
75
74
  "@aleph-alpha/prettier-config-frontend": "0.4.0",
75
+ "@aleph-alpha/eslint-config-frontend": "0.5.0",
76
+ "@aleph-alpha/config-css": "0.21.0",
76
77
  "@aleph-alpha/tsconfig-frontend": "0.5.0"
77
78
  },
79
+ "peerDependencies": {
80
+ "unocss": ">=66.0.0",
81
+ "@unocss/preset-wind4": ">=66.0.0",
82
+ "unocss-preset-animations": ">=1.0.0",
83
+ "unocss-preset-shadcn": ">=1.0.0"
84
+ },
85
+ "peerDependenciesMeta": {
86
+ "@unocss/preset-wind4": {
87
+ "optional": true
88
+ },
89
+ "unocss-preset-animations": {
90
+ "optional": true
91
+ },
92
+ "unocss-preset-shadcn": {
93
+ "optional": true
94
+ }
95
+ },
78
96
  "dependencies": {
79
97
  "@floating-ui/vue": "1.1.9",
80
98
  "@internationalized/date": "^3.10.1",
@@ -31,7 +31,7 @@ const meta: Meta<typeof UiCalendar> = {
31
31
  weekStartsOn: {
32
32
  control: 'select',
33
33
  options: [0, 1, 2, 3, 4, 5, 6],
34
- description: 'The day of the week to start on. 0 = Sunday, 1 = Monday, etc.',
34
+ description: 'The day of the week to start on. 0 is the locale default first day.',
35
35
  },
36
36
  numberOfMonths: {
37
37
  control: { type: 'number', min: 1, max: 3 },
@@ -392,7 +392,6 @@ const date = ref<DateValue>()
392
392
  <UiCalendar
393
393
  v-model="date"
394
394
  locale="de"
395
- :week-starts-on="1"
396
395
  weekday-format="short"
397
396
  class="rounded-md border shadow-sm"
398
397
  />
@@ -405,7 +404,6 @@ const date = ref<DateValue>()
405
404
  export const GermanLocale: Story = {
406
405
  args: {
407
406
  locale: 'de',
408
- weekStartsOn: 1,
409
407
  weekdayFormat: 'short',
410
408
  },
411
409
  render: (args) => ({
@@ -419,7 +417,6 @@ export const GermanLocale: Story = {
419
417
  v-model="date"
420
418
  :default-placeholder="placeholder"
421
419
  :locale="args.locale"
422
- :week-starts-on="args.weekStartsOn"
423
420
  :weekday-format="args.weekdayFormat"
424
421
  :disabled="args.disabled"
425
422
  class="rounded-md border shadow-sm"
@@ -105,7 +105,7 @@ export interface UiCalendarProps {
105
105
 
106
106
  /**
107
107
  * The day of the week to start on.
108
- * @default 0 (Sunday)
108
+ * @default 0
109
109
  */
110
110
  weekStartsOn?: UiCalendarWeekStartsOn;
111
111
 
@@ -30,7 +30,7 @@ const meta: Meta<typeof UiRangeCalendar> = {
30
30
  weekStartsOn: {
31
31
  control: 'select',
32
32
  options: [0, 1, 2, 3, 4, 5, 6],
33
- description: 'The day of the week to start on. 0 = Sunday, 1 = Monday, etc.',
33
+ description: 'The day of the week to start on. 0 is the locale default first day.',
34
34
  },
35
35
  numberOfMonths: {
36
36
  control: { type: 'number', min: 1, max: 3 },
@@ -337,7 +337,7 @@ const dateRange = ref<DateRange>()
337
337
  </script>
338
338
 
339
339
  <template>
340
- <UiRangeCalendar v-model="dateRange" locale="de" :week-starts-on="1" weekday-format="short" class="rounded-md border shadow-sm" />
340
+ <UiRangeCalendar v-model="dateRange" locale="de" weekday-format="short" class="rounded-md border shadow-sm" />
341
341
  </template>`;
342
342
 
343
343
  /**
@@ -347,7 +347,6 @@ const dateRange = ref<DateRange>()
347
347
  export const GermanLocale: Story = {
348
348
  args: {
349
349
  locale: 'de',
350
- weekStartsOn: 1,
351
350
  weekdayFormat: 'short',
352
351
  },
353
352
  render: (args) => ({
@@ -361,7 +360,6 @@ export const GermanLocale: Story = {
361
360
  v-model="dateRange"
362
361
  :default-placeholder="placeholder"
363
362
  :locale="args.locale"
364
- :week-starts-on="args.weekStartsOn"
365
363
  :weekday-format="args.weekdayFormat"
366
364
  :disabled="args.disabled"
367
365
  class="rounded-md border shadow-sm"
@@ -90,7 +90,7 @@ export interface UiRangeCalendarProps {
90
90
 
91
91
  /**
92
92
  * The day of the week to start on.
93
- * @default 0 (Sunday)
93
+ * @default 0
94
94
  */
95
95
  weekStartsOn?: UiRangeCalendarWeekStartsOn;
96
96