@vielzeug/codex 26.10.21 → 26.11.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.
package/data/catalog.json CHANGED
@@ -35,7 +35,7 @@
35
35
  "rune"
36
36
  ],
37
37
  "slug": "archive",
38
- "version": "26.10.20"
38
+ "version": "26.10.22"
39
39
  },
40
40
  {
41
41
  "availableDocPages": [
@@ -108,7 +108,7 @@
108
108
  "coins"
109
109
  ],
110
110
  "slug": "arsenal",
111
- "version": "26.10.20"
111
+ "version": "26.10.22"
112
112
  },
113
113
  {
114
114
  "availableDocPages": [
@@ -160,7 +160,7 @@
160
160
  "refine"
161
161
  ],
162
162
  "slug": "assay",
163
- "version": "26.10.20"
163
+ "version": "26.10.22"
164
164
  },
165
165
  {
166
166
  "availableDocPages": [
@@ -199,7 +199,7 @@
199
199
  "vault"
200
200
  ],
201
201
  "slug": "beacon",
202
- "version": "26.10.20"
202
+ "version": "26.10.22"
203
203
  },
204
204
  {
205
205
  "availableDocPages": [
@@ -241,7 +241,7 @@
241
241
  "ward"
242
242
  ],
243
243
  "slug": "clockwork",
244
- "version": "26.10.20"
244
+ "version": "26.10.22"
245
245
  },
246
246
  {
247
247
  "availableDocPages": [
@@ -273,7 +273,7 @@
273
273
  "refine"
274
274
  ],
275
275
  "slug": "codex",
276
- "version": "26.10.20"
276
+ "version": "26.10.22"
277
277
  },
278
278
  {
279
279
  "availableDocPages": [
@@ -343,7 +343,7 @@
343
343
  "spell"
344
344
  ],
345
345
  "slug": "coins",
346
- "version": "26.10.20"
346
+ "version": "26.10.22"
347
347
  },
348
348
  {
349
349
  "availableDocPages": [
@@ -384,7 +384,7 @@
384
384
  "rune"
385
385
  ],
386
386
  "slug": "conduit",
387
- "version": "26.10.20"
387
+ "version": "26.10.22"
388
388
  },
389
389
  {
390
390
  "availableDocPages": [
@@ -426,7 +426,7 @@
426
426
  "postmaster"
427
427
  ],
428
428
  "slug": "courier",
429
- "version": "26.10.20"
429
+ "version": "26.10.22"
430
430
  },
431
431
  {
432
432
  "availableDocPages": [
@@ -472,7 +472,7 @@
472
472
  "refine"
473
473
  ],
474
474
  "slug": "dnd",
475
- "version": "26.10.20"
475
+ "version": "26.10.22"
476
476
  },
477
477
  {
478
478
  "availableDocPages": [
@@ -514,7 +514,7 @@
514
514
  "herald"
515
515
  ],
516
516
  "slug": "familiar",
517
- "version": "26.10.20"
517
+ "version": "26.10.22"
518
518
  },
519
519
  {
520
520
  "availableDocPages": [
@@ -581,7 +581,7 @@
581
581
  "courier"
582
582
  ],
583
583
  "slug": "flux",
584
- "version": "26.10.20"
584
+ "version": "26.10.22"
585
585
  },
586
586
  {
587
587
  "availableDocPages": [
@@ -621,7 +621,7 @@
621
621
  "ore"
622
622
  ],
623
623
  "slug": "focus",
624
- "version": "26.10.20"
624
+ "version": "26.10.22"
625
625
  },
626
626
  {
627
627
  "availableDocPages": [
@@ -662,7 +662,7 @@
662
662
  "assay"
663
663
  ],
664
664
  "slug": "forge",
665
- "version": "26.10.20"
665
+ "version": "26.10.22"
666
666
  },
667
667
  {
668
668
  "availableDocPages": [
@@ -700,7 +700,7 @@
700
700
  "keymap"
701
701
  ],
702
702
  "slug": "gesture",
703
- "version": "26.10.20"
703
+ "version": "26.10.22"
704
704
  },
