@kyralabs/m3e-tokens 1.4.0 → 1.5.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/NOTICE CHANGED
@@ -16,17 +16,36 @@ Copyright (C) The Android Open Source Project
16
16
  Licensed under the Apache License, Version 2.0
17
17
 
18
18
  --------------------------------------------------------------------------------
19
- AndroidX Compose Animation (animation-core: spring simulation and duration estimate)
19
+ AndroidX Compose Animation (animation-core: spring simulation and duration estimate, exponential decay)
20
20
  https://android.googlesource.com/platform/frameworks/support/+/19991f2c0858aadfcb442ce02b2c8e4743c96898/compose/animation/animation-core/
21
21
  Copyright (C) The Android Open Source Project
22
22
  Licensed under the Apache License, Version 2.0
23
23
 
24
+ --------------------------------------------------------------------------------
25
+ AndroidX Compose Foundation (anchoredDraggable: the settle target and decay / tween choice)
26
+ https://android.googlesource.com/platform/frameworks/support/+/19991f2c0858aadfcb442ce02b2c8e4743c96898/compose/foundation/foundation/
27
+ Copyright (C) The Android Open Source Project
28
+ Licensed under the Apache License, Version 2.0
29
+
24
30
  --------------------------------------------------------------------------------
25
31
  AndroidX Compose UI Graphics (Matrix: the subset MaterialShapes uses)
26
32
  https://android.googlesource.com/platform/frameworks/support/+/19991f2c0858aadfcb442ce02b2c8e4743c96898/compose/ui/ui-graphics/
27
33
  Copyright (C) The Android Open Source Project
28
34
  Licensed under the Apache License, Version 2.0
29
35
 
36
+ --------------------------------------------------------------------------------
37
+ AndroidX Compose Material3 Adaptive (window size class sets, pane scaffold directive, navigation suite type)
38
+ https://android.googlesource.com/platform/frameworks/support/+/19991f2c0858aadfcb442ce02b2c8e4743c96898/compose/material3/adaptive/
39
+ https://android.googlesource.com/platform/frameworks/support/+/19991f2c0858aadfcb442ce02b2c8e4743c96898/compose/material3/material3-adaptive-navigation-suite/
40
+ Copyright (C) The Android Open Source Project
41
+ Licensed under the Apache License, Version 2.0
42
+
43
+ --------------------------------------------------------------------------------
44
+ AndroidX WindowManager (window-core 1.5.0: WindowSizeClass breakpoints)
45
+ https://android.googlesource.com/platform/frameworks/support/+/19991f2c0858aadfcb442ce02b2c8e4743c96898/window/window-core/
46
+ Copyright (C) The Android Open Source Project
47
+ Licensed under the Apache License, Version 2.0
48
+
30
49
  --------------------------------------------------------------------------------
31
50
  AndroidX graphics-shapes (androidx.graphics:graphics-shapes 1.0.1, sources jar)
32
51
  https://dl.google.com/android/maven2/androidx/graphics/graphics-shapes/1.0.1/graphics-shapes-1.0.1-sources.jar
package/README.md CHANGED
@@ -56,6 +56,46 @@ The CLI flags are `--secondary`, `--tertiary`, `--neutral`, `--neutral-variant`
56
56
  With spec 2025 (the `tonalSpot`, `neutral`, `vibrant` and `expressive` variants) the outline and
57
57
  surface-variant roles come from the neutral palette, so `neutralVariant` has no effect there.
58
58
 
59
+ ## Window size classes
60
+
61
+ The breakpoints come from androidx window-core `WindowSizeClass` (the lower bounds Compose
62
+ Material3 adaptive classifies with) and match m3.material.io's Breakpoints page. Each value is the
63
+ **min-width / min-height** of its class, in CSS px:
64
+
65
+ | Class | Width | Height |
66
+ |---|---|---|
67
+ | compact | < 600 | < 480 |
68
+ | medium | 600–839 (`--m3e-sys-window-width-medium: 600px`) | 480–899 (`--m3e-sys-window-height-medium: 480px`) |
69
+ | expanded | 840–1199 (`--m3e-sys-window-width-expanded: 840px`) | ≥ 900 (`--m3e-sys-window-height-expanded: 900px`) |
70
+ | large | 1200–1599 (`--m3e-sys-window-width-large: 1200px`) | — |
71
+ | extra-large | ≥ 1600 (`--m3e-sys-window-width-extra-large: 1600px`) | — |
72
+
73
+ CSS custom properties cannot appear in `@media` or `@container` conditions, so queries write the
74
+ px value from the table; the variables are for sizes (`max-inline-size:
75
+ var(--m3e-sys-window-width-expanded)`) and for reading from JS:
76
+
77
+ ```css
78
+ @media (min-width: 840px) {
79
+ /* expanded and up */
80
+ }
81
+ .layout {
82
+ container-type: inline-size;
83
+ }
84
+ @container (min-width: 600px) {
85
+ /* the container is medium or wider */
86
+ }
87
+ ```
88
+
89
+ ```ts
90
+ import { windowBreakpoints } from '@kyralabs/m3e-tokens';
91
+
92
+ windowBreakpoints.width.expanded; // 840
93
+ ```
94
+
95
+ To classify a size or follow the window at runtime, use `windowSizeClass()` and
96
+ `observeWindowSizeClass()` from `@kyralabs/m3e-elements` or `useWindowSizeClass()` from
97
+ `@kyralabs/m3e-react`.
98
+
59
99
  ## Font profiles
60
100
 
61
101
  Import exactly one Google Sans Flex profile. Each registers the same `"Google Sans Flex"` family,