diff --git a/.changeset/dark-mode-follows-system.md b/.changeset/dark-mode-follows-system.md
deleted file mode 100644
index 249057d..0000000
--- a/.changeset/dark-mode-follows-system.md
+++ /dev/null
@@ -1,16 +0,0 @@
----
-'@wirecore/wirelayer-tokens': minor
-'@wirecore/wirelayer-css': minor
-'@wirecore/wirelayer-vue': patch
-'@wirecore/wirelayer-react': patch
----
-
-**Behavior change:** without `data-mode` the page now follows the system setting (`prefers-color-scheme`) instead
-of always being light. `data-mode="light"` or `data-mode="dark"` forces a mode as before, also for a part of the page
-(a forced light part stays light on a dark system).
-
-- The `dark:` variant follows the same rules, and so do the dark colors of the built-in themes and of custom themes
- generated with `themeToCss`.
-- Charts (Chart, ChartCanvas, Sparkline) recolor when the system setting changes.
-- Apps that relied on "no attribute = light" and want to keep it: set `data-mode="light"` on ``. Apps that set
- `data-mode` from `prefers-color-scheme` with JavaScript can drop that.
diff --git a/.changeset/datatable-csv-separator.md b/.changeset/datatable-csv-separator.md
deleted file mode 100644
index 8211290..0000000
--- a/.changeset/datatable-csv-separator.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-'@wirecore/wirelayer-recipes': minor
-'@wirecore/wirelayer-vue': minor
-'@wirecore/wirelayer-react': minor
-'@wirecore/wirelayer-native': minor
----
-
-DataTable: new prop `csvSeparator` for the CSV export, also for the built-in export button. By default the separator
-now follows the locale like a spreadsheet does (`csvSeparator(locale)` from the recipes): `;` where numbers have a
-decimal comma (de-DE, fr-FR …), `,` otherwise (en-US …). Before, it was always `;`. `exportCsv({ separator })` still
-wins over both.
diff --git a/.changeset/datatable-feature-modules.md b/.changeset/datatable-feature-modules.md
deleted file mode 100644
index 9faa76c..0000000
--- a/.changeset/datatable-feature-modules.md
+++ /dev/null
@@ -1,22 +0,0 @@
----
-'@wirecore/wirelayer-vue': minor
-'@wirecore/wirelayer-react': minor
----
-
-**Breaking:** DataTable feature modules. Parts of the DataTable that bring a lot of code along are imported on their own
-and passed in `features` – a minimal table is about a fifth smaller (gzip), and `@tanstack/vue-virtual` or
-`@tanstack/react-virtual` is only needed for virtual rows.
-
-- `virtual` needs the feature `virtualRows` from `/virtual`; without it all rows are rendered (with a hint in
- development).
-- Date and number filters and editors use the browser's inputs; the DatePicker and NumberInput come with the features
- `dateInput` and `numberInput` from `/data-table`.
-
-```tsx
-import { DataTable, dateInput, numberInput } from '@wirecore/wirelayer-react/data-table'; // or -vue
-import { virtualRows } from '@wirecore/wirelayer-react/virtual';
-
-const features = [virtualRows, dateInput, numberInput];
-
-;
-```
diff --git a/.changeset/docs-english-default.md b/.changeset/docs-english-default.md
deleted file mode 100644
index 736de27..0000000
--- a/.changeset/docs-english-default.md
+++ /dev/null
@@ -1,10 +0,0 @@
----
-'@wirecore/wirelayer-mcp': patch
-'@wirecore/wirelayer-vue': patch
-'@wirecore/wirelayer-react': patch
-'@wirecore/wirelayer-native': patch
-'@wirecore/wirelayer-recipes': patch
----
-
-Documentation says English is the default language, as it is in the code: `useLocale` and the MCP server/`llms.txt`
-no longer claim German without a `LocaleProvider`.
diff --git a/.changeset/german-language-module.md b/.changeset/german-language-module.md
deleted file mode 100644
index d6263d0..0000000
--- a/.changeset/german-language-module.md
+++ /dev/null
@@ -1,21 +0,0 @@
----
-'@wirecore/wirelayer-recipes': minor
-'@wirecore/wirelayer-vue': minor
-'@wirecore/wirelayer-react': minor
-'@wirecore/wirelayer-native': minor
----
-
-**Breaking:** German is a language module like French or Spanish and no longer part of the default bundle (about half
-of the built-in texts). Only English is built in. Apps that use German register it once at startup, before the first
-render:
-
-```ts
-import { registerLocale } from '@wirecore/wirelayer-vue'; // or -react, -native
-import { de } from '@wirecore/wirelayer-vue/locales/de';
-
-registerLocale('de', de);
-```
-
-`messages` only contains `en` now; the German texts are `de` from `…/locales/de`. The German names and search words of
-the EmojiPicker moved there as well (`emojiPicker.emojis`); the built-in emojis are English. `localeEmojis(texts)` no
-longer takes a locale – pass the lines of the language module (`localeEmojis(de.emojiPicker.emojis)`).
diff --git a/.changeset/native-dataview-keyboard.md b/.changeset/native-dataview-keyboard.md
deleted file mode 100644
index 3909577..0000000
--- a/.changeset/native-dataview-keyboard.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-'@wirecore/wirelayer-native': patch
----
-
-DataView: in the browser (react-native-web) the scrolling list takes the keyboard focus, so the arrow keys scroll it even
-when the items have no controls.
diff --git a/.changeset/reexport-recipe-types.md b/.changeset/reexport-recipe-types.md
deleted file mode 100644
index d7c8735..0000000
--- a/.changeset/reexport-recipe-types.md
+++ /dev/null
@@ -1,10 +0,0 @@
----
-'@wirecore/wirelayer-vue': minor
-'@wirecore/wirelayer-react': minor
-'@wirecore/wirelayer-native': minor
----
-
-The types that appear in the props are exported by the component packages themselves, so apps no longer need
-`@wirecore/wirelayer-recipes` (or `NonNullable`) for them – e.g. `BadgeVariant`,
-`ButtonVariant`, `ButtonSize`, `AlertStatus`, `DialogPosition`, `OverlaySize`, `StatusDotStatus`, `DataSource`,
-`RecipeClasses`. `/data-table` adds `PivotValue`, `/virtual` `ItemAccessor`, React Native's `/pdf` `PdfZoom`.
diff --git a/.changeset/vue-bind-input-types.md b/.changeset/vue-bind-input-types.md
deleted file mode 100644
index 2d243b7..0000000
--- a/.changeset/vue-bind-input-types.md
+++ /dev/null
@@ -1,7 +0,0 @@
----
-'@wirecore/wirelayer-vue': patch
----
-
-`bindInput` from `/form` fits `Input` and `Textarea` in compiled SFC templates: `onUpdate:modelValue` accepts
-`string | undefined` (what the components emit) and `modelValue` falls back to `''`, like the React variant. Before,
-`` was a vue-tsc error.
diff --git a/packages/blocks-react/CHANGELOG.md b/packages/blocks-react/CHANGELOG.md
index e8f52b4..b0c7df6 100644
--- a/packages/blocks-react/CHANGELOG.md
+++ b/packages/blocks-react/CHANGELOG.md
@@ -1,5 +1,18 @@
# @wirecore/wirelayer-blocks-react
+## 0.1.2
+
+### Patch Changes
+
+- Updated dependencies [1ccb5ce]
+- Updated dependencies [54609a3]
+- Updated dependencies [b7530a8]
+- Updated dependencies [54609a3]
+- Updated dependencies [54609a3]
+- Updated dependencies [bbb430c]
+ - @wirecore/wirelayer-react@0.2.0
+ - @wirecore/wirelayer-recipes@0.2.0
+
## 0.1.1
### Patch Changes
diff --git a/packages/blocks-react/package.json b/packages/blocks-react/package.json
index 4298094..f4244d6 100644
--- a/packages/blocks-react/package.json
+++ b/packages/blocks-react/package.json
@@ -1,6 +1,6 @@
{
"name": "@wirecore/wirelayer-blocks-react",
- "version": "0.1.1",
+ "version": "0.1.2",
"description": "Page blocks for React (site header, CTA section, mode toggle, sign-in form and layout) and the condition builder, built on @wirecore/wirelayer-react",
"license": "MIT",
"repository": {
diff --git a/packages/blocks-vue/CHANGELOG.md b/packages/blocks-vue/CHANGELOG.md
index bbcd2dd..62f8807 100644
--- a/packages/blocks-vue/CHANGELOG.md
+++ b/packages/blocks-vue/CHANGELOG.md
@@ -1,5 +1,19 @@
# @wirecore/wirelayer-blocks-vue
+## 0.1.2
+
+### Patch Changes
+
+- Updated dependencies [1ccb5ce]
+- Updated dependencies [54609a3]
+- Updated dependencies [b7530a8]
+- Updated dependencies [54609a3]
+- Updated dependencies [54609a3]
+- Updated dependencies [bbb430c]
+- Updated dependencies [4ec36ef]
+ - @wirecore/wirelayer-vue@0.2.0
+ - @wirecore/wirelayer-recipes@0.2.0
+
## 0.1.1
### Patch Changes
diff --git a/packages/blocks-vue/package.json b/packages/blocks-vue/package.json
index 2cf3b6d..036fc19 100644
--- a/packages/blocks-vue/package.json
+++ b/packages/blocks-vue/package.json
@@ -1,6 +1,6 @@
{
"name": "@wirecore/wirelayer-blocks-vue",
- "version": "0.1.1",
+ "version": "0.1.2",
"description": "Page blocks for Vue (site header, CTA section, mode toggle, sign-in form and layout) and the condition builder, built on @wirecore/wirelayer-vue",
"license": "MIT",
"repository": {
diff --git a/packages/css/CHANGELOG.md b/packages/css/CHANGELOG.md
index 346c2a5..e3d3af2 100644
--- a/packages/css/CHANGELOG.md
+++ b/packages/css/CHANGELOG.md
@@ -1,5 +1,19 @@
# @wirecore/wirelayer-css
+## 0.2.0
+
+### Minor Changes
+
+- 1ccb5ce: **Behavior change:** without `data-mode` the page now follows the system setting (`prefers-color-scheme`) instead
+ of always being light. `data-mode="light"` or `data-mode="dark"` forces a mode as before, also for a part of the page
+ (a forced light part stays light on a dark system).
+
+ - The `dark:` variant follows the same rules, and so do the dark colors of the built-in themes and of custom themes
+ generated with `themeToCss`.
+ - Charts (Chart, ChartCanvas, Sparkline) recolor when the system setting changes.
+ - Apps that relied on "no attribute = light" and want to keep it: set `data-mode="light"` on ``. Apps that set
+ `data-mode` from `prefers-color-scheme` with JavaScript can drop that.
+
## 0.1.1
### Patch Changes
diff --git a/packages/css/package.json b/packages/css/package.json
index 65a94d5..14d7b99 100644
--- a/packages/css/package.json
+++ b/packages/css/package.json
@@ -1,6 +1,6 @@
{
"name": "@wirecore/wirelayer-css",
- "version": "0.1.1",
+ "version": "0.2.0",
"description": "WireLayer components as plain CSS classes (.wc-*) for HTML and server templates",
"license": "MIT",
"repository": {
diff --git a/packages/mcp/CHANGELOG.md b/packages/mcp/CHANGELOG.md
index bdec873..dc7a8b5 100644
--- a/packages/mcp/CHANGELOG.md
+++ b/packages/mcp/CHANGELOG.md
@@ -1,5 +1,12 @@
# @wirecore/wirelayer-mcp
+## 0.1.2
+
+### Patch Changes
+
+- 54609a3: Documentation says English is the default language, as it is in the code: `useLocale` and the MCP server/`llms.txt`
+ no longer claim German without a `LocaleProvider`.
+
## 0.1.1
### Patch Changes
diff --git a/packages/mcp/package.json b/packages/mcp/package.json
index 2a74691..93559c0 100644
--- a/packages/mcp/package.json
+++ b/packages/mcp/package.json
@@ -1,6 +1,6 @@
{
"name": "@wirecore/wirelayer-mcp",
- "version": "0.1.1",
+ "version": "0.1.2",
"description": "MCP server with the WireLayer component API and guides for AI assistants",
"license": "MIT",
"repository": {
diff --git a/packages/native/CHANGELOG.md b/packages/native/CHANGELOG.md
index 3da8f3c..2062ddc 100644
--- a/packages/native/CHANGELOG.md
+++ b/packages/native/CHANGELOG.md
@@ -1,5 +1,46 @@
# @wirecore/wirelayer-native
+## 0.2.0
+
+### Minor Changes
+
+- 54609a3: DataTable: new prop `csvSeparator` for the CSV export, also for the built-in export button. By default the separator
+ now follows the locale like a spreadsheet does (`csvSeparator(locale)` from the recipes): `;` where numbers have a
+ decimal comma (de-DE, fr-FR …), `,` otherwise (en-US …). Before, it was always `;`. `exportCsv({ separator })` still
+ wins over both.
+- 54609a3: **Breaking:** German is a language module like French or Spanish and no longer part of the default bundle (about half
+ of the built-in texts). Only English is built in. Apps that use German register it once at startup, before the first
+ render:
+
+ ```ts
+ import { registerLocale } from '@wirecore/wirelayer-vue'; // or -react, -native
+ import { de } from '@wirecore/wirelayer-vue/locales/de';
+
+ registerLocale('de', de);
+ ```
+
+ `messages` only contains `en` now; the German texts are `de` from `…/locales/de`. The German names and search words of
+ the EmojiPicker moved there as well (`emojiPicker.emojis`); the built-in emojis are English. `localeEmojis(texts)` no
+ longer takes a locale – pass the lines of the language module (`localeEmojis(de.emojiPicker.emojis)`).
+
+- bbb430c: The types that appear in the props are exported by the component packages themselves, so apps no longer need
+ `@wirecore/wirelayer-recipes` (or `NonNullable`) for them – e.g. `BadgeVariant`,
+ `ButtonVariant`, `ButtonSize`, `AlertStatus`, `DialogPosition`, `OverlaySize`, `StatusDotStatus`, `DataSource`,
+ `RecipeClasses`. `/data-table` adds `PivotValue`, `/virtual` `ItemAccessor`, React Native's `/pdf` `PdfZoom`.
+
+### Patch Changes
+
+- 54609a3: Documentation says English is the default language, as it is in the code: `useLocale` and the MCP server/`llms.txt`
+ no longer claim German without a `LocaleProvider`.
+- f396bd4: DataView: in the browser (react-native-web) the scrolling list takes the keyboard focus, so the arrow keys scroll it even
+ when the items have no controls.
+- Updated dependencies [1ccb5ce]
+- Updated dependencies [54609a3]
+- Updated dependencies [54609a3]
+- Updated dependencies [54609a3]
+ - @wirecore/wirelayer-tokens@0.2.0
+ - @wirecore/wirelayer-recipes@0.2.0
+
## 0.1.1
### Patch Changes
diff --git a/packages/native/package.json b/packages/native/package.json
index dbb2986..d494cd4 100644
--- a/packages/native/package.json
+++ b/packages/native/package.json
@@ -1,6 +1,6 @@
{
"name": "@wirecore/wirelayer-native",
- "version": "0.1.1",
+ "version": "0.2.0",
"description": "WireLayer components for React Native (Expo) with Uniwind",
"license": "MIT",
"repository": {
diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md
index 4bd1f8f..c526db6 100644
--- a/packages/react/CHANGELOG.md
+++ b/packages/react/CHANGELOG.md
@@ -1,5 +1,72 @@
# @wirecore/wirelayer-react
+## 0.2.0
+
+### Minor Changes
+
+- 54609a3: DataTable: new prop `csvSeparator` for the CSV export, also for the built-in export button. By default the separator
+ now follows the locale like a spreadsheet does (`csvSeparator(locale)` from the recipes): `;` where numbers have a
+ decimal comma (de-DE, fr-FR …), `,` otherwise (en-US …). Before, it was always `;`. `exportCsv({ separator })` still
+ wins over both.
+- b7530a8: **Breaking:** DataTable feature modules. Parts of the DataTable that bring a lot of code along are imported on their own
+ and passed in `features` – a minimal table is about a fifth smaller (gzip), and `@tanstack/vue-virtual` or
+ `@tanstack/react-virtual` is only needed for virtual rows.
+
+ - `virtual` needs the feature `virtualRows` from `/virtual`; without it all rows are rendered (with a hint in
+ development).
+ - Date and number filters and editors use the browser's inputs; the DatePicker and NumberInput come with the features
+ `dateInput` and `numberInput` from `/data-table`.
+
+ ```tsx
+ import { DataTable, dateInput, numberInput } from '@wirecore/wirelayer-react/data-table'; // or -vue
+ import { virtualRows } from '@wirecore/wirelayer-react/virtual';
+
+ const features = [virtualRows, dateInput, numberInput];
+
+ ;
+ ```
+
+- 54609a3: **Breaking:** German is a language module like French or Spanish and no longer part of the default bundle (about half
+ of the built-in texts). Only English is built in. Apps that use German register it once at startup, before the first
+ render:
+
+ ```ts
+ import { registerLocale } from '@wirecore/wirelayer-vue'; // or -react, -native
+ import { de } from '@wirecore/wirelayer-vue/locales/de';
+
+ registerLocale('de', de);
+ ```
+
+ `messages` only contains `en` now; the German texts are `de` from `…/locales/de`. The German names and search words of
+ the EmojiPicker moved there as well (`emojiPicker.emojis`); the built-in emojis are English. `localeEmojis(texts)` no
+ longer takes a locale – pass the lines of the language module (`localeEmojis(de.emojiPicker.emojis)`).
+
+- bbb430c: The types that appear in the props are exported by the component packages themselves, so apps no longer need
+ `@wirecore/wirelayer-recipes` (or `NonNullable`) for them – e.g. `BadgeVariant`,
+ `ButtonVariant`, `ButtonSize`, `AlertStatus`, `DialogPosition`, `OverlaySize`, `StatusDotStatus`, `DataSource`,
+ `RecipeClasses`. `/data-table` adds `PivotValue`, `/virtual` `ItemAccessor`, React Native's `/pdf` `PdfZoom`.
+
+### Patch Changes
+
+- 1ccb5ce: **Behavior change:** without `data-mode` the page now follows the system setting (`prefers-color-scheme`) instead
+ of always being light. `data-mode="light"` or `data-mode="dark"` forces a mode as before, also for a part of the page
+ (a forced light part stays light on a dark system).
+
+ - The `dark:` variant follows the same rules, and so do the dark colors of the built-in themes and of custom themes
+ generated with `themeToCss`.
+ - Charts (Chart, ChartCanvas, Sparkline) recolor when the system setting changes.
+ - Apps that relied on "no attribute = light" and want to keep it: set `data-mode="light"` on ``. Apps that set
+ `data-mode` from `prefers-color-scheme` with JavaScript can drop that.
+
+- 54609a3: Documentation says English is the default language, as it is in the code: `useLocale` and the MCP server/`llms.txt`
+ no longer claim German without a `LocaleProvider`.
+- Updated dependencies [1ccb5ce]
+- Updated dependencies [54609a3]
+- Updated dependencies [54609a3]
+- Updated dependencies [54609a3]
+ - @wirecore/wirelayer-tokens@0.2.0
+ - @wirecore/wirelayer-recipes@0.2.0
+
## 0.1.1
### Patch Changes
diff --git a/packages/react/package.json b/packages/react/package.json
index 2f8f5eb..3f04ef6 100644
--- a/packages/react/package.json
+++ b/packages/react/package.json
@@ -1,6 +1,6 @@
{
"name": "@wirecore/wirelayer-react",
- "version": "0.1.1",
+ "version": "0.2.0",
"description": "WireLayer components for React",
"license": "MIT",
"repository": {
diff --git a/packages/recipes/CHANGELOG.md b/packages/recipes/CHANGELOG.md
index dd643e0..3856caa 100644
--- a/packages/recipes/CHANGELOG.md
+++ b/packages/recipes/CHANGELOG.md
@@ -1,5 +1,33 @@
# @wirecore/wirelayer-recipes
+## 0.2.0
+
+### Minor Changes
+
+- 54609a3: DataTable: new prop `csvSeparator` for the CSV export, also for the built-in export button. By default the separator
+ now follows the locale like a spreadsheet does (`csvSeparator(locale)` from the recipes): `;` where numbers have a
+ decimal comma (de-DE, fr-FR …), `,` otherwise (en-US …). Before, it was always `;`. `exportCsv({ separator })` still
+ wins over both.
+- 54609a3: **Breaking:** German is a language module like French or Spanish and no longer part of the default bundle (about half
+ of the built-in texts). Only English is built in. Apps that use German register it once at startup, before the first
+ render:
+
+ ```ts
+ import { registerLocale } from '@wirecore/wirelayer-vue'; // or -react, -native
+ import { de } from '@wirecore/wirelayer-vue/locales/de';
+
+ registerLocale('de', de);
+ ```
+
+ `messages` only contains `en` now; the German texts are `de` from `…/locales/de`. The German names and search words of
+ the EmojiPicker moved there as well (`emojiPicker.emojis`); the built-in emojis are English. `localeEmojis(texts)` no
+ longer takes a locale – pass the lines of the language module (`localeEmojis(de.emojiPicker.emojis)`).
+
+### Patch Changes
+
+- 54609a3: Documentation says English is the default language, as it is in the code: `useLocale` and the MCP server/`llms.txt`
+ no longer claim German without a `LocaleProvider`.
+
## 0.1.1
### Patch Changes
diff --git a/packages/recipes/package.json b/packages/recipes/package.json
index 71ba5c5..65bad41 100644
--- a/packages/recipes/package.json
+++ b/packages/recipes/package.json
@@ -1,6 +1,6 @@
{
"name": "@wirecore/wirelayer-recipes",
- "version": "0.1.1",
+ "version": "0.2.0",
"description": "Framework-agnostic WireLayer component recipes (tailwind-variants)",
"license": "MIT",
"repository": {
diff --git a/packages/tokens/CHANGELOG.md b/packages/tokens/CHANGELOG.md
index 49a7c99..185d89a 100644
--- a/packages/tokens/CHANGELOG.md
+++ b/packages/tokens/CHANGELOG.md
@@ -1,5 +1,19 @@
# @wirecore/wirelayer-tokens
+## 0.2.0
+
+### Minor Changes
+
+- 1ccb5ce: **Behavior change:** without `data-mode` the page now follows the system setting (`prefers-color-scheme`) instead
+ of always being light. `data-mode="light"` or `data-mode="dark"` forces a mode as before, also for a part of the page
+ (a forced light part stays light on a dark system).
+
+ - The `dark:` variant follows the same rules, and so do the dark colors of the built-in themes and of custom themes
+ generated with `themeToCss`.
+ - Charts (Chart, ChartCanvas, Sparkline) recolor when the system setting changes.
+ - Apps that relied on "no attribute = light" and want to keep it: set `data-mode="light"` on ``. Apps that set
+ `data-mode` from `prefers-color-scheme` with JavaScript can drop that.
+
## 0.1.1
### Patch Changes
diff --git a/packages/tokens/package.json b/packages/tokens/package.json
index 7190d82..6e30f11 100644
--- a/packages/tokens/package.json
+++ b/packages/tokens/package.json
@@ -1,6 +1,6 @@
{
"name": "@wirecore/wirelayer-tokens",
- "version": "0.1.1",
+ "version": "0.2.0",
"description": "WireLayer design tokens and Tailwind v4 theme",
"license": "MIT",
"repository": {
diff --git a/packages/vue/CHANGELOG.md b/packages/vue/CHANGELOG.md
index 0690cea..66cae98 100644
--- a/packages/vue/CHANGELOG.md
+++ b/packages/vue/CHANGELOG.md
@@ -1,5 +1,75 @@
# @wirecore/wirelayer-vue
+## 0.2.0
+
+### Minor Changes
+
+- 54609a3: DataTable: new prop `csvSeparator` for the CSV export, also for the built-in export button. By default the separator
+ now follows the locale like a spreadsheet does (`csvSeparator(locale)` from the recipes): `;` where numbers have a
+ decimal comma (de-DE, fr-FR …), `,` otherwise (en-US …). Before, it was always `;`. `exportCsv({ separator })` still
+ wins over both.
+- b7530a8: **Breaking:** DataTable feature modules. Parts of the DataTable that bring a lot of code along are imported on their own
+ and passed in `features` – a minimal table is about a fifth smaller (gzip), and `@tanstack/vue-virtual` or
+ `@tanstack/react-virtual` is only needed for virtual rows.
+
+ - `virtual` needs the feature `virtualRows` from `/virtual`; without it all rows are rendered (with a hint in
+ development).
+ - Date and number filters and editors use the browser's inputs; the DatePicker and NumberInput come with the features
+ `dateInput` and `numberInput` from `/data-table`.
+
+ ```tsx
+ import { DataTable, dateInput, numberInput } from '@wirecore/wirelayer-react/data-table'; // or -vue
+ import { virtualRows } from '@wirecore/wirelayer-react/virtual';
+
+ const features = [virtualRows, dateInput, numberInput];
+
+ ;
+ ```
+
+- 54609a3: **Breaking:** German is a language module like French or Spanish and no longer part of the default bundle (about half
+ of the built-in texts). Only English is built in. Apps that use German register it once at startup, before the first
+ render:
+
+ ```ts
+ import { registerLocale } from '@wirecore/wirelayer-vue'; // or -react, -native
+ import { de } from '@wirecore/wirelayer-vue/locales/de';
+
+ registerLocale('de', de);
+ ```
+
+ `messages` only contains `en` now; the German texts are `de` from `…/locales/de`. The German names and search words of
+ the EmojiPicker moved there as well (`emojiPicker.emojis`); the built-in emojis are English. `localeEmojis(texts)` no
+ longer takes a locale – pass the lines of the language module (`localeEmojis(de.emojiPicker.emojis)`).
+
+- bbb430c: The types that appear in the props are exported by the component packages themselves, so apps no longer need
+ `@wirecore/wirelayer-recipes` (or `NonNullable`) for them – e.g. `BadgeVariant`,
+ `ButtonVariant`, `ButtonSize`, `AlertStatus`, `DialogPosition`, `OverlaySize`, `StatusDotStatus`, `DataSource`,
+ `RecipeClasses`. `/data-table` adds `PivotValue`, `/virtual` `ItemAccessor`, React Native's `/pdf` `PdfZoom`.
+
+### Patch Changes
+
+- 1ccb5ce: **Behavior change:** without `data-mode` the page now follows the system setting (`prefers-color-scheme`) instead
+ of always being light. `data-mode="light"` or `data-mode="dark"` forces a mode as before, also for a part of the page
+ (a forced light part stays light on a dark system).
+
+ - The `dark:` variant follows the same rules, and so do the dark colors of the built-in themes and of custom themes
+ generated with `themeToCss`.
+ - Charts (Chart, ChartCanvas, Sparkline) recolor when the system setting changes.
+ - Apps that relied on "no attribute = light" and want to keep it: set `data-mode="light"` on ``. Apps that set
+ `data-mode` from `prefers-color-scheme` with JavaScript can drop that.
+
+- 54609a3: Documentation says English is the default language, as it is in the code: `useLocale` and the MCP server/`llms.txt`
+ no longer claim German without a `LocaleProvider`.
+- 4ec36ef: `bindInput` from `/form` fits `Input` and `Textarea` in compiled SFC templates: `onUpdate:modelValue` accepts
+ `string | undefined` (what the components emit) and `modelValue` falls back to `''`, like the React variant. Before,
+ `` was a vue-tsc error.
+- Updated dependencies [1ccb5ce]
+- Updated dependencies [54609a3]
+- Updated dependencies [54609a3]
+- Updated dependencies [54609a3]
+ - @wirecore/wirelayer-tokens@0.2.0
+ - @wirecore/wirelayer-recipes@0.2.0
+
## 0.1.1
### Patch Changes
diff --git a/packages/vue/package.json b/packages/vue/package.json
index 76a500d..387d4e2 100644
--- a/packages/vue/package.json
+++ b/packages/vue/package.json
@@ -1,6 +1,6 @@
{
"name": "@wirecore/wirelayer-vue",
- "version": "0.1.1",
+ "version": "0.2.0",
"description": "WireLayer components for Vue 3",
"license": "MIT",
"repository": {