705
705
  {
706
706
  "availableDocPages": [
@@ -744,7 +744,7 @@
744
744
  "familiar"
745
745
  ],
746
746
  "slug": "herald",
747
- "version": "26.10.20"
747
+ "version": "26.10.22"
748
748
  },
749
749
  {
750
750
  "availableDocPages": [
@@ -787,7 +787,7 @@
787
787
  "tempo"
788
788
  ],
789
789
  "slug": "illusionist",
790
- "version": "26.10.20"
790
+ "version": "26.10.22"
791
791
  },
792
792
  {
793
793
  "availableDocPages": [
@@ -832,7 +832,7 @@
832
832
  "ore"
833
833
  ],
834
834
  "slug": "keymap",
835
- "version": "26.10.20"
835
+ "version": "26.10.22"
836
836
  },
837
837
  {
838
838
  "availableDocPages": [
@@ -879,7 +879,7 @@
879
879
  "vault"
880
880
  ],
881
881
  "slug": "ledger",
882
- "version": "26.10.20"
882
+ "version": "26.10.22"
883
883
  },
884
884
  {
885
885
  "availableDocPages": [
@@ -925,7 +925,7 @@
925
925
  "courier"
926
926
  ],
927
927
  "slug": "lingua",
928
- "version": "26.10.20"
928
+ "version": "26.10.22"
929
929
  },
930
930
  {
931
931
  "availableDocPages": [
@@ -963,7 +963,7 @@
963
963
  "herald"
964
964
  ],
965
965
  "slug": "mesh",
966
- "version": "26.10.20"
966
+ "version": "26.10.22"
967
967
  },
968
968
  {
969
969
  "availableDocPages": [
@@ -1000,7 +1000,7 @@
1000
1000
  "ore"
1001
1001
  ],
1002
1002
  "slug": "necromancer",
1003
- "version": "26.10.20"
1003
+ "version": "26.10.22"
1004
1004
  },
1005
1005
  {
1006
1006
  "availableDocPages": [
@@ -1040,7 +1040,7 @@
1040
1040
  "prism"
1041
1041
  ],
1042
1042
  "slug": "orbit",
1043
- "version": "26.10.20"
1043
+ "version": "26.10.22"
1044
1044
  },
1045
1045
  {
1046
1046
  "availableDocPages": [
@@ -1105,7 +1105,7 @@
1105
1105
  "orbit"
1106
1106
  ],
1107
1107
  "slug": "ore",
1108
- "version": "26.10.20"
1108
+ "version": "26.10.22"
1109
1109
  },
1110
1110
  {
1111
1111
  "availableDocPages": [
@@ -1149,7 +1149,7 @@
1149
1149
  "ripple"
1150
1150
  ],
1151
1151
  "slug": "postmaster",
1152
- "version": "26.10.20"
1152
+ "version": "26.10.22"
1153
1153
  },
1154
1154
  {
1155
1155
  "availableDocPages": [
@@ -1190,7 +1190,7 @@
1190
1190
  "orbit"
1191
1191
  ],
1192
1192
  "slug": "prism",
1193
- "version": "26.10.20"
1193
+ "version": "26.10.22"
1194
1194
  },
1195
1195
  {
1196
1196
  "availableDocPages": [
@@ -1254,7 +1254,7 @@
1254
1254
  "clockwork"
1255
1255
  ],
1256
1256
  "slug": "pulse",
1257
- "version": "26.10.20"
1257
+ "version": "26.10.22"
1258
1258
  },
1259
1259
  {
1260
1260
  "availableDocPages": [
@@ -1376,7 +1376,7 @@
1376
1376
  "keymap"
1377
1377
  ],
1378
1378
  "slug": "refine",
1379
- "version": "26.10.20"
1379
+ "version": "26.10.22"
1380
1380
  },
1381
1381
  {
1382
1382
  "availableDocPages": [
@@ -1421,7 +1421,7 @@
1421
1421
  "ledger"
1422
1422
  ],
1423
1423
  "slug": "ripple",
1424
- "version": "26.10.20"
1424
+ "version": "26.10.22"
1425
1425
  },
