@exponential_app/eui 0.2.1 → 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 +25 -1
- package/catalog/core.catalog.json +426 -6
- package/catalog/core.schema.json +634 -4
- package/catalog/host.json +10 -0
- package/catalog/layout.json +3 -2
- package/catalog/limits.json +10 -1
- package/catalog/macros.json +542 -1
- package/catalog/recipes.json +4 -2
- package/catalog/strings.json +14 -2
- package/catalog/style.json +21 -0
- package/catalog/theme.schema.json +3950 -1337
- package/conformance/manifest.json +5 -5
- 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-gtk2gwsb.js → index-4xczxey5.js} +187 -40
- package/dist/chunks/{index-gtk2gwsb.js.map → index-4xczxey5.js.map} +7 -6
- package/dist/chunks/{index-62yzr94z.js → index-5sjj5p84.js} +270 -8
- package/dist/chunks/{index-62yzr94z.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-5fmaa0xq.js → index-f9wkb6aq.js} +851 -36
- package/dist/chunks/{index-5fmaa0xq.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-bg2jsgjq.js → index-vkn82srs.js} +479 -10
- package/dist/chunks/{index-bg2jsgjq.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 +10941 -563
- 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 +20 -4
- package/dist/host/index.js.map +1 -1
- package/dist/index.js +364 -99
- package/dist/index.js.map +4 -4
- package/dist/types/src/catalog.generated.d.ts +71 -5
- package/dist/types/src/host/contract.d.ts +17 -0
- package/dist/types/src/host/exposes.d.ts +68 -0
- package/dist/types/src/host/index.d.ts +1 -0
- package/dist/types/src/host/package.d.ts +8 -0
- 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 +17 -0
- package/dist/types/src/web/primitives/dock.d.ts +5 -2
- package/dist/types/src/web/primitives/index.d.ts +5 -0
- package/dist/types/src/web/primitives/mosaic.d.ts +30 -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/outline.d.ts +22 -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 +171 -230
- package/dist/web/index.js.map +9 -10
- package/dist/web/primitives/index.js +641 -6
- package/dist/web/primitives/index.js.map +9 -5
- package/docs/components.generated.json +542 -5
- package/docs/package-format.md +56 -1
- package/docs/round-6-contract.md +110 -0
- package/docs/themes.generated.json +66 -2
- package/fixtures/bind-time.json +1468 -0
- package/fixtures/catalog-components.json +1026 -16
- package/fixtures/catalog-macros.json +1279 -157
- package/fixtures/conformance-baseline.json +48893 -47200
- package/fixtures/conformance-known.json +140 -134
- package/fixtures/host-router.json +539 -1
- package/fixtures/kitchen-sink.expanded.json +686 -1
- package/fixtures/kitchen-sink.json +102 -1
- 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 +4 -0
- package/fixtures/prompt-budget.json +16 -16
- package/fixtures/specimens.json +839 -21
- package/fixtures/theme-recipes.json +32808 -28396
- package/fixtures/theme-resolved.json +2114 -286
- package/fixtures/zoom.json +1382 -0
- package/generated/ExponentialUICatalog.generated.kt +21 -21
- package/generated/ExponentialUICatalog.generated.swift +21 -21
- 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 +30 -30
- package/generated/catalog.themes.generated.rs +8 -8
- package/generated/core.descriptions.json +267 -5
- package/generated/core.runtime.json +275 -1
- package/package.json +1 -1
- package/themes/neutral.theme.json +460 -3
- package/dist/chunks/index-t6qz1770.js +0 -95
- package/dist/chunks/index-t6qz1770.js.map +0 -11
package/dist/web/index.js
CHANGED
|
@@ -1,15 +1,53 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
__chunks,
|
|
3
|
+
ownPrivateHosts2,
|
|
4
|
+
urlPolicyOf2,
|
|
5
|
+
linkHref2,
|
|
6
|
+
mediaRequestOf2,
|
|
7
|
+
mediaUrlAllowed2,
|
|
8
|
+
openAllowed2,
|
|
9
|
+
MEDIA_CACHE_IDLE_MAX2,
|
|
10
|
+
mediaCacheKey2,
|
|
11
|
+
acquireMedia2,
|
|
12
|
+
releaseMedia2,
|
|
13
|
+
mediaCacheStats2,
|
|
14
|
+
clearMediaCache2,
|
|
15
|
+
openMediaSource2,
|
|
16
|
+
streamEntry2,
|
|
17
|
+
fetchStream2,
|
|
18
|
+
fetchLimited2,
|
|
5
19
|
layoutSize2,
|
|
6
20
|
visualScale2,
|
|
7
21
|
elementScale2,
|
|
8
22
|
voiceWaveAnimates2,
|
|
9
23
|
voiceWaveName2,
|
|
10
24
|
voiceWaveClock2,
|
|
11
|
-
voiceWaveFitChild2
|
|
12
|
-
|
|
25
|
+
voiceWaveFitChild2,
|
|
26
|
+
motionFitMatrix2,
|
|
27
|
+
motionConcat2,
|
|
28
|
+
motionFrameSize2,
|
|
29
|
+
MotionCanvasPool2,
|
|
30
|
+
paintMotionFrame2,
|
|
31
|
+
MOTION_MAX_PLAYING2,
|
|
32
|
+
MOTION_MAX_FPS2,
|
|
33
|
+
motionDeclaredSize2,
|
|
34
|
+
motionBoxStyle2,
|
|
35
|
+
motionFit2,
|
|
36
|
+
motionA11y2,
|
|
37
|
+
motionThemeSlots2,
|
|
38
|
+
motionCanPaint2,
|
|
39
|
+
motionFromDotLottie2,
|
|
40
|
+
motionDotLottie2,
|
|
41
|
+
MotionStateDriver2,
|
|
42
|
+
MotionView2
|
|
43
|
+
} from "../chunks/index-t2mwfbb6.js";
|
|
44
|
+
import {
|
|
45
|
+
TABLE_COLUMN_MIN
|
|
46
|
+
} from "../chunks/index-dgkf6yw5.js";
|
|
47
|
+
import {
|
|
48
|
+
style_default
|
|
49
|
+
} from "../chunks/index-cvf7bbs5.js";
|
|
50
|
+
__chunks(import.meta.url,["vp5jw06m","t2mwfbb6","dgkf6yw5","cvf7bbs5","ctcc3cma"],[["./index.js",1,2,3],["../chunks/index-t2mwfbb6.js"],["../chunks/index-dgkf6yw5.js"],["../chunks/index-cvf7bbs5.js"],["../chunks/wasm-ctcc3cma.js",1]],0);
|
|
13
51
|
|
|
14
52
|
// packages/exponential-ui/src/web/theme-css.ts
|
|
15
53
|
import { ANIMATIONS, animatesOpacity, coreCatalog, easingCss, parseTokenRef, shadowCss } from "@exponential_app/eui";
|
|
@@ -168,7 +206,7 @@ var rule = (selector, decls) => decls.length === 0 ? `` : `${selector}{${decls.m
|
|
|
168
206
|
var STATE_SELECTORS = {
|
|
169
207
|
hover: [`:hover`, `[data-xs~="hover"]`],
|
|
170
208
|
pressed: [`:active`, `[data-xs~="pressed"]`],
|
|
171
|
-
focus: [`:focus-visible`, `[data-xs~="focus"]`],
|
|
209
|
+
focus: [`:focus-visible:not([data-xui-quiet-focus])`, `[data-xs~="focus"]`],
|
|
172
210
|
disabled: [`:disabled`, `[data-disabled]`, `[aria-disabled="true"]`, `[data-xs~="disabled"]`],
|
|
173
211
|
checked: [`[data-state="checked"]`, `[data-xs~="checked"]`],
|
|
174
212
|
open: [`[data-state="open"]`, `[data-xs~="open"]`],
|
|
@@ -1074,7 +1112,7 @@ ${ROUND2_CSS}
|
|
|
1074
1112
|
:where([data-xui-part]){border:0 solid transparent}
|
|
1075
1113
|
.xui-el{box-sizing:border-box;display:flex;flex-direction:row;position:relative;margin:0;padding:0;border:0 solid transparent;min-width:auto;min-height:auto;font:inherit;color:inherit;background:transparent;text-align:start;text-decoration:none;outline:none;appearance:none;-webkit-appearance:none}
|
|
1076
1114
|
button:where([data-xui-part],.xui-calendar-nav,.xui-table-sort,.xui-carousel-nav){margin:0;padding:0;border:0 solid transparent;background:transparent;color:inherit;font:inherit;appearance:none;-webkit-appearance:none}
|
|
1077
|
-
.xui-el:focus-visible{outline:2px solid var(--xui-color-ring);outline-offset:1px}
|
|
1115
|
+
.xui-el:focus-visible:not([data-xui-quiet-focus]){outline:2px solid var(--xui-color-ring);outline-offset:1px}
|
|
1078
1116
|
.xui-leaf{flex-direction:column}
|
|
1079
1117
|
.xui-leaf>.xui-measured{flex-shrink:0}
|
|
1080
1118
|
[data-xui-c="Text"].xui-el{display:block;white-space:pre-wrap;overflow-wrap:anywhere}
|
|
@@ -1094,10 +1132,23 @@ button:where([data-xui-part],.xui-calendar-nav,.xui-table-sort,.xui-carousel-nav
|
|
|
1094
1132
|
[data-xui-c="Image"].xui-el{overflow:clip}
|
|
1095
1133
|
[data-xui-c="Image"].xui-el>img{display:block;position:absolute;inset:0;width:100%;height:100%}
|
|
1096
1134
|
.xui-image-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:24px;background:repeating-linear-gradient(45deg,color-mix(in srgb,currentColor 12%,transparent) 0 6px,color-mix(in srgb,currentColor 4%,transparent) 6px 12px);color:var(--xui-color-mutedForeground);font-size:var(--xui-type-size-xs)}
|
|
1097
|
-
[data-xui-c="Video"].xui-el{overflow:clip}
|
|
1135
|
+
[data-xui-c="Video"].xui-el{overflow:clip;background-color:#000000d9}
|
|
1098
1136
|
.xui-media-sizer{display:block;max-width:100%;height:0;flex:0 1 auto;visibility:hidden;pointer-events:none}
|
|
1099
1137
|
[data-xui-c="Video"].xui-el>video{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
|
|
1100
|
-
[data-xui-c="AudioPlayer"].xui-el>audio{
|
|
1138
|
+
[data-xui-c="AudioPlayer"].xui-el>audio{display:none}
|
|
1139
|
+
.xui-video-poster{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
|
|
1140
|
+
.xui-media-play{display:flex;align-items:center;justify-content:center;flex:none;padding:0;border:0;border-radius:9999px;cursor:pointer}
|
|
1141
|
+
.xui-media-play:disabled{cursor:default}
|
|
1142
|
+
.xui-media-play>svg{fill:currentColor}
|
|
1143
|
+
.xui-media-play[data-size="lg"]{position:absolute;inset:0;margin:auto;width:44px;height:44px;background-color:#ffffff2e;color:#ffffff}
|
|
1144
|
+
.xui-media-play[data-size="lg"]>svg{width:20px;height:20px}
|
|
1145
|
+
.xui-media-play[data-size="sm"]{width:28px;height:28px;background-color:var(--xui-color-foreground);color:var(--xui-color-background)}
|
|
1146
|
+
.xui-media-play[data-size="sm"]>svg{width:14px;height:14px}
|
|
1147
|
+
.xui-video-duration{position:absolute;bottom:6px;inset-inline-end:8px;padding:0 6px;border-radius:4px;background-color:#00000099;color:#ffffff;font-size:12px;line-height:18px;font-variant-numeric:tabular-nums}
|
|
1148
|
+
.xui-AudioPlayer-controls{display:flex;flex-direction:row;align-items:center;gap:8px;width:100%;flex-shrink:0;padding:0 8px;border-radius:9999px;background-color:var(--xui-color-muted)}
|
|
1149
|
+
.xui-audio-progress{flex:1 1 0;height:4px;border-radius:9999px;overflow:hidden;background-color:color-mix(in srgb,var(--xui-color-mutedForeground) 35%,transparent)}
|
|
1150
|
+
.xui-audio-progress>span{display:block;height:100%;background-color:var(--xui-color-foreground)}
|
|
1151
|
+
.xui-audio-clock{font-size:12px;color:var(--xui-color-mutedForeground);font-variant-numeric:tabular-nums;white-space:nowrap}
|
|
1101
1152
|
[data-xui-c="Avatar"].xui-el{overflow:clip;flex-shrink:0;align-items:center;justify-content:center}
|
|
1102
1153
|
.xui-Avatar-image{width:100%;height:100%;object-fit:cover;border-radius:inherit}
|
|
1103
1154
|
.xui-Avatar-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:inherit;text-transform:uppercase;user-select:none}
|
|
@@ -1133,6 +1184,14 @@ button:where([data-xui-part],.xui-calendar-nav,.xui-table-sort,.xui-carousel-nav
|
|
|
1133
1184
|
.xui-carousel-dots{display:flex;justify-content:center;gap:var(--xui-spacing-xs);padding-top:var(--xui-spacing-sm)}
|
|
1134
1185
|
.xui-Carousel-indicator{width:6px;height:6px;border-radius:9999px;background:var(--xui-color-border);padding:0;cursor:pointer}
|
|
1135
1186
|
.xui-Carousel-indicator[data-xs~="selected"]{background:var(--xui-color-primary)}
|
|
1187
|
+
.xui-carousel-stage{position:relative;display:flex;flex-direction:column;min-width:0}
|
|
1188
|
+
.xui-Carousel-counter{position:absolute;top:var(--xui-spacing-sm);inset-inline-end:var(--xui-spacing-sm);z-index:1;pointer-events:none;display:inline-flex;align-items:center;white-space:nowrap;font-variant-numeric:tabular-nums}
|
|
1189
|
+
.xui-Carousel-thumbnails{display:flex;flex-direction:row;justify-content:flex-start;flex-shrink:0;overflow-x:auto;scrollbar-width:none}
|
|
1190
|
+
.xui-Carousel-thumbnails::-webkit-scrollbar{display:none}
|
|
1191
|
+
.xui-Carousel-thumbnail{position:relative;flex:0 0 auto;overflow:hidden;cursor:pointer;padding:0;border-style:solid}
|
|
1192
|
+
.xui-carousel-thumb{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
|
|
1193
|
+
.xui-carousel-thumb-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--xui-color-mutedForeground);pointer-events:none}
|
|
1194
|
+
.xui-carousel-thumb-fallback>svg{width:var(--xui-control-iconMd);height:var(--xui-control-iconMd)}
|
|
1136
1195
|
[data-xui-c="Tabs"].xui-el{flex-direction:column}
|
|
1137
1196
|
.xui-Tabs-list{display:flex;flex-direction:row;align-self:flex-start;flex-shrink:0}
|
|
1138
1197
|
.xui-Tabs-list[data-fill="true"]{align-self:stretch}
|
|
@@ -1175,7 +1234,8 @@ button:where([data-xui-part],.xui-calendar-nav,.xui-table-sort,.xui-carousel-nav
|
|
|
1175
1234
|
.xui-Drawer-content[data-side="left"]{left:0;top:0;bottom:0;width:min(85%,360px)}
|
|
1176
1235
|
.xui-Drawer-content[data-side="right"]{right:0;top:0;bottom:0;width:min(85%,360px)}
|
|
1177
1236
|
.xui-Drawer-handle{align-self:center;width:36px;height:4px;border-radius:9999px;background:var(--xui-color-border);flex-shrink:0}
|
|
1178
|
-
.xui-overlay-head{display:
|
|
1237
|
+
.xui-overlay-head{display:contents}
|
|
1238
|
+
.xui-overlay-head>*{margin:0}
|
|
1179
1239
|
.xui-overlay-body{display:flex;flex-direction:column;gap:var(--xui-spacing-md);min-height:0}
|
|
1180
1240
|
.xui-Dialog-footer,.xui-Drawer-footer{display:flex;flex-direction:row;justify-content:flex-end;flex-wrap:wrap}
|
|
1181
1241
|
.xui-Dialog-close{position:absolute;top:var(--xui-spacing-sm);inset-inline-end:var(--xui-spacing-sm);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
|
|
@@ -1403,6 +1463,9 @@ button:where([data-xui-part],.xui-calendar-nav,.xui-table-sort,.xui-carousel-nav
|
|
|
1403
1463
|
.xui-table-body{display:flex;flex-direction:column;position:relative}
|
|
1404
1464
|
.xui-table-check{display:flex;align-items:center;justify-content:center;min-width:0}
|
|
1405
1465
|
.xui-Table-headerCell,.xui-Table-cell{display:flex;flex-direction:row;align-items:center;min-width:0;overflow:clip;text-overflow:ellipsis;white-space:nowrap;gap:var(--xui-spacing-xs)}
|
|
1466
|
+
.xui-Table-cell{white-space:normal;overflow-wrap:anywhere}
|
|
1467
|
+
.xui-Table-cell[data-truncate="true"]{white-space:nowrap}
|
|
1468
|
+
.xui-table-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
|
1406
1469
|
.xui-Table-headerCell[data-r-align="end"],.xui-Table-cell[data-r-align="end"]{justify-content:flex-end;text-align:end}
|
|
1407
1470
|
.xui-Table-headerCell[data-r-align="center"],.xui-Table-cell[data-r-align="center"]{justify-content:center;text-align:center}
|
|
1408
1471
|
.xui-Table-cell[data-type="number"]{font-variant-numeric:tabular-nums}
|
|
@@ -1492,54 +1555,51 @@ ${SHIMMER_CSS}
|
|
|
1492
1555
|
@media (prefers-reduced-motion: reduce){@layer xui-base{.xui-surface *,.xui-surface *::before,.xui-surface *::after{animation-duration:0ms !important;animation-iteration-count:1 !important;transition-duration:0ms !important;scroll-behavior:auto !important}${REDUCED_EXTRA}}}
|
|
1493
1556
|
.xui-surface[data-xui-motion="reduce"] *,.xui-surface[data-xui-motion="reduce"] *::after{animation-duration:0ms !important;animation-iteration-count:1 !important;transition-duration:0ms !important}
|
|
1494
1557
|
${REDUCED_EXTRA.replace(/\.xui-surface /g, `.xui-surface[data-xui-motion="reduce"] `)}`;
|
|
1495
|
-
// packages/exponential-ui/src/web/
|
|
1496
|
-
|
|
1497
|
-
var
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1558
|
+
// packages/exponential-ui/src/web/focus.ts
|
|
1559
|
+
var QUIET_FOCUS_ATTR = `data-xui-quiet-focus`;
|
|
1560
|
+
var FOCUSABLE = `button,input,textarea,select,a[href],[tabindex]`;
|
|
1561
|
+
var watched = new WeakSet;
|
|
1562
|
+
var quiet = new Set;
|
|
1563
|
+
var keyboard = false;
|
|
1564
|
+
function watchModality(doc) {
|
|
1565
|
+
if (watched.has(doc))
|
|
1566
|
+
return;
|
|
1567
|
+
watched.add(doc);
|
|
1568
|
+
doc.addEventListener(`keydown`, () => {
|
|
1569
|
+
keyboard = true;
|
|
1570
|
+
for (const el of quiet)
|
|
1571
|
+
el.removeAttribute(QUIET_FOCUS_ATTR);
|
|
1572
|
+
quiet.clear();
|
|
1573
|
+
}, true);
|
|
1574
|
+
doc.addEventListener(`pointerdown`, () => keyboard = false, true);
|
|
1575
|
+
}
|
|
1576
|
+
function openFocusTarget(content) {
|
|
1577
|
+
const marked = content.querySelector(`[data-xui-autofocus]`) ?? content.querySelector(`[data-xui-part="AlertDialog/cancel"]`);
|
|
1578
|
+
if (marked)
|
|
1579
|
+
return marked.matches(FOCUSABLE) ? marked : marked.querySelector(FOCUSABLE);
|
|
1580
|
+
for (const el of content.querySelectorAll(`*`)) {
|
|
1581
|
+
if (el.tabIndex < 0 || el.tagName === `A` || el.disabled)
|
|
1582
|
+
continue;
|
|
1583
|
+
if (el.tagName === `INPUT` && el.type === `hidden`)
|
|
1584
|
+
continue;
|
|
1585
|
+
return el;
|
|
1507
1586
|
}
|
|
1587
|
+
return null;
|
|
1508
1588
|
}
|
|
1509
|
-
function
|
|
1510
|
-
const
|
|
1511
|
-
if (!
|
|
1512
|
-
return
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
const urls = host.urls ?? {};
|
|
1517
|
-
const withBase = urls.baseUrl ? urls : { ...urls, baseUrl: host.media?.baseUrl ?? documentBase() };
|
|
1518
|
-
return { ...withBase, allowPrivate: withOwnOrigin(withBase.allowPrivate) };
|
|
1519
|
-
}
|
|
1520
|
-
function linkHref(host, href) {
|
|
1521
|
-
return safeHref(urlPolicyOf(host), href);
|
|
1522
|
-
}
|
|
1523
|
-
function mediaRequestOf(host, src) {
|
|
1524
|
-
if (typeof src !== `string` || !src)
|
|
1525
|
-
return null;
|
|
1526
|
-
const rewritten = host.resolveUrl ? host.resolveUrl(src) : src;
|
|
1527
|
-
const req = host.mediaRequest ? host.mediaRequest(rewritten) : mediaRequest(rewritten, { baseUrl: documentBase(), ...host.media, allowPrivate: withOwnOrigin(host.media?.allowPrivate) });
|
|
1528
|
-
if (!req)
|
|
1529
|
-
return null;
|
|
1530
|
-
return mediaUrlAllowed(host, req.url) ? req : null;
|
|
1531
|
-
}
|
|
1532
|
-
function mediaUrlAllowed(host, url) {
|
|
1533
|
-
return decideUrl({ schemes: host.media?.schemes ?? DEFAULT_MEDIA_SCHEMES, hosts: host.media?.hosts, allowPrivate: withOwnOrigin(host.media?.allowPrivate) }, url).allowed;
|
|
1534
|
-
}
|
|
1535
|
-
function openAllowed(host, url) {
|
|
1536
|
-
const href = linkHref(host, url);
|
|
1537
|
-
if (!href)
|
|
1589
|
+
function overlayOpenFocus(e) {
|
|
1590
|
+
const content = e.currentTarget;
|
|
1591
|
+
if (!content)
|
|
1592
|
+
return;
|
|
1593
|
+
watchModality(content.ownerDocument);
|
|
1594
|
+
const target = openFocusTarget(content);
|
|
1595
|
+
if (!target)
|
|
1538
1596
|
return;
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1597
|
+
e.preventDefault();
|
|
1598
|
+
if (!keyboard) {
|
|
1599
|
+
target.setAttribute(QUIET_FOCUS_ATTR, ``);
|
|
1600
|
+
quiet.add(target);
|
|
1601
|
+
}
|
|
1602
|
+
target.focus();
|
|
1543
1603
|
}
|
|
1544
1604
|
// packages/exponential-ui/src/web/host-types.ts
|
|
1545
1605
|
function lookupIcon(icons, name, fallbacks = {}) {
|
|
@@ -1573,6 +1633,13 @@ function phrase(ctx, id, params, fallback) {
|
|
|
1573
1633
|
}
|
|
1574
1634
|
var SIZE_UNITS = [`byte`, `kilobyte`, `megabyte`, `gigabyte`];
|
|
1575
1635
|
var sizeFormats = new Map;
|
|
1636
|
+
function mediaClock(ms) {
|
|
1637
|
+
const total = Math.round(Math.max(0, Number.isFinite(ms) ? ms : 0) / 1000);
|
|
1638
|
+
const h = Math.floor(total / 3600);
|
|
1639
|
+
const m = Math.floor(total / 60) % 60;
|
|
1640
|
+
const s = String(total % 60).padStart(2, `0`);
|
|
1641
|
+
return h > 0 ? `${h}:${String(m).padStart(2, `0`)}:${s}` : `${m}:${s}`;
|
|
1642
|
+
}
|
|
1576
1643
|
function formatFileSize(bytes, locale) {
|
|
1577
1644
|
let fmts = sizeFormats.get(locale);
|
|
1578
1645
|
if (!fmts) {
|
|
@@ -1621,6 +1688,14 @@ function joinIds(...ids) {
|
|
|
1621
1688
|
return out || undefined;
|
|
1622
1689
|
}
|
|
1623
1690
|
// packages/exponential-ui/src/web/table.ts
|
|
1691
|
+
var CHECK_COLUMN = `var(--xui-control-checkbox, 16px)`;
|
|
1692
|
+
function tableTemplate(columns, multiple) {
|
|
1693
|
+
return [multiple ? CHECK_COLUMN : null, ...columns.map((c) => c.width ? `${c.width}px` : `minmax(${TABLE_COLUMN_MIN}px, 1fr)`)].filter(Boolean).join(` `);
|
|
1694
|
+
}
|
|
1695
|
+
function tableMinWidth(columns, multiple) {
|
|
1696
|
+
const px = columns.reduce((sum, c) => sum + (c.width ? num2(c.width) : TABLE_COLUMN_MIN), 0);
|
|
1697
|
+
return multiple ? `calc(${px}px + ${CHECK_COLUMN})` : `${px}px`;
|
|
1698
|
+
}
|
|
1624
1699
|
function sortRows(rows, sort, column, locale) {
|
|
1625
1700
|
const order = rows.map((_, i) => i);
|
|
1626
1701
|
if (!sort || !column)
|
|
@@ -1807,163 +1882,6 @@ function parseLocaleNumber(text, locale) {
|
|
|
1807
1882
|
const n = Number(clean);
|
|
1808
1883
|
return Number.isFinite(n) ? n : null;
|
|
1809
1884
|
}
|
|
1810
|
-
// packages/exponential-ui/src/web/media.ts
|
|
1811
|
-
import { MEDIA_LIMITS, mediaImageWithinLimits } from "@exponential_app/eui";
|
|
1812
|
-
var MEDIA_CACHE_IDLE_MAX = 64;
|
|
1813
|
-
var blobs = new Map;
|
|
1814
|
-
function mediaCacheKey(url, headers) {
|
|
1815
|
-
return `${url}
|
|
1816
|
-
${JSON.stringify(headers)}`;
|
|
1817
|
-
}
|
|
1818
|
-
function touch(k, e) {
|
|
1819
|
-
blobs.delete(k);
|
|
1820
|
-
blobs.set(k, e);
|
|
1821
|
-
}
|
|
1822
|
-
function acquireMedia(k, load) {
|
|
1823
|
-
let e = blobs.get(k);
|
|
1824
|
-
if (!e) {
|
|
1825
|
-
const entry = { refs: 0, promise: Promise.resolve(``) };
|
|
1826
|
-
entry.promise = load().then((url) => {
|
|
1827
|
-
entry.url = url;
|
|
1828
|
-
if (blobs.get(k) !== entry)
|
|
1829
|
-
URL.revokeObjectURL(url);
|
|
1830
|
-
return url;
|
|
1831
|
-
});
|
|
1832
|
-
entry.promise.catch(() => {
|
|
1833
|
-
if (blobs.get(k) === entry)
|
|
1834
|
-
blobs.delete(k);
|
|
1835
|
-
});
|
|
1836
|
-
e = entry;
|
|
1837
|
-
}
|
|
1838
|
-
e.refs += 1;
|
|
1839
|
-
touch(k, e);
|
|
1840
|
-
return e;
|
|
1841
|
-
}
|
|
1842
|
-
function releaseMedia(k, e) {
|
|
1843
|
-
e.refs -= 1;
|
|
1844
|
-
if (e.refs > 0 || blobs.get(k) !== e)
|
|
1845
|
-
return;
|
|
1846
|
-
touch(k, e);
|
|
1847
|
-
let idle = 0;
|
|
1848
|
-
for (const v of blobs.values())
|
|
1849
|
-
if (v.refs === 0)
|
|
1850
|
-
idle += 1;
|
|
1851
|
-
for (const [ok, v] of blobs) {
|
|
1852
|
-
if (idle <= MEDIA_CACHE_IDLE_MAX)
|
|
1853
|
-
break;
|
|
1854
|
-
if (v.refs > 0)
|
|
1855
|
-
continue;
|
|
1856
|
-
blobs.delete(ok);
|
|
1857
|
-
if (v.url)
|
|
1858
|
-
URL.revokeObjectURL(v.url);
|
|
1859
|
-
idle -= 1;
|
|
1860
|
-
}
|
|
1861
|
-
}
|
|
1862
|
-
function mediaCacheStats() {
|
|
1863
|
-
let inUse = 0;
|
|
1864
|
-
for (const v of blobs.values())
|
|
1865
|
-
if (v.refs > 0)
|
|
1866
|
-
inUse += 1;
|
|
1867
|
-
return { entries: blobs.size, inUse };
|
|
1868
|
-
}
|
|
1869
|
-
function clearMediaCache() {
|
|
1870
|
-
for (const [k, v] of blobs) {
|
|
1871
|
-
if (v.refs > 0)
|
|
1872
|
-
continue;
|
|
1873
|
-
blobs.delete(k);
|
|
1874
|
-
if (v.url)
|
|
1875
|
-
URL.revokeObjectURL(v.url);
|
|
1876
|
-
}
|
|
1877
|
-
}
|
|
1878
|
-
function openMediaSource(host, src, kind = `image`) {
|
|
1879
|
-
const req = mediaRequestOf(host, src);
|
|
1880
|
-
const headers = req?.headers ?? {};
|
|
1881
|
-
const fetched = req !== null && Object.keys(headers).length > 0;
|
|
1882
|
-
const k = fetched ? `${kind}
|
|
1883
|
-
${mediaCacheKey(req.url, headers)}` : ``;
|
|
1884
|
-
return {
|
|
1885
|
-
fetched,
|
|
1886
|
-
key: k,
|
|
1887
|
-
direct: req ? req.url : undefined,
|
|
1888
|
-
denied: Boolean(src) && req === null,
|
|
1889
|
-
open: () => {
|
|
1890
|
-
if (!req || !fetched)
|
|
1891
|
-
return { promise: Promise.resolve(req ? req.url : ``), release: () => {} };
|
|
1892
|
-
const hosted = kind === `stream` && host.mediaStreamUrl !== undefined;
|
|
1893
|
-
const allowed = (url) => mediaUrlAllowed(host, url);
|
|
1894
|
-
const entry = hosted ? streamEntry(host, req) : acquireMedia(k, () => (kind === `stream` ? fetchStream(req.url, headers, MEDIA_LIMITS, allowed) : fetchLimited(req.url, headers, MEDIA_LIMITS, true, allowed)).then((b) => URL.createObjectURL(b)));
|
|
1895
|
-
return { promise: entry.promise, release: hosted ? () => {} : () => releaseMedia(k, entry) };
|
|
1896
|
-
}
|
|
1897
|
-
};
|
|
1898
|
-
}
|
|
1899
|
-
function streamEntry(host, req) {
|
|
1900
|
-
const promise = Promise.resolve(host.mediaStreamUrl(req)).then((url) => {
|
|
1901
|
-
if (typeof url !== `string` || !mediaUrlAllowed(host, url))
|
|
1902
|
-
throw new Error(`stream url denied by the media policy`);
|
|
1903
|
-
return url;
|
|
1904
|
-
});
|
|
1905
|
-
return { promise, refs: 0 };
|
|
1906
|
-
}
|
|
1907
|
-
function fetchStream(url, headers, limits = MEDIA_LIMITS, allowed = defaultAllowed) {
|
|
1908
|
-
return fetchLimited(url, headers, { ...limits, maxPixels: Infinity }, false, allowed);
|
|
1909
|
-
}
|
|
1910
|
-
function defaultAllowed(url) {
|
|
1911
|
-
return mediaUrlAllowed({}, url);
|
|
1912
|
-
}
|
|
1913
|
-
async function fetchLimited(url, headers, limits = MEDIA_LIMITS, image = true, allowed = defaultAllowed) {
|
|
1914
|
-
const abort = new AbortController;
|
|
1915
|
-
const timer = setTimeout(() => abort.abort(new Error(`media timed out after ${limits.timeoutMs} ms`)), limits.timeoutMs);
|
|
1916
|
-
const over = () => new Error(`media is over ${limits.maxBytes} bytes`);
|
|
1917
|
-
try {
|
|
1918
|
-
const r = await fetch(url, { headers, signal: abort.signal });
|
|
1919
|
-
if (r.redirected && !allowed(r.url)) {
|
|
1920
|
-
abort.abort();
|
|
1921
|
-
throw new Error(`media redirect denied by the media policy`);
|
|
1922
|
-
}
|
|
1923
|
-
if (!r.ok)
|
|
1924
|
-
throw new Error(`HTTP ${r.status}`);
|
|
1925
|
-
if (Number(r.headers.get(`content-length`) ?? NaN) > limits.maxBytes)
|
|
1926
|
-
throw over();
|
|
1927
|
-
const chunks = [];
|
|
1928
|
-
let total = 0;
|
|
1929
|
-
if (r.body) {
|
|
1930
|
-
const reader = r.body.getReader();
|
|
1931
|
-
for (;; ) {
|
|
1932
|
-
const { done, value } = await reader.read();
|
|
1933
|
-
if (done)
|
|
1934
|
-
break;
|
|
1935
|
-
total += value.byteLength;
|
|
1936
|
-
if (total > limits.maxBytes) {
|
|
1937
|
-
abort.abort();
|
|
1938
|
-
throw over();
|
|
1939
|
-
}
|
|
1940
|
-
chunks.push(value);
|
|
1941
|
-
}
|
|
1942
|
-
} else {
|
|
1943
|
-
const all = new Uint8Array(await r.arrayBuffer());
|
|
1944
|
-
if (all.byteLength > limits.maxBytes)
|
|
1945
|
-
throw over();
|
|
1946
|
-
chunks.push(all);
|
|
1947
|
-
}
|
|
1948
|
-
if (image) {
|
|
1949
|
-
const refused = mediaImageWithinLimits(chunks.length === 1 ? chunks[0] : concat(chunks), limits);
|
|
1950
|
-
if (refused)
|
|
1951
|
-
throw new Error(refused);
|
|
1952
|
-
}
|
|
1953
|
-
return new Blob(chunks, { type: r.headers.get(`content-type`) ?? `` });
|
|
1954
|
-
} finally {
|
|
1955
|
-
clearTimeout(timer);
|
|
1956
|
-
}
|
|
1957
|
-
}
|
|
1958
|
-
function concat(chunks) {
|
|
1959
|
-
const out = new Uint8Array(chunks.reduce((n, c) => n + c.byteLength, 0));
|
|
1960
|
-
let at = 0;
|
|
1961
|
-
for (const c of chunks) {
|
|
1962
|
-
out.set(c, at);
|
|
1963
|
-
at += c.byteLength;
|
|
1964
|
-
}
|
|
1965
|
-
return out;
|
|
1966
|
-
}
|
|
1967
1885
|
// packages/exponential-ui/src/web/markdown.ts
|
|
1968
1886
|
var MAX_LINK_NESTING = 32;
|
|
1969
1887
|
var MAX_LINK_DEST = 8192;
|
|
@@ -2378,7 +2296,7 @@ var PLACED = {
|
|
|
2378
2296
|
SearchList: [`head`, `search`, `count`, `body`, `list`, `empty`, `fade`],
|
|
2379
2297
|
Menu: [`trigger`, `head`, `search`, `count`, `body`, `list`, `empty`, `fade`],
|
|
2380
2298
|
Table: [`header`, `body`, `caption`, `empty`],
|
|
2381
|
-
Carousel: [`page`, `indicator`, `controls`, `previous`, `next`],
|
|
2299
|
+
Carousel: [`page`, `indicator`, `controls`, `previous`, `next`, `counter`, `thumbnails`],
|
|
2382
2300
|
Tooltip: [`anchor`],
|
|
2383
2301
|
FileUpload: [`label`, `dropzone`, `icon`, `title`, `hint`, `browse`, `description`],
|
|
2384
2302
|
CodeBlock: [`header`, `title`, `copy`, `body`],
|
|
@@ -2443,15 +2361,21 @@ export {
|
|
|
2443
2361
|
MAX_BLOCK_NESTING,
|
|
2444
2362
|
MAX_LINK_DEST,
|
|
2445
2363
|
MAX_LINK_NESTING,
|
|
2446
|
-
MEDIA_CACHE_IDLE_MAX,
|
|
2364
|
+
MEDIA_CACHE_IDLE_MAX2 as MEDIA_CACHE_IDLE_MAX,
|
|
2365
|
+
MOTION_MAX_FPS2 as MOTION_MAX_FPS,
|
|
2366
|
+
MOTION_MAX_PLAYING2 as MOTION_MAX_PLAYING,
|
|
2367
|
+
MotionCanvasPool2 as MotionCanvasPool,
|
|
2368
|
+
MotionStateDriver2 as MotionStateDriver,
|
|
2369
|
+
MotionView2 as MotionView,
|
|
2447
2370
|
PLACED,
|
|
2448
2371
|
QR_CORNERS,
|
|
2449
2372
|
QR_SCANNER,
|
|
2373
|
+
QUIET_FOCUS_ATTR,
|
|
2450
2374
|
STATE_SELECTORS,
|
|
2451
2375
|
TYPEAHEAD_RESET_MS,
|
|
2452
2376
|
absolutePath,
|
|
2453
2377
|
acceptsFile,
|
|
2454
|
-
acquireMedia,
|
|
2378
|
+
acquireMedia2 as acquireMedia,
|
|
2455
2379
|
addDays,
|
|
2456
2380
|
addMonths,
|
|
2457
2381
|
animationDeclarations,
|
|
@@ -2462,7 +2386,7 @@ export {
|
|
|
2462
2386
|
boundPath,
|
|
2463
2387
|
builtinIconName,
|
|
2464
2388
|
calendarStop,
|
|
2465
|
-
clearMediaCache,
|
|
2389
|
+
clearMediaCache2 as clearMediaCache,
|
|
2466
2390
|
compileNodeSheet,
|
|
2467
2391
|
compileTheme,
|
|
2468
2392
|
compiledTheme,
|
|
@@ -2474,8 +2398,8 @@ export {
|
|
|
2474
2398
|
elementScale2 as elementScale,
|
|
2475
2399
|
failingCheck,
|
|
2476
2400
|
failingChecks,
|
|
2477
|
-
fetchLimited,
|
|
2478
|
-
fetchStream,
|
|
2401
|
+
fetchLimited2 as fetchLimited,
|
|
2402
|
+
fetchStream2 as fetchStream,
|
|
2479
2403
|
fieldErrorsVisible,
|
|
2480
2404
|
formatFileSize,
|
|
2481
2405
|
formatterOf,
|
|
@@ -2490,24 +2414,39 @@ export {
|
|
|
2490
2414
|
joinIds,
|
|
2491
2415
|
layoutSize2 as layoutSize,
|
|
2492
2416
|
linkAt,
|
|
2493
|
-
linkHref,
|
|
2417
|
+
linkHref2 as linkHref,
|
|
2494
2418
|
listViewport,
|
|
2495
2419
|
lookupIcon,
|
|
2496
|
-
mediaCacheKey,
|
|
2497
|
-
mediaCacheStats,
|
|
2498
|
-
|
|
2499
|
-
|
|
2420
|
+
mediaCacheKey2 as mediaCacheKey,
|
|
2421
|
+
mediaCacheStats2 as mediaCacheStats,
|
|
2422
|
+
mediaClock,
|
|
2423
|
+
mediaRequestOf2 as mediaRequestOf,
|
|
2424
|
+
mediaUrlAllowed2 as mediaUrlAllowed,
|
|
2500
2425
|
memoFormatter,
|
|
2501
2426
|
monthGrid,
|
|
2427
|
+
motionA11y2 as motionA11y,
|
|
2428
|
+
motionBoxStyle2 as motionBoxStyle,
|
|
2429
|
+
motionCanPaint2 as motionCanPaint,
|
|
2430
|
+
motionConcat2 as motionConcat,
|
|
2431
|
+
motionDeclaredSize2 as motionDeclaredSize,
|
|
2432
|
+
motionDotLottie2 as motionDotLottie,
|
|
2433
|
+
motionFit2 as motionFit,
|
|
2434
|
+
motionFitMatrix2 as motionFitMatrix,
|
|
2435
|
+
motionFrameSize2 as motionFrameSize,
|
|
2436
|
+
motionFromDotLottie2 as motionFromDotLottie,
|
|
2437
|
+
motionThemeSlots2 as motionThemeSlots,
|
|
2502
2438
|
nextEnabledIndex,
|
|
2503
2439
|
nodeClass,
|
|
2504
2440
|
nodeSheet,
|
|
2505
2441
|
nodeSheetBatches,
|
|
2506
2442
|
num2 as num,
|
|
2507
2443
|
objects,
|
|
2508
|
-
openAllowed,
|
|
2509
|
-
|
|
2510
|
-
|
|
2444
|
+
openAllowed2 as openAllowed,
|
|
2445
|
+
openFocusTarget,
|
|
2446
|
+
openMediaSource2 as openMediaSource,
|
|
2447
|
+
overlayOpenFocus,
|
|
2448
|
+
ownPrivateHosts2 as ownPrivateHosts,
|
|
2449
|
+
paintMotionFrame2 as paintMotionFrame,
|
|
2511
2450
|
parseInline,
|
|
2512
2451
|
parseIsoDate,
|
|
2513
2452
|
parseList,
|
|
@@ -2524,7 +2463,7 @@ export {
|
|
|
2524
2463
|
qrScanFormats,
|
|
2525
2464
|
qrScanReporter,
|
|
2526
2465
|
queryToken,
|
|
2527
|
-
releaseMedia,
|
|
2466
|
+
releaseMedia2 as releaseMedia,
|
|
2528
2467
|
resolveAccessibility,
|
|
2529
2468
|
resolveNodeProps,
|
|
2530
2469
|
resolveProps,
|
|
@@ -2541,14 +2480,16 @@ export {
|
|
|
2541
2480
|
shimmerRule,
|
|
2542
2481
|
sortRows,
|
|
2543
2482
|
str,
|
|
2544
|
-
streamEntry,
|
|
2483
|
+
streamEntry2 as streamEntry,
|
|
2545
2484
|
styleDirection,
|
|
2546
2485
|
surfaceClass,
|
|
2486
|
+
tableMinWidth,
|
|
2487
|
+
tableTemplate,
|
|
2547
2488
|
themeScope,
|
|
2548
2489
|
tokenVar,
|
|
2549
2490
|
tokenVarName,
|
|
2550
2491
|
typeaheadStep,
|
|
2551
|
-
urlPolicyOf,
|
|
2492
|
+
urlPolicyOf2 as urlPolicyOf,
|
|
2552
2493
|
validateOnDefault,
|
|
2553
2494
|
viewOf,
|
|
2554
2495
|
visualScale2 as visualScale,
|
|
@@ -2561,5 +2502,5 @@ export {
|
|
|
2561
2502
|
withinSlop
|
|
2562
2503
|
};
|
|
2563
2504
|
|
|
2564
|
-
//# debugId=
|
|
2505
|
+
//# debugId=1F64AD564A39483D64756E2164756E21
|
|
2565
2506
|
//# sourceMappingURL=index.js.map
|