@exponential_app/eui 0.3.0 → 0.4.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/catalog/a11y.json +10 -0
- package/catalog/core.catalog.json +284 -6
- package/catalog/core.schema.json +437 -4
- package/catalog/layout.json +3 -2
- package/catalog/limits.json +10 -1
- package/catalog/macros.json +1 -0
- package/catalog/recipes.json +3 -1
- package/catalog/strings.json +9 -2
- package/catalog/style.json +21 -0
- package/catalog/theme.schema.json +4435 -3676
- package/conformance/manifest.json +2 -2
- package/conformance/motion/build-corpus.ts +232 -0
- package/conformance/motion/corpus/SOURCES.md +117 -0
- package/conformance/motion/corpus/images/footage_0.json +1 -0
- package/conformance/motion/corpus/images/img_0.jpg +0 -0
- package/conformance/motion/corpus/images/img_1.jpg +0 -0
- package/conformance/motion/corpus/images/triangle.png +0 -0
- package/conformance/motion/corpus/skottie-3d-parenting-nocamera.json +367 -0
- package/conformance/motion/corpus/skottie-auto-orient-2.json +292 -0
- package/conformance/motion/corpus/skottie-auto-orient.json +717 -0
- package/conformance/motion/corpus/skottie-bezier-extranormal.json +199 -0
- package/conformance/motion/corpus/skottie-blendmode-hardmix.json +558 -0
- package/conformance/motion/corpus/skottie-chained-mattes.json +259 -0
- package/conformance/motion/corpus/skottie-dropshadow-ramp.json +852 -0
- package/conformance/motion/corpus/skottie-dropshadow-style.json +278 -0
- package/conformance/motion/corpus/skottie-effects-transform.json +385 -0
- package/conformance/motion/corpus/skottie-fill-effect.json +358 -0
- package/conformance/motion/corpus/skottie-fill-rule.json +457 -0
- package/conformance/motion/corpus/skottie-gaussian-blur.json +670 -0
- package/conformance/motion/corpus/skottie-gradient-opacity.json +451 -0
- package/conformance/motion/corpus/skottie-gradient-radial-highlight.json +581 -0
- package/conformance/motion/corpus/skottie-hidden-shapes-layers.json +381 -0
- package/conformance/motion/corpus/skottie-huesaturation-effect.json +1117 -0
- package/conformance/motion/corpus/skottie-invert-effect.json +665 -0
- package/conformance/motion/corpus/skottie-luma-matte.json +239 -0
- package/conformance/motion/corpus/skottie-mask-feather.json +892 -0
- package/conformance/motion/corpus/skottie-masking-opaque.json +2376 -0
- package/conformance/motion/corpus/skottie-masking-translucent.json +2376 -0
- package/conformance/motion/corpus/skottie-matte-blendmode.json +196 -0
- package/conformance/motion/corpus/skottie-matte-nonsequential.json +722 -0
- package/conformance/motion/corpus/skottie-matte-visible.json +666 -0
- package/conformance/motion/corpus/skottie-mergepaths-effect.json +722 -0
- package/conformance/motion/corpus/skottie-motion-blur-mask.json +120 -0
- package/conformance/motion/corpus/skottie-nested-animation.json +253 -0
- package/conformance/motion/corpus/skottie-offsetpaths-effect.json +525 -0
- package/conformance/motion/corpus/skottie-phonehub-connecting.json +947 -0
- package/conformance/motion/corpus/skottie-puckerbloat-effect.json +339 -0
- package/conformance/motion/corpus/skottie-repeater.json +234 -0
- package/conformance/motion/corpus/skottie-sample-1.json +168 -0
- package/conformance/motion/corpus/skottie-sample-search.json +329 -0
- package/conformance/motion/corpus/skottie-spatial-supernormal.json +898 -0
- package/conformance/motion/corpus/skottie-text-animator-1.json +1286 -0
- package/conformance/motion/corpus/skottie-text-fill-over-stroke.json +1014 -0
- package/conformance/motion/corpus/skottie-text-tracking.json +950 -0
- package/conformance/motion/corpus/skottie-text-valign.json +484 -0
- package/conformance/motion/corpus/skottie-time-reverse.json +297 -0
- package/conformance/motion/corpus/skottie-transform-skew.json +290 -0
- package/conformance/motion/corpus/skottie-trimpath-fill.json +933 -0
- package/conformance/motion/corpus/skottie-trimpath-modes.json +266 -0
- package/conformance/motion/corpus/skottie-tritone-effect.json +379 -0
- package/conformance/motion/corpus/spec-blend-mode.json +531 -0
- package/conformance/motion/corpus/spec-ellipse.json +142 -0
- package/conformance/motion/corpus/spec-fill.json +193 -0
- package/conformance/motion/corpus/spec-gradient-stroke.json +1263 -0
- package/conformance/motion/corpus/spec-gradient.json +1255 -0
- package/conformance/motion/corpus/spec-mask.json +773 -0
- package/conformance/motion/corpus/spec-masks.json +676 -0
- package/conformance/motion/corpus/spec-matte.json +390 -0
- package/conformance/motion/corpus/spec-metadata.json +1 -0
- package/conformance/motion/corpus/spec-path.json +177 -0
- package/conformance/motion/corpus/spec-pucker-bloat.json +179 -0
- package/conformance/motion/corpus/spec-rectangle.json +145 -0
- package/conformance/motion/corpus/spec-rounded-corners.json +187 -0
- package/conformance/motion/corpus/spec-slots.json +325 -0
- package/conformance/motion/corpus/spec-star.json +159 -0
- package/conformance/motion/corpus/spec-stroke.json +156 -0
- package/conformance/motion/corpus/spec-test-ellipse-xy-pos.json +141 -0
- package/conformance/motion/corpus/spec-test-gradient-fill.json +1 -0
- package/conformance/motion/corpus/spec-test-gradient-stroke.json +229 -0
- package/conformance/motion/corpus/spec-test-unknown-shape.json +63 -0
- package/conformance/motion/corpus/spec-time-remap.json +1090 -0
- package/conformance/motion/corpus/spec-time-stretch.json +594 -0
- package/conformance/motion/corpus/spec-transform.json +273 -0
- package/conformance/motion/corpus/spec-trim-path.json +209 -0
- package/conformance/motion/corpus/web-adrock.json +1 -0
- package/conformance/motion/corpus/web-bacon.json +1 -0
- package/conformance/motion/corpus/web-banner.json +1 -0
- package/conformance/motion/corpus/web-bodymovin.json +1 -0
- package/conformance/motion/corpus/web-dalek.json +1 -0
- package/conformance/motion/corpus/web-footage-data.json +1 -0
- package/conformance/motion/corpus/web-lights.json +1 -0
- package/conformance/motion/corpus/web-ripple.json +1 -0
- package/conformance/motion/corpus/web-starfish.json +1 -0
- package/conformance/motion/known-gaps.json +35 -0
- package/conformance/motion/parity/group-transforms-parenting@0.png +0 -0
- package/conformance/motion/parity/group-transforms-parenting@10.png +0 -0
- package/conformance/motion/parity/hidden-unknown-inactive@0.png +0 -0
- package/conformance/motion/parity/keyframes-transform@0.png +0 -0
- package/conformance/motion/parity/keyframes-transform@10.png +0 -0
- package/conformance/motion/parity/keyframes-transform@15.png +0 -0
- package/conformance/motion/parity/keyframes-transform@5.png +0 -0
- package/conformance/motion/parity/layer-opacity-blend@0.png +0 -0
- package/conformance/motion/parity/linear-gradient@0.png +0 -0
- package/conformance/motion/parity/masks-modes@0.png +0 -0
- package/conformance/motion/parity/matte-alpha@0.png +0 -0
- package/conformance/motion/parity/matte-luma@0.png +0 -0
- package/conformance/motion/parity/matte-parent-tp@0.png +0 -0
- package/conformance/motion/parity/path-evenodd@0.png +0 -0
- package/conformance/motion/parity/precomp-clip-offset@0.png +0 -0
- package/conformance/motion/parity/precomp-clip-offset@15.png +0 -0
- package/conformance/motion/parity/precomp-clip-offset@5.png +0 -0
- package/conformance/motion/parity/radial-gradient-highlight@0.png +0 -0
- package/conformance/motion/parity/rect-solid-fill@0.png +0 -0
- package/conformance/motion/parity/repeater@0.png +0 -0
- package/conformance/motion/parity/rounded-rect-ellipse@0.png +0 -0
- package/conformance/motion/parity/solid-and-image@0.png +0 -0
- package/conformance/motion/parity/split-position-skew@0.png +0 -0
- package/conformance/motion/parity/split-position-skew@10.png +0 -0
- package/conformance/motion/parity/star-polygon@0.png +0 -0
- package/conformance/motion/parity/stroke-caps-joins@0.png +0 -0
- package/conformance/motion/parity/stroke-dashes@0.png +0 -0
- package/conformance/motion/parity/stroke-dashes@10.png +0 -0
- package/conformance/motion/parity/time-remap@0.png +0 -0
- package/conformance/motion/parity/time-remap@10.png +0 -0
- package/conformance/motion/parity/time-remap@19.png +0 -0
- package/conformance/motion/parity/time-stretch@0.png +0 -0
- package/conformance/motion/parity/time-stretch@10.png +0 -0
- package/conformance/motion/parity/trim-individually@0.png +0 -0
- package/conformance/motion/parity/trim-path@0.png +0 -0
- package/conformance/motion/parity/trim-path@10.png +0 -0
- package/conformance/motion/refs/index.json +688 -0
- package/conformance/motion/refs/skottie-3d-parenting-nocamera@0.png +0 -0
- package/conformance/motion/refs/skottie-3d-parenting-nocamera@150.png +0 -0
- package/conformance/motion/refs/skottie-3d-parenting-nocamera@270.png +0 -0
- package/conformance/motion/refs/skottie-auto-orient-2@0.png +0 -0
- package/conformance/motion/refs/skottie-auto-orient-2@210.png +0 -0
- package/conformance/motion/refs/skottie-auto-orient-2@378.png +0 -0
- package/conformance/motion/refs/skottie-auto-orient@0.png +0 -0
- package/conformance/motion/refs/skottie-auto-orient@300.png +0 -0
- package/conformance/motion/refs/skottie-auto-orient@540.png +0 -0
- package/conformance/motion/refs/skottie-bezier-extranormal@0.png +0 -0
- package/conformance/motion/refs/skottie-bezier-extranormal@150.png +0 -0
- package/conformance/motion/refs/skottie-bezier-extranormal@270.png +0 -0
- package/conformance/motion/refs/skottie-blendmode-hardmix@0.png +0 -0
- package/conformance/motion/refs/skottie-blendmode-hardmix@150.png +0 -0
- package/conformance/motion/refs/skottie-blendmode-hardmix@270.png +0 -0
- package/conformance/motion/refs/skottie-chained-mattes@0.png +0 -0
- package/conformance/motion/refs/skottie-chained-mattes@300.png +0 -0
- package/conformance/motion/refs/skottie-chained-mattes@540.png +0 -0
- package/conformance/motion/refs/skottie-dropshadow-ramp@0.png +0 -0
- package/conformance/motion/refs/skottie-dropshadow-ramp@135.png +0 -0
- package/conformance/motion/refs/skottie-dropshadow-ramp@75.png +0 -0
- package/conformance/motion/refs/skottie-dropshadow-style@0.png +0 -0
- package/conformance/motion/refs/skottie-dropshadow-style@300.png +0 -0
- package/conformance/motion/refs/skottie-dropshadow-style@540.png +0 -0
- package/conformance/motion/refs/skottie-effects-transform@0.png +0 -0
- package/conformance/motion/refs/skottie-effects-transform@450.png +0 -0
- package/conformance/motion/refs/skottie-effects-transform@810.png +0 -0
- package/conformance/motion/refs/skottie-fill-effect@0.png +0 -0
- package/conformance/motion/refs/skottie-fill-effect@300.png +0 -0
- package/conformance/motion/refs/skottie-fill-effect@540.png +0 -0
- package/conformance/motion/refs/skottie-fill-rule@0.png +0 -0
- package/conformance/motion/refs/skottie-fill-rule@150.png +0 -0
- package/conformance/motion/refs/skottie-fill-rule@270.png +0 -0
- package/conformance/motion/refs/skottie-gaussian-blur@0.png +0 -0
- package/conformance/motion/refs/skottie-gaussian-blur@150.png +0 -0
- package/conformance/motion/refs/skottie-gaussian-blur@270.png +0 -0
- package/conformance/motion/refs/skottie-gradient-opacity@0.png +0 -0
- package/conformance/motion/refs/skottie-gradient-opacity@150.png +0 -0
- package/conformance/motion/refs/skottie-gradient-opacity@270.png +0 -0
- package/conformance/motion/refs/skottie-gradient-radial-highlight@0.png +0 -0
- package/conformance/motion/refs/skottie-gradient-radial-highlight@135.png +0 -0
- package/conformance/motion/refs/skottie-gradient-radial-highlight@75.png +0 -0
- package/conformance/motion/refs/skottie-hidden-shapes-layers@0.png +0 -0
- package/conformance/motion/refs/skottie-hidden-shapes-layers@150.png +0 -0
- package/conformance/motion/refs/skottie-hidden-shapes-layers@270.png +0 -0
- package/conformance/motion/refs/skottie-huesaturation-effect@0.png +0 -0
- package/conformance/motion/refs/skottie-huesaturation-effect@30.png +0 -0
- package/conformance/motion/refs/skottie-huesaturation-effect@54.png +0 -0
- package/conformance/motion/refs/skottie-invert-effect@0.png +0 -0
- package/conformance/motion/refs/skottie-invert-effect@300.png +0 -0
- package/conformance/motion/refs/skottie-invert-effect@540.png +0 -0
- package/conformance/motion/refs/skottie-luma-matte@0.png +0 -0
- package/conformance/motion/refs/skottie-luma-matte@150.png +0 -0
- package/conformance/motion/refs/skottie-luma-matte@270.png +0 -0
- package/conformance/motion/refs/skottie-mask-feather@0.png +0 -0
- package/conformance/motion/refs/skottie-mask-feather@150.png +0 -0
- package/conformance/motion/refs/skottie-mask-feather@270.png +0 -0
- package/conformance/motion/refs/skottie-masking-opaque@0.png +0 -0
- package/conformance/motion/refs/skottie-masking-opaque@135.png +0 -0
- package/conformance/motion/refs/skottie-masking-opaque@75.png +0 -0
- package/conformance/motion/refs/skottie-masking-translucent@0.png +0 -0
- package/conformance/motion/refs/skottie-masking-translucent@135.png +0 -0
- package/conformance/motion/refs/skottie-masking-translucent@75.png +0 -0
- package/conformance/motion/refs/skottie-matte-blendmode@0.png +0 -0
- package/conformance/motion/refs/skottie-matte-blendmode@150.png +0 -0
- package/conformance/motion/refs/skottie-matte-blendmode@270.png +0 -0
- package/conformance/motion/refs/skottie-matte-nonsequential@0.png +0 -0
- package/conformance/motion/refs/skottie-matte-nonsequential@150.png +0 -0
- package/conformance/motion/refs/skottie-matte-nonsequential@270.png +0 -0
- package/conformance/motion/refs/skottie-matte-visible@0.png +0 -0
- package/conformance/motion/refs/skottie-matte-visible@150.png +0 -0
- package/conformance/motion/refs/skottie-matte-visible@270.png +0 -0
- package/conformance/motion/refs/skottie-mergepaths-effect@0.png +0 -0
- package/conformance/motion/refs/skottie-mergepaths-effect@210.png +0 -0
- package/conformance/motion/refs/skottie-mergepaths-effect@378.png +0 -0
- package/conformance/motion/refs/skottie-motion-blur-mask@0.png +0 -0
- package/conformance/motion/refs/skottie-motion-blur-mask@150.png +0 -0
- package/conformance/motion/refs/skottie-motion-blur-mask@270.png +0 -0
- package/conformance/motion/refs/skottie-nested-animation@0.png +0 -0
- package/conformance/motion/refs/skottie-nested-animation@300.png +0 -0
- package/conformance/motion/refs/skottie-nested-animation@540.png +0 -0
- package/conformance/motion/refs/skottie-offsetpaths-effect@0.png +0 -0
- package/conformance/motion/refs/skottie-offsetpaths-effect@150.png +0 -0
- package/conformance/motion/refs/skottie-offsetpaths-effect@270.png +0 -0
- package/conformance/motion/refs/skottie-phonehub-connecting@0.png +0 -0
- package/conformance/motion/refs/skottie-puckerbloat-effect@0.png +0 -0
- package/conformance/motion/refs/skottie-puckerbloat-effect@210.png +0 -0
- package/conformance/motion/refs/skottie-puckerbloat-effect@378.png +0 -0
- package/conformance/motion/refs/skottie-repeater@0.png +0 -0
- package/conformance/motion/refs/skottie-repeater@300.png +0 -0
- package/conformance/motion/refs/skottie-repeater@540.png +0 -0
- package/conformance/motion/refs/skottie-sample-1@0.png +0 -0
- package/conformance/motion/refs/skottie-sample-1@100.png +0 -0
- package/conformance/motion/refs/skottie-sample-1@180.png +0 -0
- package/conformance/motion/refs/skottie-sample-search@0.png +0 -0
- package/conformance/motion/refs/skottie-sample-search@27.png +0 -0
- package/conformance/motion/refs/skottie-sample-search@48.png +0 -0
- package/conformance/motion/refs/skottie-spatial-supernormal@0.png +0 -0
- package/conformance/motion/refs/skottie-spatial-supernormal@200.png +0 -0
- package/conformance/motion/refs/skottie-spatial-supernormal@360.png +0 -0
- package/conformance/motion/refs/skottie-text-animator-1@0.png +0 -0
- package/conformance/motion/refs/skottie-text-animator-1@150.png +0 -0
- package/conformance/motion/refs/skottie-text-animator-1@270.png +0 -0
- package/conformance/motion/refs/skottie-text-fill-over-stroke@0.png +0 -0
- package/conformance/motion/refs/skottie-text-fill-over-stroke@210.png +0 -0
- package/conformance/motion/refs/skottie-text-fill-over-stroke@378.png +0 -0
- package/conformance/motion/refs/skottie-text-tracking@0.png +0 -0
- package/conformance/motion/refs/skottie-text-tracking@108.png +0 -0
- package/conformance/motion/refs/skottie-text-tracking@60.png +0 -0
- package/conformance/motion/refs/skottie-text-valign@0.png +0 -0
- package/conformance/motion/refs/skottie-text-valign@150.png +0 -0
- package/conformance/motion/refs/skottie-text-valign@270.png +0 -0
- package/conformance/motion/refs/skottie-time-reverse@0.png +0 -0
- package/conformance/motion/refs/skottie-time-reverse@300.png +0 -0
- package/conformance/motion/refs/skottie-time-reverse@540.png +0 -0
- package/conformance/motion/refs/skottie-transform-skew@0.png +0 -0
- package/conformance/motion/refs/skottie-transform-skew@300.png +0 -0
- package/conformance/motion/refs/skottie-transform-skew@540.png +0 -0
- package/conformance/motion/refs/skottie-trimpath-fill@0.png +0 -0
- package/conformance/motion/refs/skottie-trimpath-fill@300.png +0 -0
- package/conformance/motion/refs/skottie-trimpath-fill@540.png +0 -0
- package/conformance/motion/refs/skottie-trimpath-modes@0.png +0 -0
- package/conformance/motion/refs/skottie-trimpath-modes@300.png +0 -0
- package/conformance/motion/refs/skottie-trimpath-modes@540.png +0 -0
- package/conformance/motion/refs/skottie-tritone-effect@0.png +0 -0
- package/conformance/motion/refs/skottie-tritone-effect@300.png +0 -0
- package/conformance/motion/refs/skottie-tritone-effect@540.png +0 -0
- package/conformance/motion/refs/spec-blend-mode@0.png +0 -0
- package/conformance/motion/refs/spec-blend-mode@162.png +0 -0
- package/conformance/motion/refs/spec-blend-mode@90.png +0 -0
- package/conformance/motion/refs/spec-ellipse@0.png +0 -0
- package/conformance/motion/refs/spec-ellipse@162.png +0 -0
- package/conformance/motion/refs/spec-ellipse@90.png +0 -0
- package/conformance/motion/refs/spec-fill@0.png +0 -0
- package/conformance/motion/refs/spec-fill@162.png +0 -0
- package/conformance/motion/refs/spec-fill@90.png +0 -0
- package/conformance/motion/refs/spec-gradient-stroke@0.png +0 -0
- package/conformance/motion/refs/spec-gradient-stroke@162.png +0 -0
- package/conformance/motion/refs/spec-gradient-stroke@90.png +0 -0
- package/conformance/motion/refs/spec-gradient@0.png +0 -0
- package/conformance/motion/refs/spec-gradient@162.png +0 -0
- package/conformance/motion/refs/spec-gradient@90.png +0 -0
- package/conformance/motion/refs/spec-mask@0.png +0 -0
- package/conformance/motion/refs/spec-mask@300.png +0 -0
- package/conformance/motion/refs/spec-mask@540.png +0 -0
- package/conformance/motion/refs/spec-masks@0.png +0 -0
- package/conformance/motion/refs/spec-masks@135.png +0 -0
- package/conformance/motion/refs/spec-masks@75.png +0 -0
- package/conformance/motion/refs/spec-matte@0.png +0 -0
- package/conformance/motion/refs/spec-matte@162.png +0 -0
- package/conformance/motion/refs/spec-matte@90.png +0 -0
- package/conformance/motion/refs/spec-metadata@0.png +0 -0
- package/conformance/motion/refs/spec-metadata@162.png +0 -0
- package/conformance/motion/refs/spec-metadata@90.png +0 -0
- package/conformance/motion/refs/spec-path@0.png +0 -0
- package/conformance/motion/refs/spec-path@162.png +0 -0
- package/conformance/motion/refs/spec-path@90.png +0 -0
- package/conformance/motion/refs/spec-pucker-bloat@0.png +0 -0
- package/conformance/motion/refs/spec-pucker-bloat@162.png +0 -0
- package/conformance/motion/refs/spec-pucker-bloat@90.png +0 -0
- package/conformance/motion/refs/spec-rectangle@0.png +0 -0
- package/conformance/motion/refs/spec-rectangle@162.png +0 -0
- package/conformance/motion/refs/spec-rectangle@90.png +0 -0
- package/conformance/motion/refs/spec-rounded-corners@0.png +0 -0
- package/conformance/motion/refs/spec-rounded-corners@162.png +0 -0
- package/conformance/motion/refs/spec-rounded-corners@90.png +0 -0
- package/conformance/motion/refs/spec-slots@0.png +0 -0
- package/conformance/motion/refs/spec-slots@450.png +0 -0
- package/conformance/motion/refs/spec-slots@810.png +0 -0
- package/conformance/motion/refs/spec-star@0.png +0 -0
- package/conformance/motion/refs/spec-star@162.png +0 -0
- package/conformance/motion/refs/spec-star@90.png +0 -0
- package/conformance/motion/refs/spec-stroke@0.png +0 -0
- package/conformance/motion/refs/spec-stroke@162.png +0 -0
- package/conformance/motion/refs/spec-stroke@90.png +0 -0
- package/conformance/motion/refs/spec-test-ellipse-xy-pos@0.png +0 -0
- package/conformance/motion/refs/spec-test-ellipse-xy-pos@162.png +0 -0
- package/conformance/motion/refs/spec-test-ellipse-xy-pos@90.png +0 -0
- package/conformance/motion/refs/spec-test-gradient-fill@0.png +0 -0
- package/conformance/motion/refs/spec-test-gradient-fill@30.png +0 -0
- package/conformance/motion/refs/spec-test-gradient-fill@54.png +0 -0
- package/conformance/motion/refs/spec-test-gradient-stroke@0.png +0 -0
- package/conformance/motion/refs/spec-test-gradient-stroke@30.png +0 -0
- package/conformance/motion/refs/spec-test-gradient-stroke@54.png +0 -0
- package/conformance/motion/refs/spec-test-unknown-shape@0.png +0 -0
- package/conformance/motion/refs/spec-test-unknown-shape@162.png +0 -0
- package/conformance/motion/refs/spec-test-unknown-shape@90.png +0 -0
- package/conformance/motion/refs/spec-time-remap@0.png +0 -0
- package/conformance/motion/refs/spec-time-remap@300.png +0 -0
- package/conformance/motion/refs/spec-time-remap@540.png +0 -0
- package/conformance/motion/refs/spec-time-stretch@0.png +0 -0
- package/conformance/motion/refs/spec-time-stretch@300.png +0 -0
- package/conformance/motion/refs/spec-time-stretch@540.png +0 -0
- package/conformance/motion/refs/spec-transform@0.png +0 -0
- package/conformance/motion/refs/spec-transform@162.png +0 -0
- package/conformance/motion/refs/spec-transform@90.png +0 -0
- package/conformance/motion/refs/spec-trim-path@0.png +0 -0
- package/conformance/motion/refs/spec-trim-path@162.png +0 -0
- package/conformance/motion/refs/spec-trim-path@90.png +0 -0
- package/conformance/motion/refs/web-adrock@0.png +0 -0
- package/conformance/motion/refs/web-adrock@10.png +0 -0
- package/conformance/motion/refs/web-adrock@18.png +0 -0
- package/conformance/motion/refs/web-bacon@0.png +0 -0
- package/conformance/motion/refs/web-bacon@126.png +0 -0
- package/conformance/motion/refs/web-bacon@70.png +0 -0
- package/conformance/motion/refs/web-banner@0.png +0 -0
- package/conformance/motion/refs/web-banner@301.png +0 -0
- package/conformance/motion/refs/web-banner@542.png +0 -0
- package/conformance/motion/refs/web-bodymovin@0.png +0 -0
- package/conformance/motion/refs/web-bodymovin@51.png +0 -0
- package/conformance/motion/refs/web-bodymovin@92.png +0 -0
- package/conformance/motion/refs/web-dalek@0.png +0 -0
- package/conformance/motion/refs/web-dalek@145.png +0 -0
- package/conformance/motion/refs/web-dalek@261.png +0 -0
- package/conformance/motion/refs/web-footage-data@0.png +0 -0
- package/conformance/motion/refs/web-footage-data@180.png +0 -0
- package/conformance/motion/refs/web-footage-data@324.png +0 -0
- package/conformance/motion/refs/web-lights@0.png +0 -0
- package/conformance/motion/refs/web-lights@150.png +0 -0
- package/conformance/motion/refs/web-lights@270.png +0 -0
- package/conformance/motion/refs/web-ripple@0.png +0 -0
- package/conformance/motion/refs/web-ripple@180.png +0 -0
- package/conformance/motion/refs/web-ripple@324.png +0 -0
- package/conformance/motion/refs/web-starfish@0.png +0 -0
- package/conformance/motion/refs/web-starfish@150.png +0 -0
- package/conformance/motion/refs/web-starfish@270.png +0 -0
- package/conformance/motion/render-refs.ts +126 -0
- package/conformance/motion/report.json +1367 -0
- package/conformance/motion/web-parity-gaps.json +12 -0
- package/conformance/motion-parity-entry.ts +3 -0
- package/conformance/motion-parity.ts +101 -0
- package/dist/chunks/{index-4z7f2bp1.js → index-4xczxey5.js} +35 -15
- package/dist/chunks/{index-4z7f2bp1.js.map → index-4xczxey5.js.map} +4 -4
- package/dist/chunks/{index-dx45asrf.js → index-5sjj5p84.js} +174 -8
- package/dist/chunks/{index-dx45asrf.js.map → index-5sjj5p84.js.map} +2 -2
- package/dist/chunks/{index-fy7y2nz8.js → index-cvf7bbs5.js} +23 -2
- package/dist/chunks/{index-fy7y2nz8.js.map → index-cvf7bbs5.js.map} +1 -1
- package/dist/chunks/index-dgkf6yw5.js +48 -0
- package/dist/chunks/index-dgkf6yw5.js.map +10 -0
- package/dist/chunks/{index-abcjanhc.js → index-f9wkb6aq.js} +192 -3
- package/dist/chunks/{index-abcjanhc.js.map → index-f9wkb6aq.js.map} +2 -2
- package/dist/chunks/index-t2mwfbb6.js +1515 -0
- package/dist/chunks/index-t2mwfbb6.js.map +15 -0
- package/dist/chunks/{index-h3zgfghf.js → index-vkn82srs.js} +179 -8
- package/dist/chunks/{index-h3zgfghf.js.map → index-vkn82srs.js.map} +2 -2
- package/dist/chunks/wasm-ctcc3cma.js +424 -0
- package/dist/chunks/wasm-ctcc3cma.js.map +11 -0
- package/dist/conformance.js +3154 -63
- package/dist/conformance.js.map +2 -2
- package/dist/entries/prompt.js +2 -2
- package/dist/entries/schema.js +3 -3
- package/dist/host/index.js +3 -3
- package/dist/index.js +333 -98
- package/dist/index.js.map +4 -4
- package/dist/types/src/catalog.generated.d.ts +50 -4
- package/dist/types/src/index.d.ts +2 -0
- package/dist/types/src/layout.d.ts +2 -0
- package/dist/types/src/limits.d.ts +1 -0
- package/dist/types/src/motion/index.d.ts +1 -0
- package/dist/types/src/motion/server.d.ts +9 -0
- package/dist/types/src/motion/wasm.d.ts +11 -0
- package/dist/types/src/web/coerce.d.ts +3 -0
- package/dist/types/src/web/focus.d.ts +8 -0
- package/dist/types/src/web/index.d.ts +5 -2
- package/dist/types/src/web/primitives/carousel.d.ts +1 -1
- package/dist/types/src/web/primitives/dock.d.ts +5 -2
- package/dist/types/src/web/primitives/index.d.ts +2 -0
- package/dist/types/src/web/primitives/motion-paint.d.ts +36 -0
- package/dist/types/src/web/primitives/motion.d.ts +162 -0
- package/dist/types/src/web/primitives/zoomable-image.d.ts +158 -0
- package/dist/types/src/web/table.d.ts +8 -0
- package/dist/types/src/zoom.d.ts +128 -0
- package/dist/types/wasm/motion/bytes.d.ts +1 -0
- package/dist/web/index.js +165 -230
- package/dist/web/index.js.map +8 -9
- package/dist/web/primitives/index.js +584 -7
- package/dist/web/primitives/index.js.map +7 -6
- package/docs/components.generated.json +392 -4
- package/docs/round-6-contract.md +5 -3
- package/docs/themes.generated.json +27 -0
- package/fixtures/bind-time.json +4 -0
- package/fixtures/catalog-components.json +930 -16
- package/fixtures/catalog-macros.json +11 -0
- package/fixtures/conformance-baseline.json +33020 -32952
- package/fixtures/conformance-known.json +64 -70
- package/fixtures/kitchen-sink.expanded.json +72 -0
- package/fixtures/kitchen-sink.json +33 -0
- package/fixtures/layout-geometry-round1.json +42 -42
- package/fixtures/motion-frames.json +2618 -0
- package/fixtures/motion-playback.json +528 -0
- package/fixtures/motion-state.json +722 -0
- package/fixtures/motion-validate.json +138 -0
- package/fixtures/primitive-specimens.json +1 -0
- package/fixtures/prompt-budget.json +16 -16
- package/fixtures/specimens.json +717 -21
- package/fixtures/theme-recipes.json +1518 -32
- package/fixtures/theme-resolved.json +732 -56
- package/fixtures/zoom.json +1382 -0
- package/generated/ExponentialUICatalog.generated.kt +20 -20
- package/generated/ExponentialUICatalog.generated.swift +20 -20
- package/generated/ExponentialUIThemes.generated.kt +7 -7
- package/generated/ExponentialUIThemes.generated.swift +7 -7
- package/generated/catalog.descriptions.generated.rs +1 -1
- package/generated/catalog.generated.rs +29 -29
- package/generated/catalog.themes.generated.rs +8 -8
- package/generated/core.descriptions.json +171 -5
- package/generated/core.runtime.json +189 -1
- package/package.json +1 -1
- package/themes/neutral.theme.json +172 -3
- package/dist/chunks/index-t6qz1770.js +0 -95
- package/dist/chunks/index-t6qz1770.js.map +0 -11
|
@@ -7,12 +7,12 @@ export declare const BASIC_VERSION = "v0.9";
|
|
|
7
7
|
export declare const CATALOG_VERSION = "1";
|
|
8
8
|
export declare const UNKNOWN_COMPONENT_NAME = "Unknown";
|
|
9
9
|
/** Every component in source order (the hidden placeholder included). */
|
|
10
|
-
export declare const COMPONENT_NAMES: readonly ["Box", "Stack", "Grid", "Card", "Separator", "List", "Resizable", "ScrollArea", "Sidebar", "SplitView", "AppBar", "Page", "Toolbar", "Section", "Group", "Text", "Heading", "Markdown", "CodeBlock", "Kbd", "Label", "Image", "Icon", "Video", "AudioPlayer", "Avatar", "QrCode", "Carousel", "Mosaic", "Tabs", "Segmented", "Accordion", "Collapsible", "Trace", "TraceItem", "Plan", "Pagination", "Breadcrumb", "Outline", "Stepper", "Dialog", "Drawer", "DockCard", "AlertDialog", "Popover", "Tooltip", "Menu", "Toast", "Badge", "Alert", "Chip", "EmptyState", "Progress", "Meter", "Ring", "Spinner", "Skeleton", "VoiceWave", "CallSurface", "Table", "Chart", "Sparkline", "StatTile", "Button", "Link", "Toggle", "Form", "FieldGroup", "FormActions", "Input", "Textarea", "NumberField", "Checkbox", "Radio", "ChoiceTiles", "Switch", "Slider", "Rating", "Select", "SearchList", "ChipInput", "DatePicker", "DateRangePicker", "TimePicker", "FileUpload", "QrScanner", "Composer", "Row", "MessageBubble", "TreeGuides", "Unknown"];
|
|
10
|
+
export declare const COMPONENT_NAMES: readonly ["Box", "Stack", "Grid", "Card", "Separator", "List", "Resizable", "ScrollArea", "Sidebar", "SplitView", "AppBar", "Page", "Toolbar", "Section", "Group", "Text", "Heading", "Markdown", "CodeBlock", "Kbd", "Label", "Image", "ZoomableImage", "Icon", "Video", "AudioPlayer", "Avatar", "QrCode", "Carousel", "Mosaic", "Tabs", "Segmented", "Accordion", "Collapsible", "Trace", "TraceItem", "Plan", "Pagination", "Breadcrumb", "Outline", "Stepper", "Dialog", "Drawer", "DockCard", "AlertDialog", "Popover", "Tooltip", "Menu", "Toast", "Badge", "Alert", "Chip", "EmptyState", "Progress", "Meter", "Ring", "Spinner", "Skeleton", "VoiceWave", "CallSurface", "Table", "Chart", "Sparkline", "StatTile", "Button", "Link", "Toggle", "Form", "FieldGroup", "FormActions", "Input", "Textarea", "NumberField", "Checkbox", "Radio", "ChoiceTiles", "Switch", "Slider", "Rating", "Select", "SearchList", "ChipInput", "DatePicker", "DateRangePicker", "TimePicker", "FileUpload", "QrScanner", "Composer", "Row", "MessageBubble", "TreeGuides", "Unknown", "Motion"];
|
|
11
11
|
export type ComponentName = (typeof COMPONENT_NAMES)[number];
|
|
12
|
-
export declare const NATIVE_COMPONENTS: readonly ["Box", "List", "Resizable", "Text", "Markdown", "CodeBlock", "Image", "Icon", "Video", "AudioPlayer", "Avatar", "QrCode", "Carousel", "Tabs", "Segmented", "Accordion", "Dialog", "Drawer", "Popover", "Tooltip", "Menu", "Toast", "Ring", "Spinner", "Skeleton", "VoiceWave", "Table", "Chart", "Button", "Link", "Toggle", "Form", "Input", "Textarea", "NumberField", "Checkbox", "Radio", "ChoiceTiles", "Switch", "Slider", "Select", "SearchList", "ChipInput", "DatePicker", "DateRangePicker", "TimePicker", "FileUpload", "QrScanner", "Composer", "TreeGuides", "Unknown"];
|
|
12
|
+
export declare const NATIVE_COMPONENTS: readonly ["Box", "List", "Resizable", "Text", "Markdown", "CodeBlock", "Image", "ZoomableImage", "Icon", "Video", "AudioPlayer", "Avatar", "QrCode", "Carousel", "Tabs", "Segmented", "Accordion", "Dialog", "Drawer", "Popover", "Tooltip", "Menu", "Toast", "Ring", "Spinner", "Skeleton", "VoiceWave", "Table", "Chart", "Button", "Link", "Toggle", "Form", "Input", "Textarea", "NumberField", "Checkbox", "Radio", "ChoiceTiles", "Switch", "Slider", "Select", "SearchList", "ChipInput", "DatePicker", "DateRangePicker", "TimePicker", "FileUpload", "QrScanner", "Composer", "TreeGuides", "Unknown", "Motion"];
|
|
13
13
|
export declare const MACRO_COMPONENTS: readonly ["Stack", "Grid", "Card", "Separator", "ScrollArea", "Sidebar", "SplitView", "AppBar", "Page", "Toolbar", "Section", "Group", "Heading", "Kbd", "Label", "Mosaic", "Collapsible", "Trace", "TraceItem", "Plan", "Pagination", "Breadcrumb", "Outline", "Stepper", "DockCard", "AlertDialog", "Badge", "Alert", "Chip", "EmptyState", "Progress", "Meter", "CallSurface", "Sparkline", "StatTile", "FieldGroup", "FormActions", "Rating", "Row", "MessageBubble"];
|
|
14
14
|
/** The core-lite subset (no overlays, media or Chart). */
|
|
15
|
-
export declare const LITE_COMPONENTS: readonly ["Box", "Stack", "Grid", "Card", "Separator", "List", "Resizable", "ScrollArea", "Sidebar", "SplitView", "AppBar", "Page", "Toolbar", "Section", "Group", "Text", "Heading", "Markdown", "CodeBlock", "Kbd", "Label", "Icon", "Avatar", "Tabs", "Segmented", "Collapsible", "Trace", "TraceItem", "Plan", "Breadcrumb", "Outline", "Stepper", "Badge", "Alert", "Chip", "EmptyState", "Progress", "Meter", "Ring", "Skeleton", "StatTile", "Button", "Link", "Form", "FieldGroup", "FormActions", "Input", "Textarea", "NumberField", "Checkbox", "Switch", "Rating", "Select", "SearchList", "ChipInput", "DatePicker", "DateRangePicker", "TimePicker", "FileUpload", "Composer", "Row", "MessageBubble"];
|
|
15
|
+
export declare const LITE_COMPONENTS: readonly ["Box", "Stack", "Grid", "Card", "Separator", "List", "Resizable", "ScrollArea", "Sidebar", "SplitView", "AppBar", "Page", "Toolbar", "Section", "Group", "Text", "Heading", "Markdown", "CodeBlock", "Kbd", "Label", "Icon", "Avatar", "Tabs", "Segmented", "Collapsible", "Trace", "TraceItem", "Plan", "Breadcrumb", "Outline", "Stepper", "Badge", "Alert", "Chip", "EmptyState", "Progress", "Meter", "Ring", "Skeleton", "StatTile", "Button", "Link", "Form", "FieldGroup", "FormActions", "Input", "Textarea", "NumberField", "Checkbox", "Switch", "Rating", "Select", "SearchList", "ChipInput", "DatePicker", "DateRangePicker", "TimePicker", "FileUpload", "Composer", "Row", "MessageBubble", "Motion"];
|
|
16
16
|
export declare const COMPONENT_GROUPS: Record<ComponentName, string>;
|
|
17
17
|
/** The specimen id each component has on ui.exponential.at. */
|
|
18
18
|
export declare const SPECIMEN_IDS: Record<ComponentName, string>;
|
|
@@ -67,6 +67,10 @@ export declare const ENUMS: {
|
|
|
67
67
|
readonly voiceWaveVariant: readonly ["ring", "bars"];
|
|
68
68
|
readonly qrLevel: readonly ["L", "M", "Q", "H"];
|
|
69
69
|
readonly planState: readonly ["proposed", "running", "done", "declined"];
|
|
70
|
+
readonly zoomInitial: readonly ["auto", "fit", "fitWidth", "actual"];
|
|
71
|
+
readonly zoomControls: readonly ["auto", "always", "none"];
|
|
72
|
+
readonly motionDirection: readonly ["forward", "reverse", "alternate"];
|
|
73
|
+
readonly motionFit: readonly ["contain", "cover", "fill"];
|
|
70
74
|
};
|
|
71
75
|
export type VariantValue = (typeof ENUMS)["variant"][number];
|
|
72
76
|
export type SizeValue = (typeof ENUMS)["size"][number];
|
|
@@ -118,6 +122,10 @@ export type CallStateValue = (typeof ENUMS)["callState"][number];
|
|
|
118
122
|
export type VoiceWaveVariantValue = (typeof ENUMS)["voiceWaveVariant"][number];
|
|
119
123
|
export type QrLevelValue = (typeof ENUMS)["qrLevel"][number];
|
|
120
124
|
export type PlanStateValue = (typeof ENUMS)["planState"][number];
|
|
125
|
+
export type ZoomInitialValue = (typeof ENUMS)["zoomInitial"][number];
|
|
126
|
+
export type ZoomControlsValue = (typeof ENUMS)["zoomControls"][number];
|
|
127
|
+
export type MotionDirectionValue = (typeof ENUMS)["motionDirection"][number];
|
|
128
|
+
export type MotionFitValue = (typeof ENUMS)["motionFit"][number];
|
|
121
129
|
/** Token NAMES by group (values come from a theme). */
|
|
122
130
|
export declare const TOKEN_NAMES: {
|
|
123
131
|
readonly color: readonly ["background", "foreground", "card", "cardForeground", "popover", "popoverForeground", "primary", "primaryForeground", "secondary", "secondaryForeground", "muted", "mutedForeground", "accent", "accentForeground", "destructive", "destructiveForeground", "success", "successForeground", "warning", "warningForeground", "info", "infoForeground", "border", "input", "ring", "chart1", "chart2", "chart3", "chart4", "chart5", "chart6", "chart7", "chart8"];
|
|
@@ -142,7 +150,7 @@ export type TokenGroup = keyof typeof TOKEN_NAMES;
|
|
|
142
150
|
export declare const STYLE_KEY_NAMES: readonly ["display", "flexDirection", "flexWrap", "justifyContent", "alignItems", "alignContent", "alignSelf", "justifySelf", "flexGrow", "flexShrink", "flexBasis", "gap", "rowGap", "columnGap", "direction", "overflow", "overflowX", "overflowY", "width", "height", "minWidth", "minHeight", "maxWidth", "maxHeight", "aspectRatio", "position", "top", "right", "bottom", "left", "inset", "insetInlineStart", "insetInlineEnd", "insetBlockStart", "insetBlockEnd", "padding", "paddingTop", "paddingRight", "paddingBottom", "paddingLeft", "paddingHorizontal", "paddingVertical", "paddingInlineStart", "paddingInlineEnd", "margin", "marginTop", "marginRight", "marginBottom", "marginLeft", "marginHorizontal", "marginVertical", "marginInlineStart", "marginInlineEnd", "gridTemplateColumns", "gridTemplateRows", "gridTemplateAreas", "gridArea", "gridColumn", "gridRow", "backgroundColor", "backgroundGradient", "color", "borderWidth", "borderTopWidth", "borderRightWidth", "borderBottomWidth", "borderLeftWidth", "borderColor", "borderStyle", "borderRadius", "borderTopLeftRadius", "borderTopRightRadius", "borderBottomRightRadius", "borderBottomLeftRadius", "opacity", "boxShadow", "fontSize", "fontWeight", "lineHeight", "letterSpacing", "textAlign", "textDecoration", "textTransform", "fontStyle", "fontFamily", "transition", "transitionEasing", "transform", "visibility", "pointerEvents", "userSelect", "cursor", "backdropBlur", "animation", "animationDuration"];
|
|
143
151
|
export declare const STYLE_STATE_NAMES: readonly [":hover", ":focus-visible", ":pressed"];
|
|
144
152
|
/** The Icon prop's vocabulary: packages/icons/icons.json at generate time. */
|
|
145
|
-
export declare const ICON_NAMES: readonly ["a-large-small", "action-chat", "action-create", "action-default", "action-repository", "action-run", "action-suggestion", "activity", "anchor", "app-editor-chat", "archive", "archive-restore", "arrow-down", "arrow-down-left", "arrow-left", "arrow-left-right", "arrow-right", "arrow-up-right", "at-sign", "atom", "audio-lines", "auth-passkey", "award", "ban", "bell", "bell-off", "bold", "book-open", "bookmark", "bot", "boxes", "braces", "brain", "briefcase", "brush-cleaning", "bug", "building", "building-2", "calculator", "calendar", "calendar-days", "call-end", "call-incoming", "call-mute", "call-speaker", "call-speaker-off", "call-unmute", "camera", "car", "chart-line", "check", "check-check", "chevron-down", "chevron-left", "chevron-right", "chevron-up", "chevrons-up-down", "circle", "circle-arrow-up", "circle-check", "circle-dashed", "circle-dot", "circle-question-mark", "circle-slash", "circle-stop", "circle-user", "circle-x", "clipboard-list", "clock", "cloud", "code", "coding-assistant", "coding-command", "coding-compact", "coding-diff", "coding-ended", "coding-in-review", "coding-needs-input", "coding-plan", "coding-running", "coding-stop", "coding-subagent", "coding-tool", "coffee", "compass", "computer", "copy", "corner-down-right", "cpu", "credit-card", "crown", "database", "download", "droplet", "dumbbell", "ear", "editor-bold", "editor-clear-formatting", "editor-code", "editor-emoji", "editor-heading-1", "editor-heading-2", "editor-heading-3", "editor-image", "editor-issue-ref", "editor-italic", "editor-link", "editor-list", "editor-list-ordered", "editor-list-todo", "editor-mention", "editor-quote", "editor-strikethrough", "editor-text", "editor-text-format", "editor-unlink", "ellipsis", "ellipsis-vertical", "event-assignee-changed", "event-board-moved", "event-estimate-changed", "event-label-added", "event-label-removed", "event-priority-changed", "event-relation-added", "event-relation-removed", "event-status-changed", "event-title-changed", "external-link", "eye", "eye-off", "fast-forward", "file", "file-diff", "file-pen-line", "file-text", "fingerprint", "flag", "flame", "flask-conical", "fold-vertical", "folder", "folder-kanban", "folder-open", "gamepad-2", "gauge", "gem", "gift", "git-branch", "git-merge", "git-pull-request", "github", "globe", "graduation-cap", "guide-changes", "hammer", "hand", "hard-drive", "hash", "heading-1", "heading-2", "heading-3", "headphones", "heart", "heart-off", "history", "hourglass", "house", "image", "images", "inbox", "info", "italic", "key", "landmark", "laptop", "layers", "layers-2", "layout-grid", "leaf", "lightbulb", "link", "link-2", "list", "list-checks", "list-end", "list-ordered", "list-todo", "list-tree", "loader-circle", "lock", "lock-open", "log-in", "log-out", "mail", "mail-open", "map", "map-pin", "maximize-2", "media-fast-forward", "media-rewind", "media-skip-next", "media-skip-previous", "media-volume-down", "media-volume-mute", "media-volume-off", "media-volume-up", "megaphone", "menu", "message-circle", "message-square", "message-square-plus", "message-square-reply", "mic", "mic-off", "microscope", "minimize-2", "minus", "monitor", "monitor-off", "moon", "mountain", "move", "music", "nav-account", "nav-actions", "nav-admin", "nav-apps", "nav-boards", "nav-changelog", "nav-computer", "nav-create-issue", "nav-devices", "nav-drafts", "nav-files", "nav-getting-started", "nav-inbox", "nav-issues", "nav-my-issues", "nav-notifications", "nav-rail-collapse", "nav-rail-expand", "nav-report-bug", "nav-search", "nav-settings", "nav-sign-out", "nav-source-control", "nav-team-switcher", "nav-terminal", "nav-threads", "newspaper", "notification-agent-message", "notification-issue-assigned", "notification-issue-comment", "notification-issue-created", "notification-issue-mention", "notification-issue-status-changed", "notification-mark-read", "notification-mute", "notification-pr-merged", "notification-pr-opened", "notification-reporter-reply", "notification-session-blocked", "os-apple", "os-linux", "os-windows", "package", "paintbrush", "palette", "panel-left-close", "panel-left-open", "paperclip", "pause", "pen-tool", "pencil", "phone", "phone-incoming", "phone-off", "pin", "pin-off", "plane", "play", "plug", "plus", "pr-batch", "pr-closed", "pr-draft", "pr-merged", "pr-open", "pr-stack", "printer", "priority-high", "priority-low", "priority-medium", "priority-none", "priority-urgent", "progress-1-4", "progress-1-5", "progress-2-4", "progress-2-5", "progress-3-4", "progress-3-5", "progress-4-5", "puzzle", "qr-code", "quote", "refresh-cw", "relation-blocked-by", "relation-blocks", "relation-duplicate", "relation-parent", "relation-related", "relation-section", "relation-sub-issue", "remove-formatting", "repeat", "rewind", "rocket", "rotate-ccw", "run-pause", "run-resume", "sc-push", "scale", "scan-line", "search", "search-x", "send", "server", "session-shell", "session-tree", "settings", "settings-about", "settings-account", "settings-agents", "settings-api", "settings-billing", "settings-boards", "settings-general", "settings-import", "settings-issues", "settings-labels", "settings-licenses", "settings-local-repos", "settings-mcp", "settings-members", "settings-notifications", "settings-rate", "settings-repositories", "settings-servers", "settings-sessions", "settings-statuses", "settings-storage", "settings-sync", "settings-tools", "settings-voice", "settings-widget", "share-2", "shield", "shield-check", "shield-question-mark", "shopping-bag", "shopping-cart", "signal-high", "signal-low", "signal-medium", "skip-back", "skip-forward", "sliders-horizontal", "smartphone", "smile", "sparkles", "square", "square-check", "square-kanban", "square-minus", "square-pen", "square-slash", "square-terminal", "star", "star-half", "star-off", "status-backlog", "status-cancelled", "status-done", "status-duplicate", "status-in-progress", "status-in-review", "status-todo", "stethoscope", "store", "strikethrough", "sun", "support-open", "support-resolved", "tag", "target", "terminal", "thread-stories", "tool-script", "trace-background", "trace-chevron", "trace-completed", "trace-edit", "trace-failed", "trace-fetch", "trace-read", "trace-reasoning", "trace-search", "trace-subagent", "trace-task-done", "trace-task-pending", "trace-task-running", "trace-terminal", "trace-todo", "trace-tool", "trash-2", "tree-pine", "triangle-alert", "trigger-event", "trigger-schedule", "trophy", "truck", "type", "ui-add", "ui-agent-source", "ui-archive", "ui-arrow-down", "ui-arrow-right", "ui-assignee", "ui-attach", "ui-avatar-placeholder", "ui-back", "ui-branch", "ui-check", "ui-checklist", "ui-chevron-down", "ui-chevron-left", "ui-chevron-right", "ui-chevron-up", "ui-clean", "ui-clear", "ui-clock", "ui-close", "ui-cloud", "ui-copy", "ui-delete", "ui-delete-account", "ui-device", "ui-device-default", "ui-device-offline", "ui-dock-side", "ui-docs", "ui-download", "ui-due-date", "ui-edit", "ui-empty-search", "ui-error", "ui-estimate", "ui-external-link", "ui-favorite-off", "ui-file", "ui-float", "ui-folder", "ui-folder-open", "ui-fullscreen", "ui-fullscreen-exit", "ui-github", "ui-help", "ui-hide", "ui-history", "ui-hold", "ui-icon-placeholder", "ui-indeterminate", "ui-info", "ui-invite", "ui-issue", "ui-link", "ui-loading", "ui-mail", "ui-mark-read", "ui-mark-unread", "ui-mcp", "ui-member", "ui-menu", "ui-minus", "ui-more", "ui-more-vertical", "ui-offline", "ui-organization", "ui-owner", "ui-permission", "ui-pin", "ui-print", "ui-private", "ui-properties", "ui-qr-code", "ui-queued", "ui-read", "ui-redock", "ui-refresh", "ui-remove-member", "ui-repeat", "ui-repository", "ui-scan", "ui-selected", "ui-selector", "ui-send", "ui-server", "ui-share", "ui-sign-in", "ui-sign-out", "ui-staging", "ui-star-half", "ui-star-off", "ui-stop", "ui-submit", "ui-subscribe", "ui-success", "ui-swap", "ui-team", "ui-unarchive", "ui-unassigned", "ui-undo", "ui-undock", "ui-unlock", "ui-unpin", "ui-unselected", "ui-unsubscribe", "ui-update", "ui-usage", "ui-warning", "ui-watch", "ui-widget", "undo-2", "unlink", "upload", "user", "user-minus", "user-plus", "user-x", "users", "video", "voice-call", "voice-level", "volume-1", "volume-2", "volume-off", "volume-x", "wallet", "wifi-off", "work-faces", "work-results", "workflow", "wrench", "x", "zap"];
|
|
153
|
+
export declare const ICON_NAMES: readonly ["a-large-small", "action-chat", "action-create", "action-default", "action-repository", "action-run", "action-suggestion", "activity", "anchor", "app-editor-chat", "archive", "archive-restore", "arrow-down", "arrow-down-left", "arrow-left", "arrow-left-right", "arrow-right", "arrow-up-right", "at-sign", "atom", "audio-lines", "auth-passkey", "award", "ban", "bell", "bell-off", "bold", "book-open", "bookmark", "bot", "boxes", "braces", "brain", "briefcase", "brush-cleaning", "bug", "building", "building-2", "calculator", "calendar", "calendar-days", "call-end", "call-incoming", "call-mute", "call-speaker", "call-speaker-off", "call-unmute", "camera", "car", "chart-line", "check", "check-check", "chevron-down", "chevron-left", "chevron-right", "chevron-up", "chevrons-up-down", "ci-failed", "ci-passed", "ci-queued", "ci-running", "ci-skipped", "circle", "circle-arrow-up", "circle-check", "circle-dashed", "circle-dot", "circle-question-mark", "circle-slash", "circle-stop", "circle-user", "circle-x", "clipboard-list", "clock", "cloud", "code", "coding-assistant", "coding-command", "coding-compact", "coding-diff", "coding-ended", "coding-in-review", "coding-needs-input", "coding-plan", "coding-running", "coding-stop", "coding-subagent", "coding-tool", "coffee", "compass", "computer", "copy", "corner-down-right", "cpu", "credit-card", "crown", "database", "download", "droplet", "dumbbell", "ear", "editor-bold", "editor-clear-formatting", "editor-code", "editor-emoji", "editor-heading-1", "editor-heading-2", "editor-heading-3", "editor-image", "editor-issue-ref", "editor-italic", "editor-link", "editor-list", "editor-list-ordered", "editor-list-todo", "editor-mention", "editor-quote", "editor-strikethrough", "editor-text", "editor-text-format", "editor-unlink", "ellipsis", "ellipsis-vertical", "event-assignee-changed", "event-board-moved", "event-estimate-changed", "event-label-added", "event-label-removed", "event-priority-changed", "event-relation-added", "event-relation-removed", "event-status-changed", "event-title-changed", "external-link", "eye", "eye-off", "fast-forward", "file", "file-diff", "file-pen-line", "file-text", "fingerprint", "flag", "flame", "flask-conical", "fold-vertical", "folder", "folder-kanban", "folder-open", "gamepad-2", "gauge", "gem", "gift", "git-branch", "git-merge", "git-pull-request", "github", "globe", "graduation-cap", "guide-changes", "hammer", "hand", "hard-drive", "hash", "heading-1", "heading-2", "heading-3", "headphones", "heart", "heart-off", "history", "hourglass", "house", "image", "images", "inbox", "info", "italic", "key", "landmark", "laptop", "layers", "layers-2", "layout-grid", "leaf", "lightbulb", "link", "link-2", "list", "list-checks", "list-end", "list-ordered", "list-todo", "list-tree", "loader-circle", "lock", "lock-open", "log-in", "log-out", "mail", "mail-open", "map", "map-pin", "maximize-2", "media-fast-forward", "media-rewind", "media-skip-next", "media-skip-previous", "media-volume-down", "media-volume-mute", "media-volume-off", "media-volume-up", "megaphone", "menu", "message-circle", "message-square", "message-square-plus", "message-square-reply", "mic", "mic-off", "microscope", "minimize-2", "minus", "monitor", "monitor-off", "moon", "mountain", "move", "music", "nav-account", "nav-actions", "nav-admin", "nav-apps", "nav-boards", "nav-changelog", "nav-computer", "nav-create-issue", "nav-devices", "nav-drafts", "nav-files", "nav-getting-started", "nav-inbox", "nav-issues", "nav-my-issues", "nav-notifications", "nav-rail-collapse", "nav-rail-expand", "nav-report-bug", "nav-search", "nav-settings", "nav-sign-out", "nav-source-control", "nav-team-switcher", "nav-terminal", "nav-threads", "newspaper", "notification-agent-message", "notification-agent-signed-out", "notification-issue-assigned", "notification-issue-comment", "notification-issue-created", "notification-issue-mention", "notification-issue-status-changed", "notification-mark-read", "notification-mute", "notification-pr-merged", "notification-pr-opened", "notification-reporter-reply", "notification-session-blocked", "os-apple", "os-linux", "os-windows", "package", "paintbrush", "palette", "panel-left-close", "panel-left-open", "paperclip", "pause", "pen-tool", "pencil", "phone", "phone-incoming", "phone-off", "pin", "pin-off", "plane", "play", "plug", "plus", "pr-batch", "pr-closed", "pr-draft", "pr-merged", "pr-open", "pr-stack", "printer", "priority-high", "priority-low", "priority-medium", "priority-none", "priority-urgent", "progress-1-4", "progress-1-5", "progress-2-4", "progress-2-5", "progress-3-4", "progress-3-5", "progress-4-5", "puzzle", "qr-code", "quote", "refresh-cw", "relation-blocked-by", "relation-blocks", "relation-duplicate", "relation-parent", "relation-related", "relation-section", "relation-sub-issue", "remove-formatting", "repeat", "rewind", "rocket", "rotate-ccw", "run-pause", "run-resume", "sc-push", "scale", "scan-line", "search", "search-x", "send", "server", "session-shell", "session-tree", "settings", "settings-about", "settings-account", "settings-agents", "settings-api", "settings-billing", "settings-boards", "settings-general", "settings-import", "settings-issues", "settings-labels", "settings-licenses", "settings-local-repos", "settings-mcp", "settings-members", "settings-notifications", "settings-rate", "settings-repositories", "settings-servers", "settings-sessions", "settings-statuses", "settings-storage", "settings-sync", "settings-tools", "settings-voice", "settings-widget", "share-2", "shield", "shield-check", "shield-question-mark", "shopping-bag", "shopping-cart", "signal-high", "signal-low", "signal-medium", "skip-back", "skip-forward", "sliders-horizontal", "smartphone", "smile", "sparkles", "square", "square-check", "square-kanban", "square-minus", "square-pen", "square-slash", "square-terminal", "star", "star-half", "star-off", "status-backlog", "status-cancelled", "status-done", "status-duplicate", "status-in-progress", "status-in-review", "status-todo", "stethoscope", "store", "strikethrough", "sun", "support-open", "support-resolved", "tag", "target", "terminal", "thread-stories", "tool-script", "trace-background", "trace-chevron", "trace-completed", "trace-edit", "trace-failed", "trace-fetch", "trace-read", "trace-reasoning", "trace-search", "trace-subagent", "trace-task-done", "trace-task-pending", "trace-task-running", "trace-terminal", "trace-todo", "trace-tool", "trash-2", "tree-pine", "triangle-alert", "trigger-event", "trigger-schedule", "trophy", "truck", "type", "ui-add", "ui-agent-source", "ui-archive", "ui-arrow-down", "ui-arrow-right", "ui-assignee", "ui-attach", "ui-avatar-placeholder", "ui-back", "ui-branch", "ui-check", "ui-checklist", "ui-chevron-down", "ui-chevron-left", "ui-chevron-right", "ui-chevron-up", "ui-clean", "ui-clear", "ui-clock", "ui-close", "ui-cloud", "ui-copy", "ui-delete", "ui-delete-account", "ui-device", "ui-device-default", "ui-device-offline", "ui-dock-side", "ui-docs", "ui-download", "ui-due-date", "ui-edit", "ui-empty-search", "ui-error", "ui-estimate", "ui-external-link", "ui-favorite-off", "ui-file", "ui-float", "ui-folder", "ui-folder-open", "ui-fullscreen", "ui-fullscreen-exit", "ui-github", "ui-help", "ui-hide", "ui-history", "ui-hold", "ui-icon-placeholder", "ui-indeterminate", "ui-info", "ui-invite", "ui-issue", "ui-link", "ui-loading", "ui-mail", "ui-mark-read", "ui-mark-unread", "ui-mcp", "ui-member", "ui-menu", "ui-minus", "ui-more", "ui-more-vertical", "ui-offline", "ui-organization", "ui-owner", "ui-permission", "ui-pin", "ui-print", "ui-private", "ui-properties", "ui-qr-code", "ui-queued", "ui-read", "ui-redock", "ui-refresh", "ui-remove-member", "ui-repeat", "ui-repository", "ui-scan", "ui-selected", "ui-selector", "ui-send", "ui-server", "ui-share", "ui-sign-in", "ui-sign-out", "ui-staging", "ui-star-half", "ui-star-off", "ui-stop", "ui-submit", "ui-subscribe", "ui-success", "ui-swap", "ui-team", "ui-unarchive", "ui-unassigned", "ui-undo", "ui-undock", "ui-unlock", "ui-unpin", "ui-unselected", "ui-unsubscribe", "ui-update", "ui-usage", "ui-warning", "ui-watch", "ui-widget", "undo-2", "unlink", "upload", "user", "user-minus", "user-plus", "user-x", "users", "video", "voice-call", "voice-level", "volume-1", "volume-2", "volume-off", "volume-x", "wallet", "wifi-off", "work-faces", "work-results", "workflow", "wrench", "x", "zap"];
|
|
146
154
|
export declare const FUNCTION_NAMES: readonly ["required", "regex", "length", "numeric", "email", "formatString", "formatNumber", "formatCurrency", "formatDate", "pluralize", "openUrl", "and", "or", "not", "percent", "add", "sub", "eq", "lt", "clamp", "cond", "fallback", "concat", "coalesce", "text", "map", "len", "fill", "set", "formatPercent", "formatRelativeTime", "filter", "bind"];
|
|
147
155
|
/** VAPP-108: the typed authoring surface (src/define.ts). A ~ prop also
|
|
148
156
|
* takes a binding or a call, a ^ prop a per-breakpoint object. */
|
|
@@ -228,6 +236,7 @@ export interface Shapes {
|
|
|
228
236
|
sortable?: boolean;
|
|
229
237
|
currency?: string;
|
|
230
238
|
decimals?: number;
|
|
239
|
+
truncate?: boolean;
|
|
231
240
|
};
|
|
232
241
|
sort: {
|
|
233
242
|
key: string;
|
|
@@ -400,6 +409,17 @@ export interface ComponentProps {
|
|
|
400
409
|
focalY?: number;
|
|
401
410
|
style?: Style;
|
|
402
411
|
};
|
|
412
|
+
ZoomableImage: {
|
|
413
|
+
src: string | Dynamic;
|
|
414
|
+
alt: string | Dynamic;
|
|
415
|
+
naturalWidth?: number;
|
|
416
|
+
naturalHeight?: number;
|
|
417
|
+
initial?: ZoomInitialValue;
|
|
418
|
+
maxScale?: number;
|
|
419
|
+
controls?: ZoomControlsValue;
|
|
420
|
+
scale?: number | Dynamic;
|
|
421
|
+
style?: Style;
|
|
422
|
+
};
|
|
403
423
|
Icon: {
|
|
404
424
|
name: IconName | Dynamic;
|
|
405
425
|
size?: ControlSizeValue;
|
|
@@ -916,6 +936,32 @@ export interface ComponentProps {
|
|
|
916
936
|
component: string;
|
|
917
937
|
catalogId?: string;
|
|
918
938
|
};
|
|
939
|
+
Motion: {
|
|
940
|
+
layers?: Record<string, unknown>[];
|
|
941
|
+
size?: number[];
|
|
942
|
+
duration?: number;
|
|
943
|
+
fps?: number;
|
|
944
|
+
assets?: Record<string, unknown>;
|
|
945
|
+
markers?: Record<string, unknown>[];
|
|
946
|
+
lottie?: Record<string, unknown>;
|
|
947
|
+
src?: string;
|
|
948
|
+
autoplay?: boolean;
|
|
949
|
+
loop?: boolean;
|
|
950
|
+
plays?: number;
|
|
951
|
+
direction?: MotionDirectionValue;
|
|
952
|
+
speed?: number;
|
|
953
|
+
segment?: number[];
|
|
954
|
+
marker?: string;
|
|
955
|
+
progress?: number | Dynamic;
|
|
956
|
+
play?: boolean | Dynamic;
|
|
957
|
+
poster?: number;
|
|
958
|
+
fit?: MotionFitValue;
|
|
959
|
+
slots?: Record<string, unknown>;
|
|
960
|
+
stateMachine?: Record<string, unknown>;
|
|
961
|
+
inputs?: Record<string, unknown> | Dynamic;
|
|
962
|
+
label?: string;
|
|
963
|
+
style?: Style;
|
|
964
|
+
};
|
|
919
965
|
}
|
|
920
966
|
/** A2UI basic component → core component. */
|
|
921
967
|
export declare const BASIC_COMPONENT_MAP: Record<string, string>;
|
|
@@ -14,6 +14,8 @@ export { displayString, englishFormatter, intlFormatter, formatFunctions, format
|
|
|
14
14
|
export type { Formatter, NumberOptions, DateOptions, DateStyle, PluralCategory, RelativeUnit, ZoneOffset } from "./format.js";
|
|
15
15
|
export { templateItemKeys, tableRowKeys, templateInstances, itemExtents, itemOffsets, virtualWindow, scrollOffsetForIndex, scrollOffsetForItem, instanceSegment, listSections, sectionRows, stickyHeader, templateBudget, templateSiteKey, WINDOW_OVERSCAN } from "./list.js";
|
|
16
16
|
export type { TemplateInstance, TemplateBudget, WindowRange, ScrollAlign, ListSection } from "./list.js";
|
|
17
|
+
export { ZOOM, zoomIsTall, zoomFitScale, zoomLimits, zoomRestScale, zoomRestView, zoomClamp, zoomAtRest, zoomTo, zoomCentre, zoomWheelFactor, zoomWheel, zoomScroll, zoomLadder, zoomStepScale, zoomStep, zoomDoubleTapScale, zoomDoubleTap, zoomKey, zoomRubberBand, zoomDrag, zoomPinch, zoomMomentum, zoomMomentumActive, zoomPanRoom, zoomResize, zoomPercent, zoomMenu, zoomBounds, } from "./zoom.js";
|
|
18
|
+
export type { ZoomFrame, ZoomInitial, ZoomMenuItem, ZoomPoint, ZoomSize, ZoomView, WheelDeltaMode } from "./zoom.js";
|
|
17
19
|
export { normalizeSizes, resizePanels, keyboardResize, panelExtents, dragDelta, RESIZE_STEP, PANEL_MIN, RESIZE_HANDLE_HIT } from "./resizable.js";
|
|
18
20
|
export type { PanelLimits, ResizeKey } from "./resizable.js";
|
|
19
21
|
export { nodeDirections, physicalTextAlign, nodeTextAlign } from "./direction.js";
|
|
@@ -18,3 +18,5 @@ export declare const SKELETON_OPACITY_LOW: number;
|
|
|
18
18
|
export declare const SKELETON_OPACITY_HIGH: number;
|
|
19
19
|
export declare const SKELETON_REDUCED_OPACITY: number;
|
|
20
20
|
export declare const SEARCH_LIST_FADE: number;
|
|
21
|
+
/** EXP-1548: the narrowest a Table column without a `width` gets; a wider table scrolls. */
|
|
22
|
+
export declare const TABLE_COLUMN_MIN: number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./wasm.js";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type MotionBindings } from "./wasm.js";
|
|
2
|
+
/** Servers and tests: instantiate synchronously from the embedded module. */
|
|
3
|
+
export declare function motionWasmSync(): MotionBindings;
|
|
4
|
+
/** The dialect fields a Motion node carries inline (its props are the document). */
|
|
5
|
+
export declare const MOTION_DIALECT_KEYS: readonly ["size", "fps", "duration", "start", "time", "name", "layers", "assets", "markers", "lottie"];
|
|
6
|
+
/** Problems with one Motion node's props (empty = accepted). */
|
|
7
|
+
export declare function motionPropsProblems(props: Record<string, unknown>): string[];
|
|
8
|
+
/** Compile a Motion node's inline dialect to Lottie (null when it has none or it fails). */
|
|
9
|
+
export declare function compileMotionProps(props: Record<string, unknown>): unknown | null;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as bindings from "../../wasm/motion/eui_motion_wasm.js";
|
|
2
|
+
export type MotionIssue = {
|
|
3
|
+
code: string;
|
|
4
|
+
path: string;
|
|
5
|
+
message: string;
|
|
6
|
+
};
|
|
7
|
+
export type MotionBindings = typeof bindings;
|
|
8
|
+
/** Instantiate synchronously from the module bytes (servers: `./server`). */
|
|
9
|
+
export declare function initMotionWasm(bytes: BufferSource): MotionBindings;
|
|
10
|
+
/** Browsers: fetch and instantiate once (`url` = where the host serves the .wasm). */
|
|
11
|
+
export declare function loadMotionWasm(url?: string | URL): Promise<MotionBindings>;
|
|
@@ -13,6 +13,9 @@ export declare function phrase(ctx: {
|
|
|
13
13
|
strings: Readonly<Record<string, string>>;
|
|
14
14
|
t: (id: string, params?: Record<string, unknown>) => string;
|
|
15
15
|
}, id: string, params: Record<string, unknown>, fallback: () => string): string;
|
|
16
|
+
/** EXP-1556: a media position as `m:ss` / `h:mm:ss` (desktop's
|
|
17
|
+
* `fmt_duration`, the Video and AudioPlayer clocks ×4). */
|
|
18
|
+
export declare function mediaClock(ms: number): string;
|
|
16
19
|
/** A byte count in the surface locale with a LOCALIZED unit (1024 steps,
|
|
17
20
|
* `Intl.NumberFormat` `style: "unit"`, e.g. `1,5 kB` / `١٫٥ ك.بايت`). */
|
|
18
21
|
export declare function formatFileSize(bytes: number, locale: string): string;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const QUIET_FOCUS_ATTR = "data-xui-quiet-focus";
|
|
2
|
+
/** Where an opening overlay's focus goes: the marked part, else the
|
|
3
|
+
* AlertDialog's cancel, else the first tabbable (links excluded, as Radix). */
|
|
4
|
+
export declare function openFocusTarget(content: HTMLElement): HTMLElement | null;
|
|
5
|
+
/** An overlay's open-autofocus handler, shared by every web renderer: it
|
|
6
|
+
* takes the focus over (`preventDefault`) and moves it to
|
|
7
|
+
* `openFocusTarget`, quietly unless the keyboard opened the overlay. */
|
|
8
|
+
export declare function overlayOpenFocus(e: Event): void;
|
|
@@ -3,6 +3,7 @@ export type { CompiledTheme } from "./theme-css.js";
|
|
|
3
3
|
export { nodeSheet, compileNodeSheet, nodeSheetBatches, dynamicStyleEntries, queryToken, nodeClass, surfaceClass, walkNodes, cssEscape, resolvedMediaKey, styleDirection } from "./box-css.js";
|
|
4
4
|
export type { NodeSheet, NodeSheetBatch, DynamicStyleEntry } from "./box-css.js";
|
|
5
5
|
export { BASE_CSS } from "./base-css.js";
|
|
6
|
+
export { QUIET_FOCUS_ATTR, openFocusTarget, overlayOpenFocus } from "./focus.js";
|
|
6
7
|
export { getPointer, setPointer, pointerTokens, absolutePath, resolveValue, resolveProps, resolveNodeProps, resolveVisible, resolveAccessibility, ariaAttributes, bindTree, boundPath, hostPath, isBinding, isCall, hasDynamic, memoFormatter, formatterOf, viewOf, CLIENT_FUNCTIONS, LITERAL_ROWS_ROOT } from "./data.js";
|
|
7
8
|
export type { DataModel, DataBinding, FunctionCall, ClientFunction, ResolveContext } from "./data.js";
|
|
8
9
|
export { linkHref, mediaRequestOf, mediaUrlAllowed, openAllowed, ownPrivateHosts, urlPolicyOf } from "./urls.js";
|
|
@@ -10,8 +11,8 @@ export { lookupIcon } from "./host-types.js";
|
|
|
10
11
|
export { CUSTOM_ICON_NODES } from "./custom-icons.generated.js";
|
|
11
12
|
export type { CustomIconNode } from "./custom-icons.generated.js";
|
|
12
13
|
export type { HostPlugin, AnyHostPlugin, IconMap, PaintError, SourceOption, SurfaceActionEvent, SurfaceInputEvent } from "./host-types.js";
|
|
13
|
-
export { str, num, bool, arr, objects, phrase, formatFileSize, acceptsFile, failingChecks, failingCheck, builtinIconName, joinIds } from "./coerce.js";
|
|
14
|
-
export { sortRows } from "./table.js";
|
|
14
|
+
export { str, num, bool, arr, objects, phrase, formatFileSize, mediaClock, acceptsFile, failingChecks, failingCheck, builtinIconName, joinIds } from "./coerce.js";
|
|
15
|
+
export { sortRows, tableMinWidth, tableTemplate } from "./table.js";
|
|
15
16
|
export type { TableColumn, TableSort } from "./table.js";
|
|
16
17
|
export { isoDate, parseIsoDate, addDays, addMonths, sameDay, monthGrid, calendarStop } from "./dates.js";
|
|
17
18
|
export { DEBOUNCE_MS, HostOwnedController, parseLocaleNumber } from "./inputs.js";
|
|
@@ -31,5 +32,7 @@ export type { TypeaheadBuffer } from "./listbox.js";
|
|
|
31
32
|
export { PLACED, placedPartId } from "./parts.js";
|
|
32
33
|
export { share } from "./share.js";
|
|
33
34
|
export { voiceWaveAnimates, voiceWaveClock, voiceWaveFitChild, voiceWaveName } from "./primitives/voice-wave.js";
|
|
35
|
+
export { MotionView, MotionStateDriver, motionA11y, motionBoxStyle, motionCanPaint, motionDeclaredSize, motionDotLottie, motionFit, motionFromDotLottie, motionThemeSlots, paintMotionFrame, motionFitMatrix, motionConcat, motionFrameSize, MotionCanvasPool, MOTION_MAX_PLAYING, MOTION_MAX_FPS } from "./primitives/motion.js";
|
|
36
|
+
export type { MotionEnv, MotionEmit, MotionEvent, MotionMachinePlayer, MotionFit, MotionMatrix } from "./primitives/motion.js";
|
|
34
37
|
export { qrPaint, qrScanReporter, qrScanFormats, qrCornerPath, qrFeedColour, QR_CORNERS, QR_SCANNER, segmentedBadge, ButtonHold, HOLD_SLOP, withinSlop } from "./round5.js";
|
|
35
38
|
export type { QrPaint, QrScannerHost, QrCorner, HoldEvent, HoldRect } from "./round5.js";
|
|
@@ -8,7 +8,7 @@ export declare const CAROUSEL_GEOMETRY: {
|
|
|
8
8
|
export declare function carouselCounterText(page: number, total: number): string;
|
|
9
9
|
export declare const CAROUSEL_CLASSES: {
|
|
10
10
|
/** The pill over the slide; its parent is `relative`. */
|
|
11
|
-
readonly counter: "pointer-events-none absolute
|
|
11
|
+
readonly counter: "pointer-events-none absolute end-2 top-2 z-10 rounded-full bg-black/55 px-2 text-xs leading-5 font-medium text-white tabular-nums";
|
|
12
12
|
/** The filmstrip: one row, scrolling sideways when it overflows. */
|
|
13
13
|
readonly thumbnails: "flex flex-row gap-[8px] overflow-x-auto pt-2 [scrollbar-width:none]";
|
|
14
14
|
/** One thumbnail: a button; the current one `data-current=true`. */
|
|
@@ -12,8 +12,11 @@ export declare const DOCK_CARD_CLASSES: {
|
|
|
12
12
|
readonly icon: "mt-0.5 size-3.5 shrink-0";
|
|
13
13
|
readonly text: "min-w-0 flex-1";
|
|
14
14
|
readonly header: "mb-1 flex items-center gap-2";
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
/** The label never shrinks (a weighted shrink still clipped "Plan
|
|
16
|
+
* ready" by a pixel on phones); the caption takes only the leftover
|
|
17
|
+
* width (iOS `layoutPriority`, Android the caption's `weight(fill = false)`). */
|
|
18
|
+
readonly label: "max-w-full shrink-0 truncate text-xs font-medium";
|
|
19
|
+
readonly caption: "min-w-0 flex-1 basis-0 truncate text-xs text-muted-foreground";
|
|
17
20
|
readonly meta: "ml-auto shrink-0 text-xs text-muted-foreground";
|
|
18
21
|
readonly row: "flex min-w-0 items-center gap-2";
|
|
19
22
|
readonly title: "min-w-0 flex-1 truncate text-sm text-foreground/90";
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export type MotionMatrix = readonly [number, number, number, number, number, number];
|
|
2
|
+
export type MotionFit = `contain` | `cover` | `fill`;
|
|
3
|
+
/** A canvas a group paints into (OffscreenCanvas where there is one). */
|
|
4
|
+
export type MotionCanvas = HTMLCanvasElement | OffscreenCanvas;
|
|
5
|
+
export type MotionContext = CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D;
|
|
6
|
+
export type MotionImageSource = CanvasImageSource & {
|
|
7
|
+
width: number;
|
|
8
|
+
height: number;
|
|
9
|
+
};
|
|
10
|
+
export declare const MOTION_PACKED_VERSION = 1;
|
|
11
|
+
/** The fit transform of a `cw × ch` composition into a `bw × bh` box
|
|
12
|
+
* (contain = centred, cover = centred and overflowing, fill = stretched). */
|
|
13
|
+
export declare function motionFitMatrix(cw: number, ch: number, bw: number, bh: number, fit?: MotionFit): MotionMatrix;
|
|
14
|
+
/** `a ∘ b` (b applied first). */
|
|
15
|
+
export declare function motionConcat(a: MotionMatrix, b: MotionMatrix): MotionMatrix;
|
|
16
|
+
/** The composition size a packed frame declares. */
|
|
17
|
+
export declare function motionFrameSize(packed: ArrayLike<number>): {
|
|
18
|
+
width: number;
|
|
19
|
+
height: number;
|
|
20
|
+
};
|
|
21
|
+
/** Reuses group canvases across frames (one painter instance per Motion). */
|
|
22
|
+
export declare class MotionCanvasPool {
|
|
23
|
+
private readonly make;
|
|
24
|
+
private free;
|
|
25
|
+
constructor(make?: (w: number, h: number) => MotionCanvas | null);
|
|
26
|
+
take(w: number, h: number): {
|
|
27
|
+
canvas: MotionCanvas;
|
|
28
|
+
ctx: MotionContext;
|
|
29
|
+
} | null;
|
|
30
|
+
give(c: MotionCanvas): void;
|
|
31
|
+
}
|
|
32
|
+
/** Paint one packed frame into `ctx` (a `width × height` px canvas, cleared
|
|
33
|
+
* first) under `base` (the fit transform × devicePixelRatio). `images` =
|
|
34
|
+
* the decoded assets in `MotionPlayer.images()` order (null while
|
|
35
|
+
* loading: skipped). Returns false when the stream is not a v1 frame. */
|
|
36
|
+
export declare function paintMotionFrame(ctx: MotionContext, width: number, height: number, packed: ArrayLike<number>, base: MotionMatrix, images?: readonly (MotionImageSource | null | undefined)[], pool?: MotionCanvasPool): boolean;
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { type ModeName, type ResolvedTheme } from "@exponential_app/eui";
|
|
2
|
+
import type { HostPlugin } from "../host-types.js";
|
|
3
|
+
import { type MotionFit } from "./motion-paint.js";
|
|
4
|
+
export { paintMotionFrame, motionFitMatrix, motionConcat, motionFrameSize, MotionCanvasPool } from "./motion-paint.js";
|
|
5
|
+
export type { MotionFit, MotionMatrix } from "./motion-paint.js";
|
|
6
|
+
/** At most this many Motions animate per surface (tree order). */
|
|
7
|
+
export declare const MOTION_MAX_PLAYING = 8;
|
|
8
|
+
/** At most this many frames per second. */
|
|
9
|
+
export declare const MOTION_MAX_FPS = 60;
|
|
10
|
+
export interface MotionEnv {
|
|
11
|
+
theme: ResolvedTheme;
|
|
12
|
+
mode: ModeName;
|
|
13
|
+
reducedMotion: boolean;
|
|
14
|
+
host: HostPlugin;
|
|
15
|
+
/** A load failure (the box stays empty): the wrapper reports it as a paint error. */
|
|
16
|
+
onError?: (message: string) => void;
|
|
17
|
+
/** The node's `on` events (the wrapper's A2UI action plumbing). */
|
|
18
|
+
emit?: MotionEmit;
|
|
19
|
+
/** `on.press` is set: the Motion is a button (Enter / Space press it). */
|
|
20
|
+
pressable?: boolean;
|
|
21
|
+
}
|
|
22
|
+
/** The events a Motion fires (its `on`); `state` carries `{state}`. */
|
|
23
|
+
export type MotionEvent = `press` | `hover` | `visible` | `complete` | `state`;
|
|
24
|
+
export type MotionEmit = (event: MotionEvent, payload?: Record<string, unknown>) => void;
|
|
25
|
+
type Props = Record<string, unknown>;
|
|
26
|
+
/** The composition size a node declares without loading anything (the
|
|
27
|
+
* dialect's `size`, an inline Lottie's `w`/`h`); null for `src`. */
|
|
28
|
+
export declare function motionDeclaredSize(props: Props): [number, number] | null;
|
|
29
|
+
/** Contract §4 (shared with eui-core's layout): an unstyled box is the
|
|
30
|
+
* composition's px width, shrinking to the available width, aspect kept;
|
|
31
|
+
* a style width or height wins (the aspect still fills the other edge). */
|
|
32
|
+
export declare function motionBoxStyle(size: [number, number] | null, nodeStyle: unknown): Record<string, string>;
|
|
33
|
+
/** The fit prop, defaulted. */
|
|
34
|
+
export declare function motionFit(value: unknown): MotionFit;
|
|
35
|
+
/** Contract §6: role img named by `label`; hidden (decorative) without one.
|
|
36
|
+
* M4 §4: with `on.press` (`pressable`) a focusable button named by `label`. */
|
|
37
|
+
export declare function motionA11y(label: unknown, pressable?: boolean): {
|
|
38
|
+
role?: `img` | `button`;
|
|
39
|
+
tabIndex?: number;
|
|
40
|
+
"aria-label"?: string;
|
|
41
|
+
"aria-hidden"?: `true`;
|
|
42
|
+
};
|
|
43
|
+
/** The theme's slot overrides for `slotIds` (contract §2). */
|
|
44
|
+
export declare function motionThemeSlots(slotIds: readonly string[], theme: ResolvedTheme, mode: ModeName, own: unknown): Record<string, unknown>;
|
|
45
|
+
/** Whether this environment paints Motions at all. */
|
|
46
|
+
export declare function motionCanPaint(): boolean;
|
|
47
|
+
/** A .lottie archive's first animation as Lottie JSON, its images inlined. */
|
|
48
|
+
export declare function motionFromDotLottie(bytes: Uint8Array): Promise<string>;
|
|
49
|
+
/** A .lottie archive's first animation (Lottie JSON, images inlined) and its
|
|
50
|
+
* first state machine (dotLottie 2 `s/<id>.json`, v1 `states/`), or null. */
|
|
51
|
+
export declare function motionDotLottie(bytes: Uint8Array): Promise<{
|
|
52
|
+
lottie: string;
|
|
53
|
+
stateMachine: Record<string, unknown> | null;
|
|
54
|
+
}>;
|
|
55
|
+
/** The engine's state-machine API (the WASM `MotionPlayer`). */
|
|
56
|
+
export interface MotionMachinePlayer {
|
|
57
|
+
setStateMachine(json: string): boolean;
|
|
58
|
+
smPost(kind: string, layer: string): boolean;
|
|
59
|
+
smSetInputs(json: string): boolean;
|
|
60
|
+
smStatus(): string;
|
|
61
|
+
}
|
|
62
|
+
/** A Motion's state machine half (README › Interactivity §1–4). The engine
|
|
63
|
+
* interprets the machine; this posts interactions and inputs to it, restarts
|
|
64
|
+
* the clock when the state changes and turns its status into events:
|
|
65
|
+
* `state` for every entered state (`{state}`), `complete` once per state
|
|
66
|
+
* when its play finished or it is final. Without a machine it still reports
|
|
67
|
+
* `complete` for a finished finite play. */
|
|
68
|
+
export declare class MotionStateDriver {
|
|
69
|
+
private readonly player;
|
|
70
|
+
private readonly emit;
|
|
71
|
+
/** The state changed: restart the clock at 0. */
|
|
72
|
+
private readonly restart;
|
|
73
|
+
private machineKey;
|
|
74
|
+
private inputsKey;
|
|
75
|
+
private completeSent;
|
|
76
|
+
running: boolean;
|
|
77
|
+
constructor(player: MotionMachinePlayer, emit: MotionEmit,
|
|
78
|
+
/** The state changed: restart the clock at 0. */
|
|
79
|
+
restart: () => void);
|
|
80
|
+
/** Start (or restart, when its JSON changed) the machine; null = none.
|
|
81
|
+
* Returns whether one runs (its state's playback replaces the props'). */
|
|
82
|
+
setMachine(machine: unknown): boolean;
|
|
83
|
+
/** The node's `inputs` (literal or bound): written on every change. */
|
|
84
|
+
setInputs(inputs: unknown): void;
|
|
85
|
+
/** An interaction (`click`, `pointerDown`, `pointerUp`, `pointerEnter`, `pointerExit`). */
|
|
86
|
+
post(kind: string, layer?: string): void;
|
|
87
|
+
/** The clock reported `done` for the current play. */
|
|
88
|
+
done(): void;
|
|
89
|
+
/** A new play without a machine (the playback props changed). */
|
|
90
|
+
replay(): void;
|
|
91
|
+
private changed;
|
|
92
|
+
private drain;
|
|
93
|
+
}
|
|
94
|
+
/** One Motion on the page: load, clock, paint. `update` on every prop or
|
|
95
|
+
* environment change; `destroy` on unmount. */
|
|
96
|
+
export declare class MotionView {
|
|
97
|
+
readonly root: HTMLElement;
|
|
98
|
+
readonly canvas: HTMLCanvasElement;
|
|
99
|
+
private props;
|
|
100
|
+
private nodeStyle;
|
|
101
|
+
private env;
|
|
102
|
+
private sourceKey;
|
|
103
|
+
private slotsKey;
|
|
104
|
+
private playbackKey;
|
|
105
|
+
private generation;
|
|
106
|
+
private lottie;
|
|
107
|
+
/** A `.lottie` src's first state machine. */
|
|
108
|
+
private fileMachine;
|
|
109
|
+
private driver;
|
|
110
|
+
private halfSeen;
|
|
111
|
+
private visibleSent;
|
|
112
|
+
private slotIds;
|
|
113
|
+
private player;
|
|
114
|
+
private images;
|
|
115
|
+
private pool;
|
|
116
|
+
private io;
|
|
117
|
+
private ro;
|
|
118
|
+
private visible;
|
|
119
|
+
private surface;
|
|
120
|
+
private raf;
|
|
121
|
+
private last;
|
|
122
|
+
private lastPaint;
|
|
123
|
+
private elapsed;
|
|
124
|
+
private finished;
|
|
125
|
+
private restarts;
|
|
126
|
+
private inTick;
|
|
127
|
+
private painted;
|
|
128
|
+
private destroyed;
|
|
129
|
+
constructor(root: HTMLElement, canvas: HTMLCanvasElement);
|
|
130
|
+
/** `nodeStyle` = the node's own `style` (a style width/height wins over the composition size). */
|
|
131
|
+
update(props: Props, env: MotionEnv, nodeStyle?: unknown): void;
|
|
132
|
+
private emit;
|
|
133
|
+
/** `on.visible` once, as soon as there is an env to emit through. */
|
|
134
|
+
private flushVisible;
|
|
135
|
+
private onClick;
|
|
136
|
+
private onKey;
|
|
137
|
+
private onPointer;
|
|
138
|
+
/** The machine (the prop, else the file's) and its inputs → the engine. */
|
|
139
|
+
private applyMachine;
|
|
140
|
+
/** The state changed: the clock restarts at 0. */
|
|
141
|
+
private restartClock;
|
|
142
|
+
destroy(): void;
|
|
143
|
+
private fail;
|
|
144
|
+
private load;
|
|
145
|
+
private free;
|
|
146
|
+
/** (Re)build the player from the loaded Lottie with the current slots. */
|
|
147
|
+
private instantiate;
|
|
148
|
+
private loadImages;
|
|
149
|
+
private applyPlayback;
|
|
150
|
+
private wantsToAnimate;
|
|
151
|
+
private leaveSurface;
|
|
152
|
+
/** Start or stop the clock to match the state; paint the still frame when stopped. */
|
|
153
|
+
schedule(): void;
|
|
154
|
+
private stop;
|
|
155
|
+
private tick;
|
|
156
|
+
/** The frame shown while the clock is stopped. */
|
|
157
|
+
private stillFrame;
|
|
158
|
+
private repaint;
|
|
159
|
+
private paint;
|
|
160
|
+
}
|
|
161
|
+
/** Test seam: forget the per-theme ids (a fresh module state). */
|
|
162
|
+
export declare function resetMotionThemeIds(): void;
|