1426
1426
  {
1427
1427
  "availableDocPages": [
@@ -1475,7 +1475,7 @@
1475
1475
  "familiar"
1476
1476
  ],
1477
1477
  "slug": "rune",
1478
- "version": "26.10.20"
1478
+ "version": "26.10.22"
1479
1479
  },
1480
1480
  {
1481
1481
  "availableDocPages": [
@@ -1516,7 +1516,7 @@
1516
1516
  "refine"
1517
1517
  ],
1518
1518
  "slug": "sandbox",
1519
- "version": "26.10.20"
1519
+ "version": "26.10.22"
1520
1520
  },
1521
1521
  {
1522
1522
  "availableDocPages": [
@@ -1567,7 +1567,7 @@
1567
1567
  "ripple"
1568
1568
  ],
1569
1569
  "slug": "scout",
1570
- "version": "26.10.20"
1570
+ "version": "26.10.22"
1571
1571
  },
1572
1572
  {
1573
1573
  "availableDocPages": [
@@ -1620,7 +1620,7 @@
1620
1620
  "refine"
1621
1621
  ],
1622
1622
  "slug": "scroll",
1623
- "version": "26.10.20"
1623
+ "version": "26.10.22"
1624
1624
  },
1625
1625
  {
1626
1626
  "availableDocPages": [
@@ -1667,7 +1667,7 @@
1667
1667
  "gesture"
1668
1668
  ],
1669
1669
  "slug": "sentinel",
1670
- "version": "26.10.20"
1670
+ "version": "26.10.22"
1671
1671
  },
1672
1672
  {
1673
1673
  "availableDocPages": [
@@ -1707,7 +1707,7 @@
1707
1707
  "refine"
1708
1708
  ],
1709
1709
  "slug": "sigil",
1710
- "version": "26.10.20"
1710
+ "version": "26.10.22"
1711
1711
  },
1712
1712
  {
1713
1713
  "availableDocPages": [
@@ -1752,7 +1752,7 @@
1752
1752
  "wayfinder"
1753
1753
  ],
1754
1754
  "slug": "sourcerer",
1755
- "version": "26.10.20"
1755
+ "version": "26.10.22"
1756
1756
  },
1757
1757
  {
1758
1758
  "availableDocPages": [
@@ -1811,7 +1811,7 @@
1811
1811
  "vault"
1812
1812
  ],
1813
1813
  "slug": "spell",
1814
- "version": "26.10.20"
1814
+ "version": "26.10.22"
1815
1815
  },
1816
1816
  {
1817
1817
  "availableDocPages": [
@@ -1852,7 +1852,7 @@
1852
1852
  "ripple"
1853
1853
  ],
1854
1854
  "slug": "tandem",
1855
- "version": "26.10.20"
1855
+ "version": "26.10.22"
1856
1856
  },
1857
1857
  {
1858
1858
  "availableDocPages": [
@@ -1896,7 +1896,7 @@
1896
1896
  "herald"
1897
1897
  ],
1898
1898
  "slug": "tavern",
1899
- "version": "26.10.20"
1899
+ "version": "26.10.22"
1900
1900
  },
1901
1901
  {
1902
1902
  "availableDocPages": [
@@ -1964,7 +1964,7 @@
1964
1964
  "vault"
1965
1965
  ],
1966
1966
  "slug": "tempo",
1967
- "version": "26.10.20"
1967
+ "version": "26.10.22"
1968
1968
  },
1969
1969
  {
1970
1970
  "availableDocPages": [
@@ -2015,7 +2015,7 @@
2015
2015
  "ripple"
2016
2016
  ],
2017
2017
  "slug": "vault",
2018
- "version": "26.10.20"
2018
+ "version": "26.10.22"
2019
2019
  },
2020
2020
  {
2021
2021
  "availableDocPages": [
@@ -2061,7 +2061,7 @@
2061
2061
  "refine"
2062
2062
  ],
2063
2063
  "slug": "ward",
2064
- "version": "26.10.20"
2064
+ "version": "26.10.22"
2065
2065
  },
