@materialwebunofficial/antigravity-themes 0.0.0-stage → 1.0.4
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/LICENSE +201 -0
- package/NOTICE +30 -0
- package/README.md +294 -2
- package/bin/cli.mjs +324 -0
- package/lib/autostart.mjs +90 -0
- package/lib/bundle.mjs +73 -0
- package/lib/injector.mjs +176 -0
- package/lib/paths.mjs +35 -0
- package/package.json +40 -4
- package/src/code-tools.js +137 -0
- package/src/context-card.js +542 -0
- package/src/loading-indicator.js +74 -0
- package/src/progress-indicators.js +98 -0
- package/src/theme-host.js +904 -0
- package/src/turn-tokens.js +115 -0
- package/themes/index.json +27 -0
- package/themes/matte.css +588 -0
- package/themes/md3e-icons.css +244 -0
- package/themes/md3e-tokens.css +834 -0
- package/themes/md3e.css +1400 -0
- package/themes/nordic.css +370 -0
- package/themes/paper.css +414 -0
- package/vendor/md3e/LICENSE +176 -0
- package/vendor/md3e/NOTICE +686 -0
- package/vendor/md3e/Roboto-OFL.txt +93 -0
- package/vendor/md3e/SOURCE.txt +10 -0
- package/vendor/md3e/components.js +4682 -0
- package/vendor/md3e/roboto-variable.woff2 +0 -0
|
@@ -0,0 +1,686 @@
|
|
|
1
|
+
MD3 Expressive for Web (md3e-web-unofficial) [Unofficial Web Adaptation]
|
|
2
|
+
Copyright 2025-2026 Material Web Unofficial Contributors
|
|
3
|
+
|
|
4
|
+
This product is an independent, unofficial community web adaptation and includes
|
|
5
|
+
software and design specifications developed by or derived from the following third-party works:
|
|
6
|
+
|
|
7
|
+
===============================================================================
|
|
8
|
+
1. Material Design 3 & Material 3 Expressive Design System
|
|
9
|
+
===============================================================================
|
|
10
|
+
Copyright Google LLC.
|
|
11
|
+
Website: https://m3.material.io/
|
|
12
|
+
Licensed under the Apache License, Version 2.0 (the "License").
|
|
13
|
+
You may obtain a copy of the License at: http://www.apache.org/licenses/LICENSE-2.0
|
|
14
|
+
|
|
15
|
+
This library implements design tokens, color roles, elevation, typography,
|
|
16
|
+
shapes, and motion schemes specified by the Material Design 3 and
|
|
17
|
+
Material 3 Expressive guidelines.
|
|
18
|
+
|
|
19
|
+
===============================================================================
|
|
20
|
+
2. Android Open Source Project (AOSP) - AndroidX Jetpack Compose Material 3
|
|
21
|
+
===============================================================================
|
|
22
|
+
Copyright (C) The Android Open Source Project
|
|
23
|
+
Repository: https://android.googlesource.com/platform/frameworks/support/+/refs/heads/androidx-main/compose/material3/
|
|
24
|
+
Mirror: https://github.com/androidx/androidx
|
|
25
|
+
Licensed under the Apache License, Version 2.0 (the "License").
|
|
26
|
+
|
|
27
|
+
Component architectures, token definitions (e.g. SheetBottomTokens,
|
|
28
|
+
AppBarTokens, ToolbarTokens, MotionScheme, SpringPhysics), interaction states,
|
|
29
|
+
and API surfaces in this library are adapted from the official AndroidX
|
|
30
|
+
Compose Material 3 Kotlin implementation.
|
|
31
|
+
|
|
32
|
+
Loading indicator cubic geometry and morph pairs are generated from AndroidX
|
|
33
|
+
graphics-shapes (RoundedPolygon, Morph and their helpers), MaterialShapes.kt,
|
|
34
|
+
and LoadingIndicator.kt at revision a095da93f8e98dea8748ceed79ea8427aade245f.
|
|
35
|
+
Spring completion timing is generated from animation-core/SpringEstimation.kt.
|
|
36
|
+
The generator substitutes minimal Compose geometry adapters for standalone JVM
|
|
37
|
+
execution; the browser interpolates exported cubic pairs and renders them on Canvas.
|
|
38
|
+
See tools/androidx-shapes for the reproducible generator and source hash manifest.
|
|
39
|
+
The canonical SVG shape catalog in src/tokens/shapes.js is generated from the
|
|
40
|
+
same normalized MaterialShapes polygons. Legacy hexagon remains a web extension.
|
|
41
|
+
|
|
42
|
+
===============================================================================
|
|
43
|
+
3. Material Components for Android (MDC-Android)
|
|
44
|
+
===============================================================================
|
|
45
|
+
Copyright (C) Google LLC.
|
|
46
|
+
Repository: https://github.com/material-components/material-components-android
|
|
47
|
+
Licensed under the Apache License, Version 2.0 (the "License").
|
|
48
|
+
|
|
49
|
+
DockedToolbar, FloatingToolbar, and bottom sheet surface mechanics reference
|
|
50
|
+
MDC-Android specifications.
|
|
51
|
+
|
|
52
|
+
The shared browser modal window adapter follows MDC Material3 Dialog's
|
|
53
|
+
fade-enter/fade-exit XML resources, motion values and scrim token at revision
|
|
54
|
+
60ff09436d5d477a4b9d02940f31eb01e1250620. Unchanged reference sources and original
|
|
55
|
+
license headers are retained in test/fixtures/androidx/dialog.
|
|
56
|
+
|
|
57
|
+
===============================================================================
|
|
58
|
+
4. Material Color Utilities / HCT Color System
|
|
59
|
+
===============================================================================
|
|
60
|
+
Copyright (C) Google LLC.
|
|
61
|
+
Repository: https://github.com/material-foundation/material-color-utilities
|
|
62
|
+
Licensed under the Apache License, Version 2.0 (the "License").
|
|
63
|
+
|
|
64
|
+
The HCT (Hue-Chroma-Tone) dynamic tonal palettes and color derivation algorithms
|
|
65
|
+
used in the theme system are based on Google's Material Color Utilities.
|
|
66
|
+
|
|
67
|
+
===============================================================================
|
|
68
|
+
5. Material Symbols & Google Fonts
|
|
69
|
+
===============================================================================
|
|
70
|
+
Copyright Google LLC.
|
|
71
|
+
Website: https://fonts.google.com/icons
|
|
72
|
+
Licensed under the Apache License, Version 2.0.
|
|
73
|
+
The local Roboto text font is covered separately by the SIL Open Font License below.
|
|
74
|
+
|
|
75
|
+
Material Color Utilities runtime
|
|
76
|
+
Copyright 2021-2026 Google LLC. Licensed under Apache-2.0.
|
|
77
|
+
The generated src/theme/material-color-utilities.js bundles unmodified algorithms
|
|
78
|
+
from @material/material-color-utilities version 0.4.0. Its upstream license is
|
|
79
|
+
included in tools/material-color-utilities/LICENSE; notices remain in the module.
|
|
80
|
+
Reproducible download, integrity verification and bundling: tools/material-color-utilities.
|
|
81
|
+
|
|
82
|
+
Roboto text font
|
|
83
|
+
Copyright 2011 The Roboto Project Authors (https://github.com/googlefonts/roboto-classic).
|
|
84
|
+
Licensed under the SIL Open Font License, Version 1.1; see src/fonts/Roboto-OFL.txt
|
|
85
|
+
(also distributed as dist/fonts/Roboto-OFL.txt). Vendored from google/fonts at
|
|
86
|
+
1c627bfa375fc51cf86fabeca4f6e08a95f0aa5c and losslessly compressed as WOFF2.
|
|
87
|
+
No font subsetting or outline modification is applied.
|
|
88
|
+
|
|
89
|
+
Typography token catalog
|
|
90
|
+
Copyright 2021 The Android Open Source Project. Apache-2.0.
|
|
91
|
+
TypeScaleTokens.kt and TypefaceTokens.kt at the AndroidX revision listed above
|
|
92
|
+
are included in test/fixtures/androidx. Generated catalog/CSS: tools/androidx-typography.
|
|
93
|
+
|
|
94
|
+
Selection motion duration estimator
|
|
95
|
+
Copyright 2020 The Android Open Source Project. Apache-2.0.
|
|
96
|
+
src/motion/spring-duration.js ports SpringEstimation.kt from AndroidX revision
|
|
97
|
+
a095da93f8e98dea8748ceed79ea8427aade245f. Original sources and independently
|
|
98
|
+
generated Kotlin fixtures are in test/fixtures/androidx/motion;
|
|
99
|
+
see tools/androidx-motion for reproduction and bridge details.
|
|
100
|
+
|
|
101
|
+
Navigation rail measurement
|
|
102
|
+
Copyright 2024 The Android Open Source Project. Apache-2.0.
|
|
103
|
+
src/components/navigation-rail-layout.js adapts AnimatedMeasurePolicy and
|
|
104
|
+
placeAnimatedLabelAndIcon from NavigationItem.kt at the AndroidX revision above.
|
|
105
|
+
Original sources: test/fixtures/androidx/navigation; extracted Kotlin policy
|
|
106
|
+
oracle and platform measurement adapters: tools/androidx-navigation.
|
|
107
|
+
|
|
108
|
+
Navigation label color motion
|
|
109
|
+
Copyright 2019 The Android Open Source Project. Apache-2.0.
|
|
110
|
+
src/motion/color-motion.js adapts the ColorVectorConverter channel order,
|
|
111
|
+
drawing constraints and VectorizedFloatAnimationSpec shared spring duration.
|
|
112
|
+
Original source references/hashes: test/fixtures/androidx/color and motion.
|
|
113
|
+
The browser performs CSS color conversion; it is not a port of AndroidX packed
|
|
114
|
+
color storage. Independent Kotlin vector trajectory fixtures: tools/androidx-motion.
|
|
115
|
+
|
|
116
|
+
Navigation drawer geometry and motion
|
|
117
|
+
Copyright 2020-2024 The Android Open Source Project. Apache-2.0.
|
|
118
|
+
src/components/md-navigation-drawer.js adapts NavigationDrawer.kt's sheet/item
|
|
119
|
+
geometry, horizontalScaleUp/horizontalScaleDown and offset scrim fraction at the
|
|
120
|
+
AndroidX revision above. Original sources/hashes: test/fixtures/androidx/navigation-drawer.
|
|
121
|
+
src/motion/drawer-motion.js adapts its gesture target thresholds, captured256ms
|
|
122
|
+
FloatTweenSpec, FastOutSlowIn cubic/fastCbrt and default exponential decay.
|
|
123
|
+
src/motion/velocity-tracker.js adapts VelocityTracker1D/polyFitLeastSquares and
|
|
124
|
+
Lsq2VelocityTracker's event history/UP stop rule (Copyright2019-2025 AOSP).
|
|
125
|
+
src/motion/touch-slop.js adapts horizontal TouchSlopDetector and
|
|
126
|
+
ViewConfiguration.pointerSlop (Copyright2020 AOSP). Original source references,
|
|
127
|
+
flags and independently compiled threshold/offset cases: tools/androidx-drawer.
|
|
128
|
+
Independent Kotlin samples: tools/androidx-drawer. Native dialog modal behavior
|
|
129
|
+
and pointer input delivery are web adaptations; platform view configuration,
|
|
130
|
+
closed-container routing, multi-drawer ownership and predictive back remain under audit.
|
|
131
|
+
|
|
132
|
+
Tab measurement, indicator placement and scroll consumption
|
|
133
|
+
Copyright 2019-2022 The Android Open Source Project. Apache-2.0.
|
|
134
|
+
src/components/tab-layout.js adapts Tab.kt, TabRow.kt and Scroll.kt at the
|
|
135
|
+
AndroidX revision above. MdTabs applies their public geometry, defaults and motion
|
|
136
|
+
roles using native web fonts/input/panels. Original licensed sources and SHA
|
|
137
|
+
references: test/fixtures/androidx/tabs. Independent unchanged-body Kotlin
|
|
138
|
+
projection and host adapter details: tools/androidx-tabs; spring trajectories:
|
|
139
|
+
tools/androidx-motion. Generic Compose content/modifier APIs and exact platform
|
|
140
|
+
font/ripple/focus/hit routing are outside the currently verified tab core.
|
|
141
|
+
|
|
142
|
+
Floating toolbar measurement, balanced padding and visibility placement
|
|
143
|
+
Copyright 2020-2024 The Android Open Source Project. Apache-2.0.
|
|
144
|
+
src/components/toolbar-layout.js and md-toolbar.js adapt FloatingToolbar.kt and
|
|
145
|
+
EnterExitTransition.kt at the AndroidX revision above. Docked colors adapt MDC
|
|
146
|
+
DockedToolbarLayout resources at 60ff09436d5d477a4b9d02940f31eb01e1250620.
|
|
147
|
+
Original licensed files, URLs and SHA references: test/fixtures/androidx/toolbars
|
|
148
|
+
and test/fixtures/mdc/toolbars. Unchanged-body Kotlin projections and explicit
|
|
149
|
+
host measurement/animation adapters: tools/androidx-toolbars. Native focus/input,
|
|
150
|
+
slot metrics and CSS shadows are web adaptations, not Android renderer ports.
|
|
151
|
+
|
|
152
|
+
Floating toolbar scrolling and Android spline decay
|
|
153
|
+
Copyright 2020-2024 The Android Open Source Project. Apache-2.0.
|
|
154
|
+
src/components/toolbar-scroll.js and src/motion/android-fling.js adapt
|
|
155
|
+
FloatingToolbar.kt, SplineBasedDecay.kt, FlingCalculator.kt and
|
|
156
|
+
SplineBasedFloatDecayAnimationSpec.kt at the pinned AndroidX revision above.
|
|
157
|
+
Original source/URL/SHA fixtures, including Android16 ViewConfiguration friction:
|
|
158
|
+
test/fixtures/androidx/toolbar-scroll. Whole-body projections, shared original
|
|
159
|
+
spring implementation and host clock/modifier adapters: tools/androidx-toolbar-scroll.
|
|
160
|
+
Browser scroll delivery, CSS parent coordinates, pointer capture and native
|
|
161
|
+
focus/accessibility management are explicit web adaptations.
|
|
162
|
+
|
|
163
|
+
Floating toolbar parent constraints and padded scroll measurement
|
|
164
|
+
Copyright 2019-2024 The Android Open Source Project. Apache-2.0.
|
|
165
|
+
src/components/toolbar-layout.js and md-toolbar.js adapt FloatingToolbar.kt,
|
|
166
|
+
Constraints.kt, Size.kt, Padding.kt, Scroll.kt and Placeable.kt at the pinned
|
|
167
|
+
AndroidX revision above. Licensed originals with URLs/SHA references:
|
|
168
|
+
test/fixtures/androidx/toolbar-constraints. Original-body Kotlin measurement
|
|
169
|
+
and placement projection with explicit content/intrinsic/tree adapters:
|
|
170
|
+
tools/androidx-toolbar-constraints. CSS allocation is a browser adaptation;
|
|
171
|
+
Compose Row/Column/composition and platform rendering are not executed.
|
|
172
|
+
|
|
173
|
+
Floating toolbar Row/Column and minimum interactive measurement
|
|
174
|
+
Copyright 2019-2024 The Android Open Source Project. Apache-2.0.
|
|
175
|
+
src/components/row-column-layout.js, toolbar-layout.js and md-toolbar.js adapt
|
|
176
|
+
Row.kt, Column.kt, RowColumnMeasurePolicy.kt, RowColumnImpl.kt, Arrangement.kt,
|
|
177
|
+
Alignment.kt and InteractiveComponentSize.kt at the pinned AndroidX revision.
|
|
178
|
+
Licensed originals, URLs and SHA references: test/fixtures/androidx/toolbar-row.
|
|
179
|
+
Original-body Kotlin policies, intrinsic helpers, modifiers and placement
|
|
180
|
+
execute through tools/androidx-toolbar-row. Slotted leaf/font measurement,
|
|
181
|
+
explicit group alignment lines, sampled animation values and CSS allocation
|
|
182
|
+
are host adapters; the complete Compose UI and rendering pipeline is not run.
|
|
183
|
+
|
|
184
|
+
Floating toolbar inherited alignment lines
|
|
185
|
+
Copyright 2021-2024 The Android Open Source Project. Apache-2.0.
|
|
186
|
+
src/components/row-column-layout.js and toolbar-layout.js adapt
|
|
187
|
+
LayoutNodeAlignmentLines.kt, AlignmentLine.kt and the source coordinator get/
|
|
188
|
+
parent mapping at the pinned AndroidX revision. Licensed originals, URLs and
|
|
189
|
+
SHA references: test/fixtures/androidx/toolbar-alignment. Unchanged-body Kotlin
|
|
190
|
+
projection with explicit coordinator/owner/identity-layer/deferred-placement
|
|
191
|
+
adapters: tools/androidx-toolbar-alignment. Full Compose scheduling, arbitrary
|
|
192
|
+
custom providers/layers and platform rendering remain separate audit boundaries.
|
|
193
|
+
|
|
194
|
+
Floating toolbar omitted inner Row/Column alignment
|
|
195
|
+
-------------------------------------------------------------------------------
|
|
196
|
+
src/components/row-column-layout.js, toolbar-layout.js and md-toolbar.js adapt
|
|
197
|
+
the omitted inner Row Top/Column logical Start defaults while retaining explicit
|
|
198
|
+
Scope.align overrides and centered outer groups from FloatingToolbar.kt at
|
|
199
|
+
AndroidX revision a095da93f8e98dea8748ceed79ea8427aade245f. Licensed originals,
|
|
200
|
+
URLs and SHA references: test/fixtures/androidx/toolbar-inner-alignment. Original
|
|
201
|
+
default-policy factories and shared modifier/coordinator projections execute
|
|
202
|
+
through tools/androidx-toolbar-inner-alignment. Remember/leaf measurement,
|
|
203
|
+
visibility sampling and owner scheduling are explicit host boundaries; full
|
|
204
|
+
Compose runtime/input/rendering is not executed.
|
|
205
|
+
|
|
206
|
+
Floating toolbar two-dimensional size motion and visibility composition
|
|
207
|
+
Copyright 2019-2025 The Android Open Source Project. Apache-2.0.
|
|
208
|
+
src/motion/size-motion.js, toolbar-layout.js and md-toolbar.js adapt vectorized
|
|
209
|
+
IntSize springs, converted-value/Float-velocity retargeting and ordinary
|
|
210
|
+
AnimatedVisibility composition/disposal at the pinned AndroidX revision.
|
|
211
|
+
Twelve licensed originals, URLs and SHA references:
|
|
212
|
+
test/fixtures/androidx/toolbar-size-motion. Original-body vector/spring/converter/
|
|
213
|
+
TargetBasedAnimation/Transition/gate and shared native modifier projections:
|
|
214
|
+
tools/androidx-toolbar-size-motion. Clock/derived-state/scheduling and CSS/DOM
|
|
215
|
+
are explicit host adapters; full Compose runtime and platform rendering are not run.
|
|
216
|
+
|
|
217
|
+
Floating toolbar configurable content padding and modifier intrinsic fallback
|
|
218
|
+
Copyright 2019-2024 The Android Open Source Project. Apache-2.0.
|
|
219
|
+
src/components/toolbar-padding.js, toolbar-layout.js and md-toolbar.js adapt
|
|
220
|
+
logical/absolute PaddingValues, per-edge Float Dp rounding, and configurable
|
|
221
|
+
padding from FloatingToolbar.kt and Padding.kt at AndroidX revision
|
|
222
|
+
a095da93f8e98dea8748ceed79ea8427aade245f. Four unchanged licensed originals,
|
|
223
|
+
including Density.kt and LayoutModifierNode.kt, with exact URLs/SHA references:
|
|
224
|
+
test/fixtures/androidx/toolbar-padding. Complete original padding-value bodies,
|
|
225
|
+
Dp.roundToPx and ordinary default modifier intrinsic bodies execute through
|
|
226
|
+
tools/androidx-toolbar-padding, reusing independently verified original toolbar,
|
|
227
|
+
Row/Column, coordinator, scroll and Placeable projections. Density-1 scopes,
|
|
228
|
+
opaque with-FAB content, finite intrinsic inputs and browser allocation are
|
|
229
|
+
explicit hosts; full Compose runtime, native child cross layout, unbounded
|
|
230
|
+
intrinsic approximation and platform renderer equivalence are not claimed.
|
|
231
|
+
|
|
232
|
+
Floating toolbar native with-FAB Row/Column content
|
|
233
|
+
Copyright 2019-2024 The Android Open Source Project. Apache-2.0.
|
|
234
|
+
src/components/toolbar-layout.js and md-toolbar.js adapt the centered with-FAB
|
|
235
|
+
Row/Column content tree, child parent data, native minimum-interactive/SizeNode
|
|
236
|
+
body constraints, weighted intrinsic reservation and scroll extent from the
|
|
237
|
+
pinned AndroidX sources. Seven unchanged originals with exact URLs/SHA references:
|
|
238
|
+
test/fixtures/androidx/toolbar-fab-content, including Layout.kt's LargeDimension
|
|
239
|
+
for unbounded default modifier intrinsic queries. Original factories, policies,
|
|
240
|
+
intrinsic methods and shared modifier/coordinator/padding/scroll/placement bodies
|
|
241
|
+
execute through tools/androidx-toolbar-fab-content. Generic leaf metrics/lines,
|
|
242
|
+
density-1 scopes, empty intrinsic storage and owner/scheduling are explicit hosts;
|
|
243
|
+
full Compose runtime, text shaping, custom layers and platform rendering/input
|
|
244
|
+
are separate boundaries. Private CSS placement, overflow extent and zero-width
|
|
245
|
+
RTL scroll handling are browser adapters. An inert transparent extent element
|
|
246
|
+
retains source main-axis scrolling when generic content has zero cross size;
|
|
247
|
+
it does not alter measured group/child bounds and is hidden in other modes.
|
|
248
|
+
|
|
249
|
+
Compose toolbar corner shapes
|
|
250
|
+
Copyright 2019-2025 The Android Open Source Project. Apache-2.0.
|
|
251
|
+
src/shapes/corner-shape.js adapts CornerBasedShape, CornerSize, RoundedCornerShape,
|
|
252
|
+
CutCornerShape and absolute variants, CircleShape/RectangleShape defaults, and
|
|
253
|
+
RoundRect point containment at AndroidX revision
|
|
254
|
+
a095da93f8e98dea8748ceed79ea8427aade245f. Twenty-two unchanged licensed originals,
|
|
255
|
+
URLs and SHA references: test/fixtures/androidx/corner-shapes. The public web
|
|
256
|
+
descriptor/parser, CSS rounded/polygon clipping and src/shapes/outline-shadow.js
|
|
257
|
+
SVG shadow are browser adapters. Native Android Path/Skia rasterization, arbitrary
|
|
258
|
+
Compose Shape implementations and graphics-layer shadow/input rendering are not
|
|
259
|
+
executed by this port or its JVM geometry projection.
|
|
260
|
+
|
|
261
|
+
Progress indicator geometry and shapes
|
|
262
|
+
Copyright 2021-2024 The Android Open Source Project. Apache-2.0.
|
|
263
|
+
src/components/progress-indicator-layout.js, progress-indicator-path.js and
|
|
264
|
+
md-progress-indicator.js adapt ProgressIndicator.kt, WavyProgressIndicator.kt,
|
|
265
|
+
LinearWavyProgressModifiers.kt, CircularWavyProgressModifiers.kt and ShapeUtil.kt
|
|
266
|
+
at AndroidX revision a095da93f8e98dea8748ceed79ea8427aade245f. Nine unchanged
|
|
267
|
+
licensed source/token files with URLs and SHA references are under
|
|
268
|
+
test/fixtures/androidx/progress-indicators. tools/androidx-progress executes
|
|
269
|
+
source standard drawing bodies through a density-1 draw recorder and the shared
|
|
270
|
+
pinned graphics-shapes runtime; src/tokens/progress-morphs.js contains its native
|
|
271
|
+
circle/star/Morph coefficients. Rotational wedge reconstruction, quadratic/cubic
|
|
272
|
+
path measurement, CSS color resolution, Canvas drawing/ARIA and lifecycle are
|
|
273
|
+
browser adapters. Native Skia rasterization, complete Compose animation/runtime
|
|
274
|
+
scheduling and polygon construction beyond generated counts remain boundaries.
|
|
275
|
+
|
|
276
|
+
Slider track/tick/stop geometry and snapping in src/components/slider-layout.js
|
|
277
|
+
are adapted from AndroidX Material3 Slider.kt / SliderTokens.kt at revision
|
|
278
|
+
a095da93f8e98dea8748ceed79ea8427aade245f (Copyright 2022 The Android Open
|
|
279
|
+
Source Project, Apache License 2.0). Original sources, URLs and hashes are in
|
|
280
|
+
test/fixtures/androidx/sliders; tools/androidx-sliders executes unchanged
|
|
281
|
+
source bodies for reference drawing fixtures.
|
|
282
|
+
|
|
283
|
+
Slider pointer dispatch, slop and canceled-drag completion
|
|
284
|
+
Copyright 2019-2022 The Android Open Source Project. Apache-2.0.
|
|
285
|
+
src/components/slider-layout.js and md-slider.js also adapt SliderState's scalar
|
|
286
|
+
pixel-to-user dispatch, onPress, RangeSliderState.onDrag/updateMinMaxPx and
|
|
287
|
+
sliderTapModifier/rangeSliderPressDragModifier from
|
|
288
|
+
the same Slider.kt, plus gesture threshold and cancellation behavior from
|
|
289
|
+
Foundation Draggable.kt / DragGestureDetector.kt at the revision above. All four
|
|
290
|
+
unchanged licensed originals are pinned in test/fixtures/androidx/sliders.
|
|
291
|
+
tools/androidx-sliders executes unchanged scalar dispatch bodies through a
|
|
292
|
+
density-1 field host; browser pointer events, labels, forms and focus delegation
|
|
293
|
+
are web adapters. The full Compose gesture/coroutine runtime is not executed.
|
|
294
|
+
|
|
295
|
+
Material3 common ripple
|
|
296
|
+
Copyright 2019-2026 The Android Open Source Project. Apache-2.0.
|
|
297
|
+
src/motion/ripple-state.js and ripple.js adapt current material3-ripple
|
|
298
|
+
CommonRippleNode/RippleAnimation geometry, channel durations, release behavior
|
|
299
|
+
and concurrent exit handling at AndroidX revision
|
|
300
|
+
a095da93f8e98dea8748ceed79ea8427aade245f. Unchanged originals, raw URLs, hashes
|
|
301
|
+
and licenses are in test/fixtures/androidx/ripple. The scalar recorder also uses
|
|
302
|
+
the pinned FloatTweenSpec, Easing, Bezier and math bodies already attributed
|
|
303
|
+
above. Foundation Clickable.kt at the same revision supplies disable-time
|
|
304
|
+
PressInteraction.Cancel behavior while retaining the indication node.
|
|
305
|
+
DOM clipping, CSS relative color, event/AbortSignal lifetime and reduced
|
|
306
|
+
motion are web adapters. Native Android RippleDrawable, full coroutine/frame
|
|
307
|
+
scheduling, color packing and Skia rasterization are separate platform boundaries.
|
|
308
|
+
|
|
309
|
+
src/motion/interaction-tween.js and fab-interactions.js adapt the unchanged
|
|
310
|
+
internal Elevation.animateElevation/spec selectors, FAB interaction ordering
|
|
311
|
+
and target calculation, and current Material3 Ripple state-layer ordering and
|
|
312
|
+
spec selectors at the same revision. Normal/lowered defaults follow the pinned
|
|
313
|
+
FabPrimaryContainerTokens and ElevationTokens. Native FloatTweenSpec and easing
|
|
314
|
+
execute independently in tools/androidx-ripple/interaction-snapshot.mjs.
|
|
315
|
+
src/motion/shadow-tween.js maps the scalar elevation to live CSS shadow tokens;
|
|
316
|
+
it does not implement Android shadow rasterization. Browser focus-visible,
|
|
317
|
+
event/frame delivery and reduced motion remain platform adapters.
|
|
318
|
+
|
|
319
|
+
src/motion/fab-expansion.js and md-fab.js adapt the pinned AndroidX
|
|
320
|
+
ExtendedFloatingActionButton sized Float and baseline AnimatedVisibility paths,
|
|
321
|
+
including separate width/alpha springs, integer layout, current-value conversion,
|
|
322
|
+
retargeted velocity and retained exiting content. FAB dimensions and recommended
|
|
323
|
+
icon sizes follow the original tokens and FloatingActionButtonDefaults/samples.
|
|
324
|
+
Unchanged originals, raw URLs, SHA-256 and licenses are under
|
|
325
|
+
test/fixtures/androidx/fab and the existing ripple/motion/toolbar directories.
|
|
326
|
+
tools/androidx-fab/snapshot.mjs executes the original finite spring, converter,
|
|
327
|
+
Transition and baseline enter/exit policy bodies. Intrinsic text measurement,
|
|
328
|
+
DOM clipping, event delivery, focus, reconnect and reduced motion are web
|
|
329
|
+
adapters; full native constraints/placement, Compose scheduling and platform
|
|
330
|
+
rasterization remain separate boundaries.
|
|
331
|
+
|
|
332
|
+
src/theme/surface-color.js and md-fab.js adapt the pinned ColorScheme
|
|
333
|
+
contentColorFor, surfaceColorAtElevation, Surface tonal-elevation policy and
|
|
334
|
+
minimum-interactive measurement. Licensed originals and URL/SHA manifests are
|
|
335
|
+
in test/fixtures/androidx/fab-surface. tools/androidx-fab/surface-snapshot.mjs
|
|
336
|
+
executes unchanged sRGB Color constructor/compositor and ColorScheme bodies
|
|
337
|
+
through explicit color-space/Dp/composition-local hosts. Native non-sRGB color
|
|
338
|
+
conversion/packing, Compose constraint propagation and platform hit testing
|
|
339
|
+
remain separate boundaries; CSS lengths, color resolution and context variables
|
|
340
|
+
are web adapters.
|
|
341
|
+
|
|
342
|
+
Loading indicator color defaults follow unchanged LoadingIndicator.kt and
|
|
343
|
+
LoadingIndicatorTokens.kt at the same pinned AndroidX revision, cached with
|
|
344
|
+
URL/SHA/license manifest under test/fixtures/androidx/loading-colors by
|
|
345
|
+
tools/androidx-shapes/loading-color-sources.mjs. CSS color/expression resolution,
|
|
346
|
+
contained-background attributes and live theme delivery are web adapters.
|
|
347
|
+
|
|
348
|
+
md-bottom-app-bar.js adapts BottomAppBar/FlexibleBottomAppBar public defaults,
|
|
349
|
+
Surface color/tonal policy, content padding and caller-content slots from the
|
|
350
|
+
same pinned AndroidX AppBar.kt and BottomAppBar/DockedToolbar/AppBar tokens.
|
|
351
|
+
Seventeen unchanged originals with URL/SHA/license manifest are cached under
|
|
352
|
+
test/fixtures/androidx/app-bars by tools/androidx-app-bars/fetch-sources.mjs.
|
|
353
|
+
MdFab's bottom-app-bar elevation preset follows FloatingActionButtonDefaults.
|
|
354
|
+
bottomAppBarFabElevation (all states 0dp), retained in the existing ripple
|
|
355
|
+
FloatingActionButton source fixture. bottom-app-bar-layout.js now composes the
|
|
356
|
+
shared source Row/Placeable/minimum-interactive port with the original
|
|
357
|
+
Fill/Size/Padding and Box measurement order. tools/androidx-app-bars/
|
|
358
|
+
generate-bottom-layout.py executes those unchanged native bodies for 6720
|
|
359
|
+
standard/flexible trees; BottomTree.kt supplies leaf sizes, bounds, parent data,
|
|
360
|
+
safe-area values and the public composables' modifier tree. Complete Compose
|
|
361
|
+
composition, intrinsic/custom modifiers and native system-insets runtime remain
|
|
362
|
+
platform/API boundaries; DOM dimensions,
|
|
363
|
+
CSS constraint probing/safe-area values, grouping and action events are web
|
|
364
|
+
adapters. MdFab accepts the measured width/height constraints through private
|
|
365
|
+
inherited variables while retaining its separate minimum-interactive layout.
|
|
366
|
+
bottom-app-bar-scroll.js implements BottomAppBarStateImpl and ExitAlways from
|
|
367
|
+
the same AppBar.kt. Its outer layout uses the complete native measurement order,
|
|
368
|
+
including Placeable coercion of the reduced parent height. The original bottom
|
|
369
|
+
and top settling bodies are identical after state/type naming is normalized;
|
|
370
|
+
their shared web frame engine uses separate FastSpatial/DefaultEffects defaults.
|
|
371
|
+
generate-bottom-scroll.py executes complete unchanged bottom state, scroll,
|
|
372
|
+
settling and outer-layout bodies with original Android spline/FloatSpringSpec
|
|
373
|
+
and hash-verified Expressive/Standard FastSpatial tokens. BottomScroll.kt and
|
|
374
|
+
the adapter supply state storage, default trees, bounds/insets and explicit
|
|
375
|
+
frame/measurement ordering; full Compose runtime scheduling is not executed.
|
|
376
|
+
DOM consumed-scroll delivery, source pointer/slop/velocity adapters, reduced
|
|
377
|
+
motion, touch-exploration host state and callback/event lifecycle are web bridges.
|
|
378
|
+
IconButton's inherited disabled content replaces alpha using the source
|
|
379
|
+
IconButtonDefaults/StandardIconButtonTokens policy. CSS relative colors are
|
|
380
|
+
the web adapter; this does not establish native Color packing/raster equality.
|
|
381
|
+
The same source manifest includes filled/tonal/outlined icon tokens for disabled
|
|
382
|
+
color targets, the 0.1 container opacity and checked outline removal. Unused
|
|
383
|
+
tokens are not substituted for the public factory's actual returned colors.
|
|
384
|
+
|
|
385
|
+
md-top-app-bar.js and top-app-bar-layout.js adapt SingleRowTopAppBar,
|
|
386
|
+
TwoRowsTopAppBar, TopAppBarMeasurePolicy and the default padded Box/Row/Column
|
|
387
|
+
composition, using the AppBar small/medium/large/flexible tokens. The original
|
|
388
|
+
BoxMeasurePolicy/placeInBox bodies are included with their original license.
|
|
389
|
+
tools/androidx-app-bars/generate-top-layout.py executes these unchanged measure
|
|
390
|
+
bodies, the shared original Row/Column/Padding/Size/minimum-interactive/Placeable
|
|
391
|
+
policies, and original CubicBezierEasing/Bezier math. The harness supplies slots,
|
|
392
|
+
parent constraints, body dimensions and baseline inputs. Tree fixtures leave
|
|
393
|
+
the baseline host unspecified; explicit baseline placement is covered by the
|
|
394
|
+
independent TopAppBarMeasurePolicy fixture. Visibility/sample/frame scheduling,
|
|
395
|
+
DOM text/slot measurements, CSS color-space conversion/serialization, safe-area
|
|
396
|
+
insets, focus/semantics and state inputs remain web adapters. Coupled native
|
|
397
|
+
scroll composition/remeasurement, font shaping, Color packing/pixels, custom modifier
|
|
398
|
+
semantics and other browser/platform implementations are not established by
|
|
399
|
+
these fixtures. Source curve adapters are in src/motion/top-app-bar-motion.js;
|
|
400
|
+
the single-row color spring reuses the shared native ColorMotion implementation.
|
|
401
|
+
|
|
402
|
+
top-app-bar-scroll.js also adapts original TopAppBarState,
|
|
403
|
+
PinnedScrollBehavior, EnterAlwaysScrollBehavior, LegacyEnterAlwaysScrollBehavior,
|
|
404
|
+
ExitUntilCollapsedScrollBehavior and settleAppBar from the same AppBar.kt.
|
|
405
|
+
generate-top-scroll.py executes those unchanged bodies with explicit host state
|
|
406
|
+
storage, vectors and frames, using original Android spline and FloatSpringSpec.
|
|
407
|
+
Nullable specs, Float state/overlap, source consumed/remaining deltas and settling
|
|
408
|
+
are covered. DOM wheel/touch/scrollend ordering, native fling velocity and coupled
|
|
409
|
+
native measure/settle scheduling remain platform-host boundaries.
|
|
410
|
+
|
|
411
|
+
The unchanged Snackbar.kt, SnackbarHost.kt, SnackbarTokens.kt,
|
|
412
|
+
ComposeMaterial3Flags.kt and foundation-layout AlignmentLine.kt reference files
|
|
413
|
+
in test/fixtures/androidx/snackbar are Copyright 2019-2025 The Android Open Source
|
|
414
|
+
Project, licensed under Apache-2.0.
|
|
415
|
+
Original copyright/license headers are retained. Their exact pinned URLs and
|
|
416
|
+
SHA-256 hashes are recorded in that directory's sources.json. They are cached
|
|
417
|
+
reference inputs for the snackbar audit. md-snackbar.js and snackbar-host-state.js
|
|
418
|
+
adapt their action-sensitive duration, optional dismiss, default color/type/shape,
|
|
419
|
+
FastSpatial/FastEffects host channels and FIFO/results/cancellation rules.
|
|
420
|
+
The motion harness checks source literals and executes unchanged shared spring
|
|
421
|
+
math and original motion tokens for close-during-entry frames. Promise/AbortSignal,
|
|
422
|
+
visibility/frame clocks, timeout recommendations and queue delivery are web host
|
|
423
|
+
adapters; the full Compose Mutex/coroutine host is not executed.
|
|
424
|
+
snackbar-layout.js adapts the complete legacy one-row measure lambda and the
|
|
425
|
+
horizontal alignment-line padding body, and composes the default separate-line
|
|
426
|
+
modifier/Row/Column tree. The independent JVM layout harness executes those
|
|
427
|
+
unchanged bodies with original packed Constraints, Placeable coercion/relative
|
|
428
|
+
placement, Size/Fill/Padding/Row/Column and modifier coordinator queries. Measured
|
|
429
|
+
Text/action/dismiss boxes and platform baselines are explicit leaves; arbitrary
|
|
430
|
+
Box content/descendant merging, intrinsic queries, full Compose scheduling and
|
|
431
|
+
native font/pixel rendering remain open.
|
|
432
|
+
|
|
433
|
+
The default SnackbarData presenter now also uses the source padding(12.dp)
|
|
434
|
+
outside the visual Surface. actionColor is the TextButton binding, distinct from
|
|
435
|
+
the generic action wrapper's actionContentColor. Optional dismiss uses the
|
|
436
|
+
shared plain tooltip and source English/Turkish resources. Shared rounded/cut
|
|
437
|
+
corner adapters provide configurable shapes with clipped contents and an
|
|
438
|
+
outline shadow mask independent of container alpha.
|
|
439
|
+
|
|
440
|
+
The unchanged Tooltip.kt, BasicTooltip.kt, PlainTooltipTokens.kt,
|
|
441
|
+
RichTooltipTokens.kt, MutatorMutex.kt, Transition.kt, AndroidPopup.android.kt,
|
|
442
|
+
AccessibilityServiceStateProvider.android.kt, Surface.kt, Box.kt and English/Turkish strings.xml files in
|
|
443
|
+
test/fixtures/androidx/tooltip are Copyright 2019-2025 The Android Open Source
|
|
444
|
+
Project, licensed under Apache-2.0. Original license headers, pinned URLs and
|
|
445
|
+
SHA-256 hashes are retained. md-tooltip.js, tooltip-state.js and
|
|
446
|
+
tooltip-position.js adapt their presentation, state and placement rules.
|
|
447
|
+
tools/androidx-tooltip/generate.py executes unchanged TooltipPositionProviderImpl,
|
|
448
|
+
caretX and TooltipStateImpl bodies with the original complete MutatorMutex file.
|
|
449
|
+
Integer geometry/transition storage/AtomicReference/annotation/exception shims
|
|
450
|
+
are explicit hosts. State cases run real kotlinx-coroutines-core/test 1.8.1,
|
|
451
|
+
compatible with this test compiler, not the complete pinned AndroidX dependency
|
|
452
|
+
graph. Native spring/token math is reused for scalar motion comparisons.
|
|
453
|
+
SVG union-fill/outline-shadow, HTML popover, Promises/AbortSignal, pointer and
|
|
454
|
+
focus handling are browser adapters. Generic Compose layout/content/intrinsics,
|
|
455
|
+
complete transition/composition scheduling, Android accessibility manager,
|
|
456
|
+
native path boolean/raster operations, fonts, custom specs/carets, other locales
|
|
457
|
+
and other engines are not established by these fixtures.
|
|
458
|
+
The original Transition.updateTarget/onTransitionEnd/onDisposed bodies are also
|
|
459
|
+
executed unchanged around explicit generic field/list/storage hosts. Eight
|
|
460
|
+
bookkeeping histories check the renderer's current/target/visible state, including
|
|
461
|
+
retarget before entry completion and retained state on disposal. This limited
|
|
462
|
+
body extraction does not execute the whole Transition class or frame/composition
|
|
463
|
+
host; scalar channel frames are checked separately. tooltip-focus.js implements
|
|
464
|
+
the DOM focus-window adapter: rendered open-shadow/slot traversal, focus ownership
|
|
465
|
+
and restoration, outside gesture consumption and popup Escape tracking. A host
|
|
466
|
+
flag supplies accessibility service state; no browser service detection is
|
|
467
|
+
claimed. Visible-anchor polling follows CSS/WAAPI transforms and skips unchanged
|
|
468
|
+
layout work. These browser checks do not execute Android WindowManager, IME,
|
|
469
|
+
accessibility services, closed shadow roots or native focus rasterization.
|
|
470
|
+
tooltip-layout.js and tooltip-dom-layout.js implement the default plain/rich
|
|
471
|
+
measurement trees with explicit DOM font/control leaves. The additional
|
|
472
|
+
generate-layout.py harness executes original public PlainTooltip/RichTooltip,
|
|
473
|
+
textVerticalPadding and foundation Box/Column/Size/Padding/baseline/alignment
|
|
474
|
+
coordinator bodies. Composition emission, density1 and drawing-only values are
|
|
475
|
+
explicit hosts; the Modifier type name is relocated. 26,640 JVM trees and 96
|
|
476
|
+
Chromium geometry references check requested/coerced dimensions, native child
|
|
477
|
+
constraints, baseline merging, multiple/empty children and RTL. Dependencies
|
|
478
|
+
and licenses for original foundation bodies are retained in the existing
|
|
479
|
+
toolbar-row, toolbar-alignment and snackbar manifests. This does not run the
|
|
480
|
+
Compose compiler, arbitrary modifiers/intrinsics, font shaping or Android UI.
|
|
481
|
+
|
|
482
|
+
The twenty unchanged Button, AnimatedShape, size/variant/color/shape-token,
|
|
483
|
+
CornerSize/CornerBasedShape/RoundedCornerShape, Interpolatable and MathHelpers
|
|
484
|
+
references in test/fixtures/androidx/button are Copyright 2019-2025 The Android
|
|
485
|
+
Open Source Project, licensed under Apache-2.0. Original license headers, pinned
|
|
486
|
+
URLs and SHA-256 hashes are retained in sources.json. md-button.js and
|
|
487
|
+
button-shape.js adapt their default geometry, theme roles and rounded shape
|
|
488
|
+
progress bookkeeping. tools/androidx-button extracts original public default
|
|
489
|
+
functions/getters, full ButtonColors/ButtonShapes, shapeByInteraction and remembered
|
|
490
|
+
shape helpers, Row/defaultMinSize and full AnimatedShapeState/interpolation bodies,
|
|
491
|
+
with original token, SpringSpec equality/hash and shared native spring/layout bodies. Composition
|
|
492
|
+
emission/group/slot/effect draining, measured leaves, density1, precision-pointer flag, uniform shape/outline,
|
|
493
|
+
Animatable/frame/coroutine, Color identity/alpha/cache and unused token values
|
|
494
|
+
are explicit hosts. The fixtures do not run full Compose Surface, Animatable,
|
|
495
|
+
composition/input/accessibility scheduling, arbitrary modifiers/intrinsics,
|
|
496
|
+
Android font/Color/raster behavior. Shared
|
|
497
|
+
foundation and spring dependencies retain their existing source manifests and
|
|
498
|
+
licenses; see tools/androidx-button/README.md for exact verification boundaries.
|
|
499
|
+
|
|
500
|
+
The five unchanged ToggleButton, TonalButtonTokens, SingleValueAnimation,
|
|
501
|
+
foundation Border and Spacer references under test/fixtures/androidx/toggle-button are
|
|
502
|
+
Copyright 2019-2025 The Android Open
|
|
503
|
+
Source Project, licensed under Apache-2.0. Their original license headers,
|
|
504
|
+
pinned raw URLs and SHA-256 hashes are retained in sources.json. md-button.js
|
|
505
|
+
and button-shape.js adapt native ToggleButton defaults, three-shape composition,
|
|
506
|
+
FastSpatial motion, color targets, border transitions and Checkbox semantics.
|
|
507
|
+
button-border.js adapts native pixel-ceiled/capped stroke width. The shared
|
|
508
|
+
color-motion.js uses converted-value/raw-velocity color retargeting.
|
|
509
|
+
tools/androidx-toggle-button executes original shape/color/default/border
|
|
510
|
+
bodies with the separately manifested Button and motion dependencies. Group/
|
|
511
|
+
slot/effect, scalar Animatable/frame, density, uniform final outline/raster,
|
|
512
|
+
Color role/alpha/cache/conversion and theme hosts are explicit. The original
|
|
513
|
+
animateBorderStrokeAsState, animate*AsState/AnimateAsState and scalar border
|
|
514
|
+
paint bodies execute with native TargetBasedAnimation/vectorized springs and
|
|
515
|
+
explicit remember/SideEffect/coroutine/Job/Animatable hosts. The full original
|
|
516
|
+
CornerBasedShape outline scaling/precondition body runs in the scalar fixture;
|
|
517
|
+
negative corners rejected by it use valid zero-radius CSS in the web renderer.
|
|
518
|
+
Full original ButtonElevation/ToggleButtonElevation, public factories and
|
|
519
|
+
internal animateElevation/FloatTweenSpec/Easing bodies execute through explicit
|
|
520
|
+
composition/effect/interaction-flow/Animatable clock hosts. button-elevation.js
|
|
521
|
+
adapts their target-key retention, ordered interactions and scalar tween motion.
|
|
522
|
+
Source dependency licenses/manifests remain under button, toggle-button, ripple,
|
|
523
|
+
motion and navigation-drawer. CSS token shadow interpolation hosts drawing.
|
|
524
|
+
button-layout.js adapts the original Toggle Row, icon Box, Spacer, SizeNode,
|
|
525
|
+
UnspecifiedConstraintsNode and padding measurement. toggle-button-dom-layout.js
|
|
526
|
+
hosts browser font/element leaves and CSS parent constraints with retained DOM.
|
|
527
|
+
The layout harness executes those original source bodies through separately
|
|
528
|
+
manifested generated Button/Tooltip/Row runtimes and explicit composition,
|
|
529
|
+
density-1 and leaf hosts. Emission-wrapper intrinsics are not implemented.
|
|
530
|
+
Complete native Surface, composition scheduling, border/shadow raster,
|
|
531
|
+
custom content/modifiers/intrinsics and Android font/Color/raster/input behavior
|
|
532
|
+
remain outside this proof. See tools/androidx-toggle-button/README.md.
|
|
533
|
+
|
|
534
|
+
button-surface.js adapts the clickable/toggle Surface content-clip and
|
|
535
|
+
parent tonal-elevation channels through retained web content wrappers and the
|
|
536
|
+
shared surface-color.js sRGB resolver. The unchanged licensed Surface.kt and
|
|
537
|
+
ColorScheme.kt references are already manifested under fab-surface.
|
|
538
|
+
tools/androidx-button/generate-surface.py executes full original clickable/
|
|
539
|
+
toggle Surface overloads, modifier surface chain, tonal wrapper and native
|
|
540
|
+
ColorScheme/global content-color helpers against the original sRGB color
|
|
541
|
+
runtime. Composition locals, remember, modifier/Box emission, density, shape
|
|
542
|
+
names, ripple configuration, interactions and semantics are recording hosts.
|
|
543
|
+
These do not execute complete native pointer/semantics/composition scheduling
|
|
544
|
+
or rasterization. See tools/androidx-button/README.md for scope and boundaries.
|
|
545
|
+
|
|
546
|
+
The five unchanged Foundation PointerEvent/TapGestureDetector and UI
|
|
547
|
+
NodeCoordinator/ShapeContainingUtil/HitTestResult references under
|
|
548
|
+
test/fixtures/androidx/pointer are Copyright 2019-2025 The Android Open Source
|
|
549
|
+
Project, licensed under Apache-2.0. Source headers, pinned raw URLs and SHA-256
|
|
550
|
+
hashes are retained in sources.json. pointer-geometry.js adapts fitted rounded
|
|
551
|
+
outline membership, Touch minimum-target candidates and captured bounds.
|
|
552
|
+
Button Surface supplies CSS geometry to bindPress and hover/elevation bindings.
|
|
553
|
+
tools/androidx-button/generate-pointer.py executes the full original
|
|
554
|
+
FoundationClickable.ClickableNode (already manifested under ripple), pointer
|
|
555
|
+
helpers, ShapeContainingUtil/HitTestResult and six NodeCoordinator methods.
|
|
556
|
+
The event/base-interaction/density/type and normal-leaf coordinator/collection
|
|
557
|
+
hosts are explicit. Generic/non-fitting Path operations throw. No complete
|
|
558
|
+
native modifier/ancestor/sibling arbitration, input tree, asynchronous base
|
|
559
|
+
interaction emission, keyboard or indirect-pointer pipeline is supplied.
|
|
560
|
+
state-layer.js adapts the existing independently source-executed Material3
|
|
561
|
+
opacity specs and interaction order. Browser RAF, focus/event mapping and CSS
|
|
562
|
+
draw/color serialization are platform adapters. These source manifests retain
|
|
563
|
+
their licenses under ripple; see tools/androidx-ripple/README.md and
|
|
564
|
+
tools/androidx-button/README.md for the verification boundaries.
|
|
565
|
+
|
|
566
|
+
clickable-keys.js adapts the original Foundation ClickableNode and
|
|
567
|
+
AbstractClickableNode key filters, per-key interaction references, release
|
|
568
|
+
activation and focus/disable cancellation. The unchanged FoundationClickable.kt
|
|
569
|
+
reference is already manifested under ripple. generate-keyboard.py executes
|
|
570
|
+
the full ClickableNode and original key, focus, dispose and updateCommon bodies;
|
|
571
|
+
normalized Key values, map, indication initialization, delegation and synchronous
|
|
572
|
+
interaction emission are explicit hosts. The browser shared bindPress keeps
|
|
573
|
+
independent keyboard/pointer ink ownership and suppresses HTML ancestor default
|
|
574
|
+
activation for nested editable controls. Native Android input routing, collection
|
|
575
|
+
iteration and coroutine/delegation scheduling are not executed by these hosts.
|
|
576
|
+
Button and FAB retain separate press references in their native-derived elevation
|
|
577
|
+
collection adapters. Full original Button/Toggle elevation histories and original
|
|
578
|
+
FAB collector branches verify matching removal, cancellation and arrival order.
|
|
579
|
+
Unchanged Apache-licensed Foundation Toggleable.kt and Selectable.kt at the same
|
|
580
|
+
revision are manifested under test/fixtures/androidx/selection-input. Their
|
|
581
|
+
ToggleableNode, TriStateToggleableNode and SelectableNode inherit ClickableNode's
|
|
582
|
+
key flow. Selection components use the shared binding's synchronous enabled
|
|
583
|
+
update adapter; source inheritance and the independently executed base model are
|
|
584
|
+
documented in tools/androidx-selection-input/README.md. These additional selection
|
|
585
|
+
classes, complete composition and native focus/input trees are not recompiled by
|
|
586
|
+
that source check.
|
|
587
|
+
The original Material3 common ripple draw/tween bodies also produce a separate
|
|
588
|
+
explicit-radius selection artifact via tools/androidx-ripple/snapshot.mjs
|
|
589
|
+
--selection. Supplied draw-size/clip hosts do not establish complete native
|
|
590
|
+
layout, scheduling or raster identity. Production selection indications reuse
|
|
591
|
+
the shared native-derived opacity controller and ripple renderer.
|
|
592
|
+
Supplemental official Google Material Web Checkbox SCSS references retain their
|
|
593
|
+
Apache-2.0 headers under test/fixtures/material-web/checkbox, with URL/SHA manifest
|
|
594
|
+
at47adb655bd7a88c4d62e8faac2873084eed555dc. They are older Web M3 v0.192 context,
|
|
595
|
+
not an oracle for the newer AndroidX Expressive state-color decisions.
|
|
596
|
+
selection-motion.js additionally adapts the updated MD3 drawCheck Float points
|
|
597
|
+
and drawBox fill/inset/outline geometry. The source-verified native Checkbox
|
|
598
|
+
artifact executes original CheckboxColors/default getters and drawing bodies;
|
|
599
|
+
role descriptors, normalized PathMeasure length and draw recording are supplied
|
|
600
|
+
hosts, not native packed Color, full composables or Skia raster execution.
|
|
601
|
+
selection-color.js binds these semantic roles to the existing shared native-
|
|
602
|
+
derived ColorVectorConverter spring and conditional enabled/disabled behavior.
|
|
603
|
+
Checkbox indication colors follow the current official Material Checkbox Specs
|
|
604
|
+
table, recorded on2026-10-08 in current-spec-decisions.json and corroborated by
|
|
605
|
+
the licensed pinned Web role mappings. This intentional normative decision
|
|
606
|
+
supersedes the AndroidX public unchecked Transparent ripple input; the native
|
|
607
|
+
geometry and animation reference is retained. No literal palette colors are
|
|
608
|
+
introduced by that component state adapter.
|
|
609
|
+
color-alpha.js and surface-color.js share the native-derived sRGB Color.copy
|
|
610
|
+
and compositeOver kernel used by disabled selection roles and tonal Surface.
|
|
611
|
+
Existing licensed native Color/Surface fixtures independently check packing and
|
|
612
|
+
Float composition. RadioButton reuses the ColorVector spring in its enabled
|
|
613
|
+
branch; Switch retains direct color updates. The wide-gamut CSS fallback does
|
|
614
|
+
not establish native Float16 packing or complete color-conversion/raster parity.
|
|
615
|
+
|
|
616
|
+
selection-layout.js adapts the original selection modifier measurement chains
|
|
617
|
+
and the native minimum-interactive, wrap-content, padding and required-size
|
|
618
|
+
policies. The unchanged licensed Checkbox.kt, RadioButton.kt and Switch.kt
|
|
619
|
+
references are already manifested under selection; Size.kt, Padding.kt and
|
|
620
|
+
InteractiveComponentSize.kt are manifested under toolbar-row at the same pinned
|
|
621
|
+
AndroidX revision. SelectionDOMLayout applies those measured inner input/draw
|
|
622
|
+
bounds separately from the outer web reservation, and binds the previously
|
|
623
|
+
native-verified direct/Touch-expanded/captured pointer bounds.
|
|
624
|
+
tools/androidx-selection/layout-snapshot.mjs executes the original policy classes
|
|
625
|
+
and source modifier expressions against the existing native layout runtime.
|
|
626
|
+
Composition emission, input-node attachment, density1 and leaf content are
|
|
627
|
+
explicit hosts. This does not execute complete composables, native pointer
|
|
628
|
+
routing/closest-target arbitration, focus trees or rasterization. See
|
|
629
|
+
tools/androidx-selection/README.md for scope and reproduction instructions.
|
|
630
|
+
|
|
631
|
+
dom-pointer-geometry.js adapts live CSS coordinates and fitted rounded FAB bounds
|
|
632
|
+
to the existing native-derived pointer-geometry.js kernel. FAB uses the shared
|
|
633
|
+
bindPress capture/key/enabled flow; its separate elevation/opacity collector
|
|
634
|
+
filters hover through direct shape membership. Existing unchanged licensed FAB,
|
|
635
|
+
Surface, FoundationClickable and normal-leaf coordinator/hit-result references
|
|
636
|
+
remain manifested under ripple, fab-surface and pointer. Browser pointer/focus
|
|
637
|
+
mapping and axis-aligned scaling are web adapters. Complete native consumed
|
|
638
|
+
passes, ancestor/sibling/closest-target routing, arbitrary transformed/custom
|
|
639
|
+
shapes and raster remain outside those checks.
|
|
640
|
+
|
|
641
|
+
picker-clock-state.js ports TimePickerStateImpl, AnalogTimePickerState, native
|
|
642
|
+
Float angle conversion, tap/moveSelector/selector geometry, CircularLayout
|
|
643
|
+
integer placement and TouchSlopDetector from the pinned AndroidX revision above.
|
|
644
|
+
Copyright2019,2023 The Android Open Source Project, Apache-2.0. Licensed unchanged
|
|
645
|
+
originals and SHA/URL manifests are under test/fixtures/androidx/picker and
|
|
646
|
+
test/fixtures/androidx/sliders. picker-clock.js binds those scalar policies to
|
|
647
|
+
web pointer capture, keyboard, one shared spring owner, label layers and abort
|
|
648
|
+
lifecycle. The independently compiled reference includes original FloatSpringSpec,
|
|
649
|
+
SpringSimulation and SpringEstimation from the manifested motion originals.
|
|
650
|
+
Explicit JVM/DOM platform and scheduling boundaries are documented in
|
|
651
|
+
tools/androidx-picker/README.md; these are not complete native composition,
|
|
652
|
+
coroutine/frame/gesture dispatch, font or raster claims.
|
|
653
|
+
|
|
654
|
+
animatable-float.js and picker-clock-animation.js adapt the finite Float
|
|
655
|
+
Animatable/frame and Foundation MutatorMutex/clock job paths from the same
|
|
656
|
+
pinned AndroidX revision. Copyright2019-2021,2023 The Android Open Source Project,
|
|
657
|
+
Apache-2.0. Unchanged licensed Foundation MutatorMutex.kt and its SHA/URL manifest
|
|
658
|
+
are under test/fixtures/androidx/picker; unchanged animation-core/runtime originals
|
|
659
|
+
are manifested under progress-runtime and motion. The separately compiled clock
|
|
660
|
+
runtime executes those native finite animation bodies with real Kotlin coroutine
|
|
661
|
+
Jobs/Mutex/Delay and explicit deterministic JVM dispatcher/frame/scalar hosts.
|
|
662
|
+
RAF/timers and DOM lifetime are web bindings, not complete Compose/Android input,
|
|
663
|
+
node update, font or raster equivalence. See tools/androidx-picker/README.md.
|
|
664
|
+
|
|
665
|
+
picker-input-state.js ports TimeInputTransformation and TextFieldBuffer's plain
|
|
666
|
+
edit-range adjustment from the same pinned AndroidX revision. picker-input.js
|
|
667
|
+
binds the native TimeInput selection/edit/focus policies to HTML inputs and the
|
|
668
|
+
shared Surface/interaction/theme owners. Copyright2019,2023,2024 The Android Open
|
|
669
|
+
Source Project, Apache-2.0. Licensed originals for TextFieldBuffer, TextRange,
|
|
670
|
+
GapBuffer/PartialGapBuffer, ChangeTracker, TextFieldCharSequence, foundation flags,
|
|
671
|
+
TimeInputTokens and English strings are preserved with SHA/URL provenance in
|
|
672
|
+
test/fixtures/androidx/picker/input-sources.json. The independent reference runs
|
|
673
|
+
native plain-text buffer and transformation bodies with explicit JVM scalar,
|
|
674
|
+
collection/packing/character-copy, digit and unused style/mapping hosts. Native
|
|
675
|
+
TextFieldState transactions/recomposition, styled annotations, IME/input dispatch,
|
|
676
|
+
locale and raster are separate. See tools/androidx-picker/README.md.
|
|
677
|
+
|
|
678
|
+
text-field-container.js adapts OutlinedTextFieldDefaults.Container and
|
|
679
|
+
animateBorderStrokeAsState from the same pinned revision. Copyright2016 The
|
|
680
|
+
Android Open Source Project, Apache-2.0. TimeInput palette and field overrides
|
|
681
|
+
in picker-colors.js are derived from TimeInputDefaults. Unchanged licensed
|
|
682
|
+
originals are SHA manifested under test/fixtures/androidx/text-field and picker.
|
|
683
|
+
The independent input-colors reference executes the complete original color
|
|
684
|
+
classes/factories and container with explicit symbolic color/theme/focus and
|
|
685
|
+
animation descriptor hosts; complete native scheduling, conversion and raster
|
|
686
|
+
remain separate. See tools/androidx-picker/README.md.
|