2066
2066
  {
2067
2067
  "availableDocPages": [
@@ -2115,8 +2115,8 @@
2115
2115
  "herald"
2116
2116
  ],
2117
2117
  "slug": "wayfinder",
2118
- "version": "26.10.20"
2118
+ "version": "26.10.22"
2119
2119
  }
2120
2120
  ],
2121
- "version": "26.10.20"
2121
+ "version": "26.10.22"
2122
2122
  }
@@ -1,6 +1,6 @@
1
1
  # Vielzeug: Full Documentation
2
2
 
3
- > Complete documentation for 43 packages. Version: 26.10.20
3
+ > Complete documentation for 43 packages. Version: 26.10.22
4
4
 
5
5
  ---
6
6
 
@@ -21791,23 +21791,25 @@ Component registration happens through side-effect imports such as `@vielzeug/re
21791
21791
 
21792
21792
  ### Components
21793
21793
 
21794
- **Content:** `ore-avatar`, `ore-avatar-group`, `ore-breadcrumb`, `ore-card`, `ore-carousel`, `ore-carousel-slide`, `ore-chat-message`, `ore-icon`, `ore-keyboard-key`, `ore-keyboard-shortcut`, `ore-list`, `ore-list-item`, `ore-marquee`, `ore-pagination`, `ore-qr-code`, `ore-separator`, `ore-speed-reading`, `ore-stats`, `ore-step`, `ore-stepper`, `ore-table`, `ore-text`
21794
+ Each entry below is a component with its own documentation page and registration subpath. Sub-element tags (`ore-accordion-item`, `ore-tab-item`, `ore-avatar-group`, and the rest) are documented on their parent's page and registered with it.
21795
21795
 
21796
- **Disclosure:** `ore-accordion`, `ore-accordion-item`, `ore-tabs`, `ore-tab-item`, `ore-tab-panel`
21796
+ **Content:** `ore-accordion`, `ore-avatar`, `ore-card`, `ore-carousel`, `ore-chat-message`, `ore-chat-panel`, `ore-code-window`, `ore-copy-command`, `ore-icon`, `ore-keyboard-key`, `ore-list`, `ore-marquee`, `ore-qr-code`, `ore-rank-list`, `ore-speech-player`, `ore-speed-reading`, `ore-stats`, `ore-table`, `ore-text`
21797
21797
 
21798
21798
  **Feedback:** `ore-alert`, `ore-async`, `ore-badge`, `ore-chip`, `ore-cookie-banner`, `ore-password-strength`, `ore-progress`, `ore-skeleton`, `ore-toast`, `ore-typing-indicator`
21799
21799
 
21800
- **Inputs:** `ore-button`, `ore-button-group`, `ore-calendar`, `ore-checkbox`, `ore-checkbox-group`, `ore-column`, `ore-combobox`, `ore-counter`, `ore-datagrid`, `ore-date-picker`, `ore-file-input`, `ore-input`, `ore-message-composer`, `ore-number-input`, `ore-otp-input`, `ore-qr-scanner`, `ore-query-bar`, `ore-radio`, `ore-radio-group`, `ore-rating`, `ore-select`, `ore-slider`, `ore-switch`, `ore-textarea`, `ore-time-picker`
21800
+ **Inputs:** `ore-button`, `ore-calendar`, `ore-checkbox`, `ore-combobox`, `ore-counter`, `ore-datagrid`, `ore-date-picker`, `ore-file-input`, `ore-input`, `ore-message-composer`, `ore-number-input`, `ore-otp-input`, `ore-qr-scanner`, `ore-query-bar`, `ore-radio`, `ore-rating`, `ore-select`, `ore-slider`, `ore-switch`, `ore-textarea`, `ore-time-picker`
21801
21801
 
21802
- **Layout:** `ore-box`, `ore-grid`, `ore-grid-item`, `ore-navbar`, `ore-sidebar`
21802
+ **Layout:** `ore-box`, `ore-grid`, `ore-navbar`, `ore-separator`, `ore-sidebar`
21803
21803
 
21804
- **Overlay:** `ore-command-palette`, `ore-command-palette-item`, `ore-dialog`, `ore-drawer`, `ore-menu`, `ore-popover`, `ore-spotlight`, `ore-tooltip`, `ore-tour`
21804
+ **Navigation:** `ore-breadcrumb`, `ore-navigation-menu`, `ore-pagination`, `ore-stepper`, `ore-tabs`
21805
+
21806
+ **Overlay:** `ore-command-palette`, `ore-dialog`, `ore-drawer`, `ore-menu`, `ore-popover`, `ore-spotlight`, `ore-tooltip`, `ore-tour`
21805
21807
 
21806
21808
  ## Component portfolio
21807
21809
 
21808
21810
  Refine keeps one public package and classifies components by composition level rather than stability. All listed components remain supported and tested.
21809
21811
 
21810
- - **Foundations**: buttons, inputs, selection controls, disclosure, dialogs, menus, tooltips, layout primitives, and feedback indicators. Start here when building an application-specific interface.
21812
+ - **Foundations**: buttons, inputs, selection controls, accordions, dialogs, menus, tooltips, layout primitives, and feedback indicators. Start here when building an application-specific interface.
21811
21813
  - **Composed patterns**: data grids, command palettes, navigation menus, steppers, calendars, date/time pickers, file inputs, and message composers. These package recurring accessibility and interaction behavior that is costly to rebuild correctly.
21812
21814
  - **Presentation patterns**: cards, chat messages, code windows, stats, marquees, avatars, badges, and skeletons. Use these when their product vocabulary matches the application; prefer foundations when it does not.
21813
21815
 
@@ -21817,9 +21819,10 @@ Classification guides discovery and bundle selection. It is not a reason to remo
21817
21819
 
21818
21820
  - **Accessible**: keyboard navigation, ARIA wiring, and focus management across interactive components
21819
21821
  - **Themeable**: global tokens plus component-level CSS custom properties
21822
+ - **Motion-safe**: every animation routes through duration tokens and honors Motion Mode (`setMotionMode`) with a reduced-motion floor
21820
21823
  - **Framework agnostic**: works anywhere HTML can be rendered
21821
21824
  - **Tree-shakeable**: import only the component entry points you register
21822
- - **Comprehensive surface**: inputs, content, disclosure, feedback, layout, and overlay primitives
21825
+ - **Comprehensive surface**: inputs, content, navigation, feedback, layout, and overlay primitives
21823
21826
  - **Native form integration**: form-associated controls submit values, validate supported required constraints, and reset with their form
21824
21827
  - **Typed framework declarations**: DOM, React, and Vue tags derive from the component property contracts
21825
21828
 
@@ -21833,6 +21836,7 @@ Classification guides discovery and bundle selection. It is not a reason to remo
21833
21836
 
21834
21837
  - [Usage Guide](./usage.md)
21835
21838
  - [API Reference](./api.md)
21839
+ - [Animation & Motion](./animation.md)
21836
21840
  - [Migration Guide](./migration.md)
21837
21841
 
21838
21842
  ## See Also
@@ -21857,13 +21861,15 @@ Classification guides discovery and bundle selection. It is not a reason to remo
21857
21861
  | `@vielzeug/refine/frameworks/vue` | Register typed Vue global components | Types only | Does not install a Vue plugin |
21858
21862
  | `@vielzeug/refine/theme` | `createThemeController()`: light/dark/system document theme | Sync | Does not persist the preference or set an accent color |
21859
21863
  | `eventFieldValue()` / `eventFieldChecked()` | Read a form control's value/checked from `event.currentTarget` | Sync | Exported from the package root; guards non-field targets |
21864
+ | `animateReflow()` | Token-driven FLIP reflow for keyed lists | Async (next frame) | Exported from the package root; elements need stable keys or it correctly does nothing |
21865
+ | `setMotionMode()` / `getMotionMode()` | Read/write the `data-motion` attribute on `` | Sync | Exported from the package root; an unknown mode throws `RangeError` |
21860
21866
  | `RefineError` | Base class for package-defined public errors | Sync | Component configuration warnings do not throw this error |
21861
21867
 
21862
21868
  ## Package Entry Point
21863
21869
 
21864
21870
  | Import | Purpose |
21865
21871
  | --- | --- |
21866
- | `@vielzeug/refine` | Export `registerIcons`, icon definition types, `RefineError`, and the field readers without registering components |
21872
+ | `@vielzeug/refine` | Export `registerIcons`, icon definition types, `RefineError`, `animateReflow`, the motion-mode functions, and the field readers without registering components |
21867
21873
  | `@vielzeug/refine/` | Register one component and export its tag constant, props, events, and related types |
21868
21874
  | `@vielzeug/refine/theme` | `createThemeController()` and its theme types |
21869
21875
  | `@vielzeug/refine/tokens.css` | Required global design contract |
@@ -21932,12 +21938,14 @@ import type { OreButtonProps } from '@vielzeug/refine/button';
21932
21938
 
21933
21939
  | Area | Components |
21934
21940
  | --- | --- |
21935
- | Content | `avatar`, `avatar-group`, `breadcrumb`, `card`, `carousel`, `chat-message`, `code-window`, `copy-command`, `icon`, `keyboard-key`, `list`, `list-item`, `marquee`, `pagination`, `separator`, `speech-player`, `speed-reading`, `stats`, `step`, `stepper`, `table`, `text` |
21936
- | Disclosure | `accordion`, `accordion-item`, `tabs`, `tab-item`, `tab-panel` |
21941
+ | Content | `accordion`, `avatar`, `card`, `carousel`, `chat-message`, `chat-panel`, `code-window`, `copy-command`, `icon`, `keyboard-key`, `list`, `marquee`, `qr-code`, `rank-list`, `speech-player`, `speed-reading`, `stats`, `table`, `text` |
21937
21942
  | Feedback | `alert`, `async`, `badge`, `chip`, `cookie-banner`, `password-strength`, `progress`, `skeleton`, `toast`, `typing-indicator` |
21938
- | Inputs | `button`, `button-group`, `calendar`, `checkbox`, `checkbox-group`, `combobox`, `counter`, `datagrid`, `date-picker`, `file-input`, `input`, `message-composer`, `number-input`, `otp-input`, `query-bar`, `radio`, `radio-group`, `rating`, `select`, `slider`, `switch`, `textarea`, `time-picker` |
21939
- | Layout | `box`, `grid`, `grid-item`, `navbar`, `sidebar` |
21940
- | Overlays | `command-palette`, `dialog`, `drawer`, `menu`, `navigation-menu`, `popover`, `tooltip` |
21943
+ | Inputs | `button`, `calendar`, `checkbox`, `combobox`, `counter`, `datagrid`, `date-picker`, `file-input`, `input`, `message-composer`, `number-input`, `otp-input`, `qr-scanner`, `query-bar`, `radio`, `rating`, `select`, `slider`, `switch`, `textarea`, `time-picker` |
21944
+ | Layout | `box`, `grid`, `navbar`, `separator`, `sidebar` |
21945
+ | Navigation | `breadcrumb`, `navigation-menu`, `pagination`, `stepper`, `tabs` |
21946
+ | Overlay | `command-palette`, `dialog`, `drawer`, `menu`, `popover`, `spotlight`, `tooltip`, `tour` |
21947
+
21948
+ Each row lists the entry points that own a documentation page. Sub-element entries (`accordion-item`, `tab-item`, `avatar-group`, `list-item`, `step`, and the rest) are documented on their parent's page and share its category.
21941
21949
 
21942
21950
  Each component page lists its attributes, JavaScript properties, events, slots, parts, and CSS custom properties.
21943
21951
 
@@ -21995,12 +22003,54 @@ input.addEventListener('input', (event) => {
21995
22003
 
21996
22004
  Guarded readers for the standard `input`/`change` event pattern above: they read `value`/`checked` from `event.currentTarget` only when the target actually carries it, so a handler wired to the wrong element yields `undefined`/`false` instead of a crash or a lie. Exported from the package root, which registers no components.
21997
22005
 
22006
+ ---
22007
+
22008
+ ### `animateReflow(host, signal, options)`
22009
+
22010
+ ```ts
22011
+ import { animateReflow } from '@vielzeug/refine';
22012
+
22013
+ const reflow = animateReflow(list, abortController.signal, {
22014
+ elements: () => [...list.querySelectorAll('li')],
22015
+ getKey: (item) => item.dataset.id,
22016
+ });
22017
+ reflow.run(() => renderItems(nextItems));
22018
+ ```
22019
+
22020
+ Token-driven FLIP reflow for keyed lists: captures the current layout, runs `mutate`, then animates the tracked elements into their new positions on the next frame. The same helper the DataGrid, command palette, and toast stack use.
22021
+
22022
+ | Parameter | Type | Description |
22023
+ | --- | --- | --- |
22024
+ | `host` | `HTMLElement` | Element whose computed style carries the timing tokens |
22025
+ | `signal` | `AbortSignal` | Aborting cancels in-flight animations |
22026
+ | `options.elements` | `() => HTMLElement[]` | Tracked elements, read live on both sides of the mutation |
22027
+ | `options.getKey` | `(el) => string \| undefined` | Stable identity per element; all-or-nothing |
22028
+ | `options.durationToken` | `string?` | Duration token, default `'--duration-200'` |
22029
+ | `options.easingToken` | `string?` | Easing token, default `'--ease-move'` |
22030
+ | `options.stagger` | `number?` | Per-element delay in ms, default `0` |
22031
+
22032
+ **Returns** a `Reflow` handle with one method: `run(mutate)` (sync; the animation is fire-and-forget). Timing is read from the tokens at animation time, so Motion Mode reduction skips the reflow instead of playing it instantly. Every path that cannot animate (no elements, missing keys, zeroed tokens, aborted signal, no Web Animations API) still runs `mutate` exactly once and never throws. See [Animation & Motion → List Reflow](./animation#list-reflow-animatereflow) for behavior details.
22033
+
22034
+ ---
22035
+
22036
+ ### `setMotionMode(mode)` / `getMotionMode()`
22037
+
22038
+ ```ts
22039
+ import { getMotionMode, setMotionMode } from '@vielzeug/refine';
22040
+
22041
+ setMotionMode('reduced'); // returns the applied mode
22042
+ ```
22043
+
22044
+ Read/write the `data-motion` attribute on `` (`'full' | 'reduced' | 'system'`; `'system'` removes the attribute). An unknown mode throws `RangeError`. The attribute drives the token layer: see [Animation & Motion → Motion Mode](./animation#motion-mode).
22045
+
21998
22046
  ## Types
21999
22047
 
22000
22048
  Component props follow the `OreProps` naming pattern. Event maps follow `OreEvents`. Import both from the component subpath that owns them.
22001
22049
 
22002
22050
  `RefineElementMap`, `RefineReactIntrinsicElements`, and `RefineVueGlobalComponents` are exported from their respective `frameworks/*` type entry points.
22003
22051
 
22052
+ The package root also exports `Reflow` (the `run()` handle), `ReflowOptions` (its options object), and `MotionMode` (`'full' | 'reduced' | 'system'`).
22053
+
22004
22054
  ## Errors
22005
22055
 
22006
22056
  ### `RefineError`
@@ -22242,6 +22292,10 @@ const loadingEffect = effect(() => {
22242
22292
  loadingEffect.dispose();
22243
22293
  ```
22244
22294
 
22295
+ ### Necromancer
22296
+
22297
+ Use Necromancer directly when you need animation handles, groups, or explicit keyframes. Refine's [`animateReflow`](./animation#list-reflow-animatereflow) is the token-driven wrapper over its FLIP primitive and is enough for keyed lists that reflow.
22298
+
22245
22299
  ## Best Practices
22246
22300
 
22247
22301
  - **Import** `tokens.css` once before rendering components.
package/data/llms.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  # Vielzeug
2
2
 
3
- > 43 focused TypeScript packages. Version: 26.10.20
3
+ > 43 focused TypeScript packages. Version: 26.10.22
4
4
 
5
5
  Install any package independently: `pnpm add @vielzeug/<name>`
6
6
 
@@ -4,5 +4,5 @@
4
4
  "refine": "refine.json",
5
5
  "schemaVersion": 1,
6
6
  "search": "search.json",
7
- "version": "26.10.20"
7
+ "version": "26.10.22"
8
8
  }