@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
|
@@ -319,6 +319,27 @@ var core_runtime_default = {
|
|
|
319
319
|
"running",
|
|
320
320
|
"done",
|
|
321
321
|
"declined"
|
|
322
|
+
],
|
|
323
|
+
zoomInitial: [
|
|
324
|
+
"auto",
|
|
325
|
+
"fit",
|
|
326
|
+
"fitWidth",
|
|
327
|
+
"actual"
|
|
328
|
+
],
|
|
329
|
+
zoomControls: [
|
|
330
|
+
"auto",
|
|
331
|
+
"always",
|
|
332
|
+
"none"
|
|
333
|
+
],
|
|
334
|
+
motionDirection: [
|
|
335
|
+
"forward",
|
|
336
|
+
"reverse",
|
|
337
|
+
"alternate"
|
|
338
|
+
],
|
|
339
|
+
motionFit: [
|
|
340
|
+
"contain",
|
|
341
|
+
"cover",
|
|
342
|
+
"fill"
|
|
322
343
|
]
|
|
323
344
|
},
|
|
324
345
|
defs: {
|
|
@@ -557,6 +578,10 @@ var core_runtime_default = {
|
|
|
557
578
|
},
|
|
558
579
|
decimals: {
|
|
559
580
|
type: "number"
|
|
581
|
+
},
|
|
582
|
+
truncate: {
|
|
583
|
+
type: "boolean",
|
|
584
|
+
default: false
|
|
560
585
|
}
|
|
561
586
|
}
|
|
562
587
|
},
|
|
@@ -620,6 +645,34 @@ var core_runtime_default = {
|
|
|
620
645
|
enum: "traceStatus"
|
|
621
646
|
}
|
|
622
647
|
}
|
|
648
|
+
},
|
|
649
|
+
outlineItem: {
|
|
650
|
+
properties: {
|
|
651
|
+
id: {
|
|
652
|
+
type: "string",
|
|
653
|
+
required: true
|
|
654
|
+
},
|
|
655
|
+
title: {
|
|
656
|
+
type: "string",
|
|
657
|
+
required: true,
|
|
658
|
+
bindable: true
|
|
659
|
+
},
|
|
660
|
+
count: {
|
|
661
|
+
type: "number",
|
|
662
|
+
bindable: true
|
|
663
|
+
}
|
|
664
|
+
}
|
|
665
|
+
},
|
|
666
|
+
picture: {
|
|
667
|
+
properties: {
|
|
668
|
+
src: {
|
|
669
|
+
type: "url",
|
|
670
|
+
required: true
|
|
671
|
+
},
|
|
672
|
+
alt: {
|
|
673
|
+
type: "string"
|
|
674
|
+
}
|
|
675
|
+
}
|
|
623
676
|
}
|
|
624
677
|
},
|
|
625
678
|
functions: {
|
|
@@ -938,7 +991,10 @@ var core_runtime_default = {
|
|
|
938
991
|
"Toast.icon.success": "ui-success",
|
|
939
992
|
"Toast.icon.warning": "ui-warning",
|
|
940
993
|
"Toast.icon.error": "ui-error",
|
|
941
|
-
"Unknown.root": "ui-warning"
|
|
994
|
+
"Unknown.root": "ui-warning",
|
|
995
|
+
"ZoomableImage.zoomOut": "ui-minus",
|
|
996
|
+
"ZoomableImage.zoomIn": "ui-add",
|
|
997
|
+
"ZoomableImage.fit": "ui-fullscreen"
|
|
942
998
|
},
|
|
943
999
|
components: {
|
|
944
1000
|
Box: {
|
|
@@ -1566,6 +1622,55 @@ var core_runtime_default = {
|
|
|
1566
1622
|
}
|
|
1567
1623
|
}
|
|
1568
1624
|
},
|
|
1625
|
+
ZoomableImage: {
|
|
1626
|
+
kind: "native",
|
|
1627
|
+
group: "media",
|
|
1628
|
+
lite: false,
|
|
1629
|
+
children: "none",
|
|
1630
|
+
props: {
|
|
1631
|
+
src: {
|
|
1632
|
+
type: "url",
|
|
1633
|
+
required: true,
|
|
1634
|
+
bindable: true
|
|
1635
|
+
},
|
|
1636
|
+
alt: {
|
|
1637
|
+
type: "string",
|
|
1638
|
+
required: true,
|
|
1639
|
+
bindable: true
|
|
1640
|
+
},
|
|
1641
|
+
naturalWidth: {
|
|
1642
|
+
type: "number"
|
|
1643
|
+
},
|
|
1644
|
+
naturalHeight: {
|
|
1645
|
+
type: "number"
|
|
1646
|
+
},
|
|
1647
|
+
initial: {
|
|
1648
|
+
type: "enum",
|
|
1649
|
+
enum: "zoomInitial",
|
|
1650
|
+
default: "auto"
|
|
1651
|
+
},
|
|
1652
|
+
maxScale: {
|
|
1653
|
+
type: "number",
|
|
1654
|
+
default: 8
|
|
1655
|
+
},
|
|
1656
|
+
controls: {
|
|
1657
|
+
type: "enum",
|
|
1658
|
+
enum: "zoomControls",
|
|
1659
|
+
default: "auto"
|
|
1660
|
+
},
|
|
1661
|
+
scale: {
|
|
1662
|
+
type: "number",
|
|
1663
|
+
bindable: true
|
|
1664
|
+
},
|
|
1665
|
+
style: {
|
|
1666
|
+
type: "style"
|
|
1667
|
+
}
|
|
1668
|
+
},
|
|
1669
|
+
events: [
|
|
1670
|
+
"zoom",
|
|
1671
|
+
"tap"
|
|
1672
|
+
]
|
|
1673
|
+
},
|
|
1569
1674
|
Icon: {
|
|
1570
1675
|
kind: "native",
|
|
1571
1676
|
group: "media",
|
|
@@ -1709,12 +1814,44 @@ var core_runtime_default = {
|
|
|
1709
1814
|
indicators: {
|
|
1710
1815
|
type: "boolean",
|
|
1711
1816
|
default: true
|
|
1817
|
+
},
|
|
1818
|
+
counter: {
|
|
1819
|
+
type: "boolean",
|
|
1820
|
+
default: false
|
|
1821
|
+
},
|
|
1822
|
+
thumbnails: {
|
|
1823
|
+
type: "array",
|
|
1824
|
+
items: {
|
|
1825
|
+
type: "url"
|
|
1826
|
+
}
|
|
1712
1827
|
}
|
|
1713
1828
|
},
|
|
1714
1829
|
events: [
|
|
1715
1830
|
"change"
|
|
1716
1831
|
]
|
|
1717
1832
|
},
|
|
1833
|
+
Mosaic: {
|
|
1834
|
+
kind: "macro",
|
|
1835
|
+
group: "media",
|
|
1836
|
+
lite: false,
|
|
1837
|
+
children: "none",
|
|
1838
|
+
props: {
|
|
1839
|
+
pictures: {
|
|
1840
|
+
type: "array",
|
|
1841
|
+
items: {
|
|
1842
|
+
type: "object",
|
|
1843
|
+
shape: "picture"
|
|
1844
|
+
},
|
|
1845
|
+
required: true
|
|
1846
|
+
},
|
|
1847
|
+
label: {
|
|
1848
|
+
type: "string"
|
|
1849
|
+
}
|
|
1850
|
+
},
|
|
1851
|
+
events: [
|
|
1852
|
+
"select"
|
|
1853
|
+
]
|
|
1854
|
+
},
|
|
1718
1855
|
Tabs: {
|
|
1719
1856
|
kind: "native",
|
|
1720
1857
|
group: "navigation",
|
|
@@ -1994,6 +2131,32 @@ var core_runtime_default = {
|
|
|
1994
2131
|
"select"
|
|
1995
2132
|
]
|
|
1996
2133
|
},
|
|
2134
|
+
Outline: {
|
|
2135
|
+
kind: "macro",
|
|
2136
|
+
group: "navigation",
|
|
2137
|
+
lite: true,
|
|
2138
|
+
children: "none",
|
|
2139
|
+
props: {
|
|
2140
|
+
items: {
|
|
2141
|
+
type: "array",
|
|
2142
|
+
items: {
|
|
2143
|
+
type: "object",
|
|
2144
|
+
shape: "outlineItem"
|
|
2145
|
+
},
|
|
2146
|
+
required: true
|
|
2147
|
+
},
|
|
2148
|
+
value: {
|
|
2149
|
+
type: "string",
|
|
2150
|
+
bindable: true
|
|
2151
|
+
},
|
|
2152
|
+
caption: {
|
|
2153
|
+
type: "string"
|
|
2154
|
+
}
|
|
2155
|
+
},
|
|
2156
|
+
events: [
|
|
2157
|
+
"select"
|
|
2158
|
+
]
|
|
2159
|
+
},
|
|
1997
2160
|
Stepper: {
|
|
1998
2161
|
kind: "macro",
|
|
1999
2162
|
group: "navigation",
|
|
@@ -3940,6 +4103,117 @@ var core_runtime_default = {
|
|
|
3940
4103
|
type: "string"
|
|
3941
4104
|
}
|
|
3942
4105
|
}
|
|
4106
|
+
},
|
|
4107
|
+
Motion: {
|
|
4108
|
+
kind: "native",
|
|
4109
|
+
group: "media",
|
|
4110
|
+
lite: true,
|
|
4111
|
+
children: "none",
|
|
4112
|
+
props: {
|
|
4113
|
+
layers: {
|
|
4114
|
+
type: "array",
|
|
4115
|
+
items: {
|
|
4116
|
+
type: "object"
|
|
4117
|
+
}
|
|
4118
|
+
},
|
|
4119
|
+
size: {
|
|
4120
|
+
type: "array",
|
|
4121
|
+
items: {
|
|
4122
|
+
type: "number"
|
|
4123
|
+
}
|
|
4124
|
+
},
|
|
4125
|
+
duration: {
|
|
4126
|
+
type: "number"
|
|
4127
|
+
},
|
|
4128
|
+
fps: {
|
|
4129
|
+
type: "number",
|
|
4130
|
+
default: 60
|
|
4131
|
+
},
|
|
4132
|
+
assets: {
|
|
4133
|
+
type: "object"
|
|
4134
|
+
},
|
|
4135
|
+
markers: {
|
|
4136
|
+
type: "array",
|
|
4137
|
+
items: {
|
|
4138
|
+
type: "object"
|
|
4139
|
+
}
|
|
4140
|
+
},
|
|
4141
|
+
lottie: {
|
|
4142
|
+
type: "object"
|
|
4143
|
+
},
|
|
4144
|
+
src: {
|
|
4145
|
+
type: "url"
|
|
4146
|
+
},
|
|
4147
|
+
autoplay: {
|
|
4148
|
+
type: "boolean",
|
|
4149
|
+
default: true
|
|
4150
|
+
},
|
|
4151
|
+
loop: {
|
|
4152
|
+
type: "boolean",
|
|
4153
|
+
default: true
|
|
4154
|
+
},
|
|
4155
|
+
plays: {
|
|
4156
|
+
type: "number"
|
|
4157
|
+
},
|
|
4158
|
+
direction: {
|
|
4159
|
+
type: "enum",
|
|
4160
|
+
enum: "motionDirection",
|
|
4161
|
+
default: "forward"
|
|
4162
|
+
},
|
|
4163
|
+
speed: {
|
|
4164
|
+
type: "number",
|
|
4165
|
+
default: 1
|
|
4166
|
+
},
|
|
4167
|
+
segment: {
|
|
4168
|
+
type: "array",
|
|
4169
|
+
items: {
|
|
4170
|
+
type: "number"
|
|
4171
|
+
}
|
|
4172
|
+
},
|
|
4173
|
+
marker: {
|
|
4174
|
+
type: "string"
|
|
4175
|
+
},
|
|
4176
|
+
progress: {
|
|
4177
|
+
type: "number",
|
|
4178
|
+
bindable: true
|
|
4179
|
+
},
|
|
4180
|
+
play: {
|
|
4181
|
+
type: "boolean",
|
|
4182
|
+
bindable: true,
|
|
4183
|
+
default: true
|
|
4184
|
+
},
|
|
4185
|
+
poster: {
|
|
4186
|
+
type: "number"
|
|
4187
|
+
},
|
|
4188
|
+
fit: {
|
|
4189
|
+
type: "enum",
|
|
4190
|
+
enum: "motionFit",
|
|
4191
|
+
default: "contain"
|
|
4192
|
+
},
|
|
4193
|
+
slots: {
|
|
4194
|
+
type: "object"
|
|
4195
|
+
},
|
|
4196
|
+
stateMachine: {
|
|
4197
|
+
type: "object"
|
|
4198
|
+
},
|
|
4199
|
+
inputs: {
|
|
4200
|
+
type: "object",
|
|
4201
|
+
bindable: true
|
|
4202
|
+
},
|
|
4203
|
+
label: {
|
|
4204
|
+
type: "string"
|
|
4205
|
+
},
|
|
4206
|
+
style: {
|
|
4207
|
+
type: "style"
|
|
4208
|
+
}
|
|
4209
|
+
},
|
|
4210
|
+
events: [
|
|
4211
|
+
"press",
|
|
4212
|
+
"hover",
|
|
4213
|
+
"visible",
|
|
4214
|
+
"complete",
|
|
4215
|
+
"state"
|
|
4216
|
+
]
|
|
3943
4217
|
}
|
|
3944
4218
|
}
|
|
3945
4219
|
};
|
|
@@ -4146,7 +4420,7 @@ var basic_map_default = {
|
|
|
4146
4420
|
};
|
|
4147
4421
|
// packages/exponential-ui/catalog/macros.json
|
|
4148
4422
|
var macros_default = {
|
|
4149
|
-
$comment: 'VAPP-85: the ONE declarative macro table. A macro component (core.catalog.json `kind: macro`) expands into this template before painting; the TS reference expander (src/macros.ts) and the Rust core apply the same table and fixtures/catalog-macros.json locks the output. Template node = { part, component, props?, style?, children?, slots?, $if?, $any?, $each?, $as?, $on?, $context?, $set?, $recipe?, $a11y? }. Values: `"{props.x}"` alone = the raw prop (a data BINDING passes through untouched, so two-way binding survives); `"{props.x|fallback}"` = with a default; `{…}` inside a longer string interpolates; `{id}` = the macro node\'s id; `{len(props.rows)}` = an array length; `{range(props.max|5)}` = the indexes 0..n-1 (for `$each`); `{index}` = the current $each index; `{!path}` negates. Value objects: $map {from, cases, default}, $cond [condition, then, else], $eq [a, b] (a number equals a string spelling it), $lt [a, b], $add [a, b], $sub [a, b], $clamp [value, min, max] (a missing bound does not clamp), $percent [value, max] (→ "N%"), $coalesce [a, b, …], $text value (→ the value as a string, absent when missing), $not condition, $fill [template, {name: value}] (ALWAYS emits the core `fill` call: the template is usually a `$string.<id>` sentence with `{name}` placeholders the surface\'s string table resolves at bind time). Object KEYS interpolate too (`"@media (max-width: $breakpoint.{props.collapseBelow|md})"`). `$if` = a condition or an array of conditions (all must hold); `$any` = an array where one must hold. `$each` repeats a part per item of an array (`$as` names the item, default `item`). Children: `"$children"` splices the author\'s children, `"$slot:name"` splices an author slot in place; `slots: {"trigger": "$slot:trigger"}` copies an author slot, `slots: {"footer": {template node}}` builds one as a part. `$on: {"press": "change"}` routes the author\'s `on.change` handler to this part\'s `press` (merging `$context` into an event action\'s context); without `$on` the author\'s `on` map stays on the root. `$set: {"press": {"prop": "open", "value": "{!props.open}"}}` = TWO-WAY BINDING (round 1): when the author\'s `props.open` is a data binding `{path}`, this part\'s `press` action also carries `functionCall: {call: "set", args: {path, value}}` (the value evaluated like any template value, so usually a call), key order `event` then `functionCall`; a literal prop adds nothing (the host owns the state through the routed event); when the author\'s routed handler is itself a FUNCTION (an Action carries one), it wins, no `set` is added and the reducer reports an issue. `$a11y: {role, label, description, level, expanded, current, selected, pressed, checked, valueNow, valueMin, valueMax, hidden, autoFocus}` = the part\'s ACCESSIBILITY (docs/round-1-contract.md §6): evaluated like props (a bound input emits a call) into the expanded node\'s `accessibility`; `role` is one of catalog/a11y.json `roles`; on the root the author\'s `accessibility` label/description win. Ids: the root keeps the author\'s id, parts get `<id>.<part>` and `<id>.<part>.<index>` under `$each`. Every expanded node carries `recipe: {macro, part, props}` where props = `recipeProps` evaluated from the author\'s props (+ a part\'s `$recipe`); the THEME (VAPP-92) keys its visual recipes on that, so nothing here states a colour, a border or a font — only structure and token-named spacing, radius and control heights. VAPP-163: the expansion ROOT\'s recipe also carries `authored` = the top-level keys of the style written ON the macro node (condition blocks count as one key), SORTED, omitted when none; painters apply native recipe < node style < part recipe < those authored keys, so an author\'s colour or size on a Heading/Badge beats the theme\'s part recipe while the template\'s own structure does not (only the author\'s keys count: a macro node an outer template drew passes on just its root\'s `authored`, never template style). Macros may use other macros (Row → TreeGuides); expansion recurses until every node is native (innermost recipe wins). ROUND 1 (docs/round-1-contract.md §1, BOUND INPUTS): when an expression input is a data binding `{path}` or a function call, the expander does NOT evaluate — it EMITS an A2UI function call the renderer evaluates at bind time, over the core functions: interpolation → concat, `|fallback` → fallback (as an operand; a whole-string MEMBER of props/style/context passes the binding itself through, so two-way binding survives), `!` → not, len → len, $map → map, $cond → cond, $eq → eq, $lt → lt, $add → add, $sub → sub, $percent → percent, $text → text, $coalesce → coalesce, $not → not; a `$if`/`$any` whose conditions are bound emits the part WITH `visible` = the bound condition (`and{values}` over several bound `$if`s, `or{values}` over several bound `$any`s; literal conditions still decide at expansion); `$each` over a bound array emits nothing (use List with a template); a `$recipe` value may therefore be a call too (renderers resolve recipe props like props). RESPONSIVE PROPS: an author prop `{base, sm?, md?, lg?, xl?}` on a `responsive` prop is evaluated per breakpoint: a part\'s style is computed with the `base` values, then once per breakpoint named (ascending sm<md<lg<xl, each key inheriting the last smaller one) and every key that changed lands in a `"@media (min-width: $breakpoint.<bp>)"` block of that part; props and conditions see the `base` value. Strings of the form `$string.<id>` (catalog/strings.json) are built-in UI copy the renderer shows in the surface locale. Round 3 (VAPP-102): AFTER the table is applied the core runs ONE post-expansion pass, src/tree-guides.ts applyTreeGuides (Rust: tree_guides::apply): over every node\'s children in order, each Row root (`recipe.macro` Row, part root) contributes its numeric `recipe.props.depth` (anything else counts as depth 0 and ends every subtree), the ×4 treeGuides rule (elbow at depth-1, tee while a later sibling follows, pass-through for every ancestor level that continues) fills the Row\'s `guides` part (a TreeGuides) with `elbowAt`/`tee`/`passThrough`; fixtures/tree-guides.json locks the rule, catalog-macros.json the filled trees.',
|
|
4423
|
+
$comment: 'VAPP-85: the ONE declarative macro table. A macro component (core.catalog.json `kind: macro`) expands into this template before painting; the TS reference expander (src/macros.ts) and the Rust core apply the same table and fixtures/catalog-macros.json locks the output. Template node = { part, component, props?, style?, children?, slots?, $if?, $any?, $each?, $as?, $on?, $context?, $set?, $recipe?, $a11y? }. Values: `"{props.x}"` alone = the raw prop (a data BINDING passes through untouched, so two-way binding survives); `"{props.x|fallback}"` = with a default; `{…}` inside a longer string interpolates; `{id}` = the macro node\'s id; `{len(props.rows)}` = an array length; `{range(props.max|5)}` = the indexes 0..n-1 (for `$each`); `{index}` = the current $each index; `{!path}` negates. Value objects: $map {from, cases, default}, $cond [condition, then, else], $eq [a, b] (a number equals a string spelling it), $lt [a, b], $add [a, b], $sub [a, b], $clamp [value, min, max] (a missing bound does not clamp), $percent [value, max] (→ "N%"), $coalesce [a, b, …], $text value (→ the value as a string, absent when missing), $not condition, $fill [template, {name: value}] (ALWAYS emits the core `fill` call: the template is usually a `$string.<id>` sentence with `{name}` placeholders the surface\'s string table resolves at bind time). Object KEYS interpolate too (`"@media (max-width: $breakpoint.{props.collapseBelow|md})"`). `$if` = a condition or an array of conditions (all must hold); `$any` = an array where one must hold. `$each` repeats a part per item of an array (`$as` names the item, default `item`). Children: `"$children"` splices the author\'s children, `"$slot:name"` splices an author slot in place; `slots: {"trigger": "$slot:trigger"}` copies an author slot, `slots: {"footer": {template node}}` builds one as a part. `$on: {"press": "change"}` routes the author\'s `on.change` handler to this part\'s `press` (merging `$context` into an event action\'s context); without `$on` the author\'s `on` map stays on the root. `$set: {"press": {"prop": "open", "value": "{!props.open}"}}` = TWO-WAY BINDING (round 1): when the author\'s `props.open` is a data binding `{path}`, this part\'s `press` action also carries `functionCall: {call: "set", args: {path, value}}` (the value evaluated like any template value, so usually a call), key order `event` then `functionCall`; a literal prop adds nothing (the host owns the state through the routed event); when the author\'s routed handler is itself a FUNCTION (an Action carries one), it wins, no `set` is added and the reducer reports an issue. `$a11y: {role, label, description, level, expanded, current, selected, pressed, checked, valueNow, valueMin, valueMax, hidden, autoFocus}` = the part\'s ACCESSIBILITY (docs/round-1-contract.md §6): evaluated like props (a bound input emits a call) into the expanded node\'s `accessibility`; `role` is one of catalog/a11y.json `roles`; on the root the author\'s `accessibility` label/description win. Ids: the root keeps the author\'s id, parts get `<id>.<part>` and `<id>.<part>.<index>` under `$each`. Every expanded node carries `recipe: {macro, part, props}` where props = `recipeProps` evaluated from the author\'s props (+ a part\'s `$recipe`); the THEME (VAPP-92) keys its visual recipes on that, so nothing here states a colour, a border or a font — only structure and token-named spacing, radius and control heights. VAPP-163: the expansion ROOT\'s recipe also carries `authored` = the top-level keys of the style written ON the macro node (condition blocks count as one key), SORTED, omitted when none; painters apply native recipe < node style < part recipe < those authored keys, so an author\'s colour or size on a Heading/Badge beats the theme\'s part recipe while the template\'s own structure does not (only the author\'s keys count: a macro node an outer template drew passes on just its root\'s `authored`, never template style). Macros may use other macros (Row → TreeGuides); expansion recurses until every node is native (innermost recipe wins). ROUND 1 (docs/round-1-contract.md §1, BOUND INPUTS): when an expression input is a data binding `{path}` or a function call, the expander does NOT evaluate — it EMITS an A2UI function call the renderer evaluates at bind time, over the core functions: interpolation → concat, `|fallback` → fallback (as an operand; a whole-string MEMBER of props/style/context passes the binding itself through, so two-way binding survives), `!` → not, len → len, $map → map, $cond → cond, $eq → eq, $lt → lt, $add → add, $sub → sub, $percent → percent, $text → text, $coalesce → coalesce, $not → not; a `$if`/`$any` whose conditions are bound emits the part WITH `visible` = the bound condition (`and{values}` over several bound `$if`s, `or{values}` over several bound `$any`s; literal conditions still decide at expansion); `$each` over a bound array emits nothing (use List with a template); a `$recipe` value may therefore be a call too (renderers resolve recipe props like props). RESPONSIVE PROPS: an author prop `{base, sm?, md?, lg?, xl?}` on a `responsive` prop is evaluated per breakpoint: a part\'s style is computed with the `base` values, then once per breakpoint named (ascending sm<md<lg<xl, each key inheriting the last smaller one) and every key that changed lands in a `"@media (min-width: $breakpoint.<bp>)"` block of that part; props and conditions see the `base` value. Strings of the form `$string.<id>` (catalog/strings.json) are built-in UI copy the renderer shows in the surface locale. Round 3 (VAPP-102): AFTER the table is applied the core runs ONE post-expansion pass, src/tree-guides.ts applyTreeGuides (Rust: tree_guides::apply): over every node\'s children in order, each Row root (`recipe.macro` Row, part root) contributes its numeric `recipe.props.depth` (anything else counts as depth 0 and ends every subtree), the ×4 treeGuides rule (elbow at depth-1, tee while a later sibling follows, pass-through for every ancestor level that continues) fills the Row\'s `guides` part (a TreeGuides) with `elbowAt`/`tee`/`passThrough`; fixtures/tree-guides.json locks the rule, catalog-macros.json the filled trees. EXP-1495 (docs/round-6-contract.md): Outline (the anchor list) and Mosaic (the wide picture group) are macros over Box/Text/Image.',
|
|
4150
4424
|
macros: {
|
|
4151
4425
|
Stack: {
|
|
4152
4426
|
recipeProps: [],
|
|
@@ -6172,6 +6446,7 @@ var macros_default = {
|
|
|
6172
6446
|
}
|
|
6173
6447
|
},
|
|
6174
6448
|
alignItems: "stretch",
|
|
6449
|
+
gap: "$spacing.lg",
|
|
6175
6450
|
width: "100%",
|
|
6176
6451
|
minHeight: 0
|
|
6177
6452
|
},
|
|
@@ -6480,51 +6755,214 @@ var macros_default = {
|
|
|
6480
6755
|
]
|
|
6481
6756
|
}
|
|
6482
6757
|
},
|
|
6483
|
-
|
|
6484
|
-
recipeProps: [
|
|
6485
|
-
"orientation"
|
|
6486
|
-
],
|
|
6758
|
+
Outline: {
|
|
6759
|
+
recipeProps: [],
|
|
6487
6760
|
root: {
|
|
6488
6761
|
part: "root",
|
|
6489
6762
|
component: "Box",
|
|
6490
6763
|
$a11y: {
|
|
6491
|
-
role: "
|
|
6764
|
+
role: "navigation",
|
|
6765
|
+
label: "{props.caption|$string.outline}"
|
|
6492
6766
|
},
|
|
6493
6767
|
style: {
|
|
6494
6768
|
display: "flex",
|
|
6495
|
-
flexDirection:
|
|
6496
|
-
|
|
6497
|
-
|
|
6498
|
-
cases: {
|
|
6499
|
-
vertical: "column"
|
|
6500
|
-
},
|
|
6501
|
-
default: "row"
|
|
6502
|
-
}
|
|
6503
|
-
},
|
|
6504
|
-
alignItems: {
|
|
6505
|
-
$map: {
|
|
6506
|
-
from: "props.orientation",
|
|
6507
|
-
cases: {
|
|
6508
|
-
vertical: "stretch"
|
|
6509
|
-
},
|
|
6510
|
-
default: "flex-start"
|
|
6511
|
-
}
|
|
6512
|
-
},
|
|
6513
|
-
gap: "$spacing.md",
|
|
6514
|
-
width: "100%"
|
|
6769
|
+
flexDirection: "column",
|
|
6770
|
+
gap: "$spacing.xxs",
|
|
6771
|
+
minWidth: 0
|
|
6515
6772
|
},
|
|
6516
6773
|
children: [
|
|
6517
6774
|
{
|
|
6518
|
-
part: "
|
|
6775
|
+
part: "caption",
|
|
6776
|
+
component: "Text",
|
|
6777
|
+
$if: "props.caption",
|
|
6778
|
+
props: {
|
|
6779
|
+
text: "{props.caption}",
|
|
6780
|
+
variant: "caption",
|
|
6781
|
+
lines: 1
|
|
6782
|
+
},
|
|
6783
|
+
$a11y: {
|
|
6784
|
+
hidden: true
|
|
6785
|
+
}
|
|
6786
|
+
},
|
|
6787
|
+
{
|
|
6788
|
+
part: "row",
|
|
6519
6789
|
component: "Box",
|
|
6520
|
-
$each: "props.
|
|
6521
|
-
$as: "
|
|
6790
|
+
$each: "props.items",
|
|
6791
|
+
$as: "item",
|
|
6792
|
+
props: {
|
|
6793
|
+
pressable: true
|
|
6794
|
+
},
|
|
6522
6795
|
style: {
|
|
6523
6796
|
display: "flex",
|
|
6524
|
-
flexDirection:
|
|
6525
|
-
|
|
6526
|
-
|
|
6527
|
-
|
|
6797
|
+
flexDirection: "row",
|
|
6798
|
+
alignItems: "center",
|
|
6799
|
+
gap: "$spacing.xs",
|
|
6800
|
+
position: "relative",
|
|
6801
|
+
height: "$control.rowCompact",
|
|
6802
|
+
paddingHorizontal: "$spacing.sm",
|
|
6803
|
+
minWidth: 0,
|
|
6804
|
+
overflow: "hidden",
|
|
6805
|
+
cursor: "pointer"
|
|
6806
|
+
},
|
|
6807
|
+
$recipe: {
|
|
6808
|
+
active: {
|
|
6809
|
+
$eq: [
|
|
6810
|
+
"{item.id}",
|
|
6811
|
+
"{props.value}"
|
|
6812
|
+
]
|
|
6813
|
+
}
|
|
6814
|
+
},
|
|
6815
|
+
$a11y: {
|
|
6816
|
+
role: "link",
|
|
6817
|
+
label: {
|
|
6818
|
+
$cond: [
|
|
6819
|
+
"item.count",
|
|
6820
|
+
{
|
|
6821
|
+
$fill: [
|
|
6822
|
+
"$string.outlineRow",
|
|
6823
|
+
{
|
|
6824
|
+
title: "{item.title}",
|
|
6825
|
+
count: "{item.count}"
|
|
6826
|
+
}
|
|
6827
|
+
]
|
|
6828
|
+
},
|
|
6829
|
+
"{item.title}"
|
|
6830
|
+
]
|
|
6831
|
+
},
|
|
6832
|
+
current: {
|
|
6833
|
+
$cond: [
|
|
6834
|
+
{
|
|
6835
|
+
$eq: [
|
|
6836
|
+
"{item.id}",
|
|
6837
|
+
"{props.value}"
|
|
6838
|
+
]
|
|
6839
|
+
},
|
|
6840
|
+
"location",
|
|
6841
|
+
false
|
|
6842
|
+
]
|
|
6843
|
+
}
|
|
6844
|
+
},
|
|
6845
|
+
$on: {
|
|
6846
|
+
press: "select"
|
|
6847
|
+
},
|
|
6848
|
+
$context: {
|
|
6849
|
+
id: "{item.id}"
|
|
6850
|
+
},
|
|
6851
|
+
$set: {
|
|
6852
|
+
press: {
|
|
6853
|
+
prop: "value",
|
|
6854
|
+
value: "{item.id}"
|
|
6855
|
+
}
|
|
6856
|
+
},
|
|
6857
|
+
children: [
|
|
6858
|
+
{
|
|
6859
|
+
part: "bar",
|
|
6860
|
+
component: "Box",
|
|
6861
|
+
$if: {
|
|
6862
|
+
$eq: [
|
|
6863
|
+
"{item.id}",
|
|
6864
|
+
"{props.value}"
|
|
6865
|
+
]
|
|
6866
|
+
},
|
|
6867
|
+
$a11y: {
|
|
6868
|
+
hidden: true
|
|
6869
|
+
},
|
|
6870
|
+
style: {
|
|
6871
|
+
position: "absolute",
|
|
6872
|
+
insetInlineStart: 0,
|
|
6873
|
+
top: 0,
|
|
6874
|
+
bottom: 0,
|
|
6875
|
+
width: 2
|
|
6876
|
+
}
|
|
6877
|
+
},
|
|
6878
|
+
{
|
|
6879
|
+
part: "title",
|
|
6880
|
+
component: "Text",
|
|
6881
|
+
props: {
|
|
6882
|
+
text: "{item.title}",
|
|
6883
|
+
lines: 1
|
|
6884
|
+
},
|
|
6885
|
+
$recipe: {
|
|
6886
|
+
active: {
|
|
6887
|
+
$eq: [
|
|
6888
|
+
"{item.id}",
|
|
6889
|
+
"{props.value}"
|
|
6890
|
+
]
|
|
6891
|
+
}
|
|
6892
|
+
},
|
|
6893
|
+
style: {
|
|
6894
|
+
flexGrow: 1,
|
|
6895
|
+
flexShrink: 1,
|
|
6896
|
+
flexBasis: 0,
|
|
6897
|
+
minWidth: 0
|
|
6898
|
+
}
|
|
6899
|
+
},
|
|
6900
|
+
{
|
|
6901
|
+
part: "count",
|
|
6902
|
+
component: "Text",
|
|
6903
|
+
$if: "item.count",
|
|
6904
|
+
props: {
|
|
6905
|
+
text: "· {item.count}",
|
|
6906
|
+
variant: "caption",
|
|
6907
|
+
lines: 1
|
|
6908
|
+
},
|
|
6909
|
+
$a11y: {
|
|
6910
|
+
hidden: true
|
|
6911
|
+
},
|
|
6912
|
+
style: {
|
|
6913
|
+
flexShrink: 0
|
|
6914
|
+
}
|
|
6915
|
+
}
|
|
6916
|
+
]
|
|
6917
|
+
}
|
|
6918
|
+
]
|
|
6919
|
+
}
|
|
6920
|
+
},
|
|
6921
|
+
Stepper: {
|
|
6922
|
+
recipeProps: [
|
|
6923
|
+
"orientation"
|
|
6924
|
+
],
|
|
6925
|
+
root: {
|
|
6926
|
+
part: "root",
|
|
6927
|
+
component: "Box",
|
|
6928
|
+
$a11y: {
|
|
6929
|
+
role: "list"
|
|
6930
|
+
},
|
|
6931
|
+
style: {
|
|
6932
|
+
display: "flex",
|
|
6933
|
+
flexDirection: {
|
|
6934
|
+
$map: {
|
|
6935
|
+
from: "props.orientation",
|
|
6936
|
+
cases: {
|
|
6937
|
+
vertical: "column"
|
|
6938
|
+
},
|
|
6939
|
+
default: "row"
|
|
6940
|
+
}
|
|
6941
|
+
},
|
|
6942
|
+
alignItems: {
|
|
6943
|
+
$map: {
|
|
6944
|
+
from: "props.orientation",
|
|
6945
|
+
cases: {
|
|
6946
|
+
vertical: "stretch"
|
|
6947
|
+
},
|
|
6948
|
+
default: "flex-start"
|
|
6949
|
+
}
|
|
6950
|
+
},
|
|
6951
|
+
gap: "$spacing.md",
|
|
6952
|
+
width: "100%"
|
|
6953
|
+
},
|
|
6954
|
+
children: [
|
|
6955
|
+
{
|
|
6956
|
+
part: "step",
|
|
6957
|
+
component: "Box",
|
|
6958
|
+
$each: "props.steps",
|
|
6959
|
+
$as: "step",
|
|
6960
|
+
style: {
|
|
6961
|
+
display: "flex",
|
|
6962
|
+
flexDirection: {
|
|
6963
|
+
$map: {
|
|
6964
|
+
from: "props.orientation",
|
|
6965
|
+
cases: {
|
|
6528
6966
|
vertical: "row"
|
|
6529
6967
|
},
|
|
6530
6968
|
default: "column"
|
|
@@ -8294,6 +8732,383 @@ var macros_default = {
|
|
|
8294
8732
|
}
|
|
8295
8733
|
]
|
|
8296
8734
|
}
|
|
8735
|
+
},
|
|
8736
|
+
Mosaic: {
|
|
8737
|
+
recipeProps: [],
|
|
8738
|
+
root: {
|
|
8739
|
+
part: "root",
|
|
8740
|
+
component: "Box",
|
|
8741
|
+
$a11y: {
|
|
8742
|
+
role: "group",
|
|
8743
|
+
label: "{props.label}"
|
|
8744
|
+
},
|
|
8745
|
+
style: {
|
|
8746
|
+
display: "flex",
|
|
8747
|
+
flexDirection: "row",
|
|
8748
|
+
width: "100%",
|
|
8749
|
+
aspectRatio: 1.6,
|
|
8750
|
+
minWidth: 0
|
|
8751
|
+
},
|
|
8752
|
+
children: [
|
|
8753
|
+
{
|
|
8754
|
+
part: "lead",
|
|
8755
|
+
component: "Box",
|
|
8756
|
+
$if: "props.pictures.0",
|
|
8757
|
+
props: {
|
|
8758
|
+
pressable: true
|
|
8759
|
+
},
|
|
8760
|
+
style: {
|
|
8761
|
+
position: "relative",
|
|
8762
|
+
overflow: "hidden",
|
|
8763
|
+
minWidth: 0,
|
|
8764
|
+
minHeight: 0,
|
|
8765
|
+
cursor: "pointer",
|
|
8766
|
+
flexGrow: {
|
|
8767
|
+
$cond: [
|
|
8768
|
+
{
|
|
8769
|
+
$lt: [
|
|
8770
|
+
2,
|
|
8771
|
+
"{len(props.pictures)}"
|
|
8772
|
+
]
|
|
8773
|
+
},
|
|
8774
|
+
0,
|
|
8775
|
+
1
|
|
8776
|
+
]
|
|
8777
|
+
},
|
|
8778
|
+
flexShrink: {
|
|
8779
|
+
$cond: [
|
|
8780
|
+
{
|
|
8781
|
+
$lt: [
|
|
8782
|
+
2,
|
|
8783
|
+
"{len(props.pictures)}"
|
|
8784
|
+
]
|
|
8785
|
+
},
|
|
8786
|
+
0,
|
|
8787
|
+
1
|
|
8788
|
+
]
|
|
8789
|
+
},
|
|
8790
|
+
flexBasis: {
|
|
8791
|
+
$cond: [
|
|
8792
|
+
{
|
|
8793
|
+
$lt: [
|
|
8794
|
+
2,
|
|
8795
|
+
"{len(props.pictures)}"
|
|
8796
|
+
]
|
|
8797
|
+
},
|
|
8798
|
+
"60%",
|
|
8799
|
+
0
|
|
8800
|
+
]
|
|
8801
|
+
},
|
|
8802
|
+
height: "100%"
|
|
8803
|
+
},
|
|
8804
|
+
$recipe: {
|
|
8805
|
+
size: {
|
|
8806
|
+
$cond: [
|
|
8807
|
+
{
|
|
8808
|
+
$lt: [
|
|
8809
|
+
2,
|
|
8810
|
+
"{len(props.pictures)}"
|
|
8811
|
+
]
|
|
8812
|
+
},
|
|
8813
|
+
"large",
|
|
8814
|
+
{
|
|
8815
|
+
$cond: [
|
|
8816
|
+
{
|
|
8817
|
+
$lt: [
|
|
8818
|
+
1,
|
|
8819
|
+
"{len(props.pictures)}"
|
|
8820
|
+
]
|
|
8821
|
+
},
|
|
8822
|
+
"half",
|
|
8823
|
+
"large"
|
|
8824
|
+
]
|
|
8825
|
+
}
|
|
8826
|
+
]
|
|
8827
|
+
}
|
|
8828
|
+
},
|
|
8829
|
+
$a11y: {
|
|
8830
|
+
role: "button",
|
|
8831
|
+
label: "{props.pictures.0.alt}"
|
|
8832
|
+
},
|
|
8833
|
+
$on: {
|
|
8834
|
+
press: "select"
|
|
8835
|
+
},
|
|
8836
|
+
$context: {
|
|
8837
|
+
index: 0
|
|
8838
|
+
},
|
|
8839
|
+
children: [
|
|
8840
|
+
{
|
|
8841
|
+
part: "image",
|
|
8842
|
+
component: "Image",
|
|
8843
|
+
props: {
|
|
8844
|
+
src: "{props.pictures.0.src}",
|
|
8845
|
+
alt: "{props.pictures.0.alt}",
|
|
8846
|
+
fit: "cover"
|
|
8847
|
+
},
|
|
8848
|
+
$a11y: {
|
|
8849
|
+
hidden: true
|
|
8850
|
+
},
|
|
8851
|
+
style: {
|
|
8852
|
+
position: "absolute",
|
|
8853
|
+
inset: 0,
|
|
8854
|
+
width: "100%",
|
|
8855
|
+
height: "100%"
|
|
8856
|
+
}
|
|
8857
|
+
}
|
|
8858
|
+
]
|
|
8859
|
+
},
|
|
8860
|
+
{
|
|
8861
|
+
part: "pair",
|
|
8862
|
+
component: "Box",
|
|
8863
|
+
$if: [
|
|
8864
|
+
{
|
|
8865
|
+
$eq: [
|
|
8866
|
+
"{len(props.pictures)}",
|
|
8867
|
+
2
|
|
8868
|
+
]
|
|
8869
|
+
}
|
|
8870
|
+
],
|
|
8871
|
+
props: {
|
|
8872
|
+
pressable: true
|
|
8873
|
+
},
|
|
8874
|
+
style: {
|
|
8875
|
+
position: "relative",
|
|
8876
|
+
overflow: "hidden",
|
|
8877
|
+
minWidth: 0,
|
|
8878
|
+
minHeight: 0,
|
|
8879
|
+
cursor: "pointer",
|
|
8880
|
+
flexGrow: 1,
|
|
8881
|
+
flexShrink: 1,
|
|
8882
|
+
flexBasis: 0,
|
|
8883
|
+
height: "100%"
|
|
8884
|
+
},
|
|
8885
|
+
$recipe: {
|
|
8886
|
+
size: "half"
|
|
8887
|
+
},
|
|
8888
|
+
$a11y: {
|
|
8889
|
+
role: "button",
|
|
8890
|
+
label: "{props.pictures.1.alt}"
|
|
8891
|
+
},
|
|
8892
|
+
$on: {
|
|
8893
|
+
press: "select"
|
|
8894
|
+
},
|
|
8895
|
+
$context: {
|
|
8896
|
+
index: 1
|
|
8897
|
+
},
|
|
8898
|
+
children: [
|
|
8899
|
+
{
|
|
8900
|
+
part: "image",
|
|
8901
|
+
component: "Image",
|
|
8902
|
+
props: {
|
|
8903
|
+
src: "{props.pictures.1.src}",
|
|
8904
|
+
alt: "{props.pictures.1.alt}",
|
|
8905
|
+
fit: "cover"
|
|
8906
|
+
},
|
|
8907
|
+
$a11y: {
|
|
8908
|
+
hidden: true
|
|
8909
|
+
},
|
|
8910
|
+
style: {
|
|
8911
|
+
position: "absolute",
|
|
8912
|
+
inset: 0,
|
|
8913
|
+
width: "100%",
|
|
8914
|
+
height: "100%"
|
|
8915
|
+
}
|
|
8916
|
+
}
|
|
8917
|
+
]
|
|
8918
|
+
},
|
|
8919
|
+
{
|
|
8920
|
+
part: "side",
|
|
8921
|
+
component: "Box",
|
|
8922
|
+
$if: {
|
|
8923
|
+
$lt: [
|
|
8924
|
+
2,
|
|
8925
|
+
"{len(props.pictures)}"
|
|
8926
|
+
]
|
|
8927
|
+
},
|
|
8928
|
+
style: {
|
|
8929
|
+
display: "flex",
|
|
8930
|
+
flexDirection: "column",
|
|
8931
|
+
flexGrow: 1,
|
|
8932
|
+
flexShrink: 1,
|
|
8933
|
+
flexBasis: 0,
|
|
8934
|
+
minWidth: 0,
|
|
8935
|
+
height: "100%"
|
|
8936
|
+
},
|
|
8937
|
+
children: [
|
|
8938
|
+
{
|
|
8939
|
+
part: "top",
|
|
8940
|
+
component: "Box",
|
|
8941
|
+
$if: "props.pictures.1",
|
|
8942
|
+
props: {
|
|
8943
|
+
pressable: true
|
|
8944
|
+
},
|
|
8945
|
+
style: {
|
|
8946
|
+
position: "relative",
|
|
8947
|
+
overflow: "hidden",
|
|
8948
|
+
minWidth: 0,
|
|
8949
|
+
minHeight: 0,
|
|
8950
|
+
cursor: "pointer",
|
|
8951
|
+
flexGrow: 1,
|
|
8952
|
+
flexShrink: 1,
|
|
8953
|
+
flexBasis: 0,
|
|
8954
|
+
width: "100%"
|
|
8955
|
+
},
|
|
8956
|
+
$recipe: {
|
|
8957
|
+
size: "small"
|
|
8958
|
+
},
|
|
8959
|
+
$a11y: {
|
|
8960
|
+
role: "button",
|
|
8961
|
+
label: "{props.pictures.1.alt}"
|
|
8962
|
+
},
|
|
8963
|
+
$on: {
|
|
8964
|
+
press: "select"
|
|
8965
|
+
},
|
|
8966
|
+
$context: {
|
|
8967
|
+
index: 1
|
|
8968
|
+
},
|
|
8969
|
+
children: [
|
|
8970
|
+
{
|
|
8971
|
+
part: "image",
|
|
8972
|
+
component: "Image",
|
|
8973
|
+
props: {
|
|
8974
|
+
src: "{props.pictures.1.src}",
|
|
8975
|
+
alt: "{props.pictures.1.alt}",
|
|
8976
|
+
fit: "cover"
|
|
8977
|
+
},
|
|
8978
|
+
$a11y: {
|
|
8979
|
+
hidden: true
|
|
8980
|
+
},
|
|
8981
|
+
style: {
|
|
8982
|
+
position: "absolute",
|
|
8983
|
+
inset: 0,
|
|
8984
|
+
width: "100%",
|
|
8985
|
+
height: "100%"
|
|
8986
|
+
}
|
|
8987
|
+
}
|
|
8988
|
+
]
|
|
8989
|
+
},
|
|
8990
|
+
{
|
|
8991
|
+
part: "bottom",
|
|
8992
|
+
component: "Box",
|
|
8993
|
+
$if: "props.pictures.2",
|
|
8994
|
+
props: {
|
|
8995
|
+
pressable: true
|
|
8996
|
+
},
|
|
8997
|
+
style: {
|
|
8998
|
+
position: "relative",
|
|
8999
|
+
overflow: "hidden",
|
|
9000
|
+
minWidth: 0,
|
|
9001
|
+
minHeight: 0,
|
|
9002
|
+
cursor: "pointer",
|
|
9003
|
+
flexGrow: 1,
|
|
9004
|
+
flexShrink: 1,
|
|
9005
|
+
flexBasis: 0,
|
|
9006
|
+
width: "100%"
|
|
9007
|
+
},
|
|
9008
|
+
$recipe: {
|
|
9009
|
+
size: "small"
|
|
9010
|
+
},
|
|
9011
|
+
$a11y: {
|
|
9012
|
+
role: "button",
|
|
9013
|
+
label: {
|
|
9014
|
+
$cond: [
|
|
9015
|
+
{
|
|
9016
|
+
$lt: [
|
|
9017
|
+
3,
|
|
9018
|
+
"{len(props.pictures)}"
|
|
9019
|
+
]
|
|
9020
|
+
},
|
|
9021
|
+
{
|
|
9022
|
+
$fill: [
|
|
9023
|
+
"$string.morePicturesLabel",
|
|
9024
|
+
{
|
|
9025
|
+
alt: "{props.pictures.2.alt}",
|
|
9026
|
+
count: {
|
|
9027
|
+
$sub: [
|
|
9028
|
+
"{len(props.pictures)}",
|
|
9029
|
+
3
|
|
9030
|
+
]
|
|
9031
|
+
}
|
|
9032
|
+
}
|
|
9033
|
+
]
|
|
9034
|
+
},
|
|
9035
|
+
"{props.pictures.2.alt}"
|
|
9036
|
+
]
|
|
9037
|
+
}
|
|
9038
|
+
},
|
|
9039
|
+
$on: {
|
|
9040
|
+
press: "select"
|
|
9041
|
+
},
|
|
9042
|
+
$context: {
|
|
9043
|
+
index: 2
|
|
9044
|
+
},
|
|
9045
|
+
children: [
|
|
9046
|
+
{
|
|
9047
|
+
part: "image",
|
|
9048
|
+
component: "Image",
|
|
9049
|
+
props: {
|
|
9050
|
+
src: "{props.pictures.2.src}",
|
|
9051
|
+
alt: "{props.pictures.2.alt}",
|
|
9052
|
+
fit: "cover"
|
|
9053
|
+
},
|
|
9054
|
+
$a11y: {
|
|
9055
|
+
hidden: true
|
|
9056
|
+
},
|
|
9057
|
+
style: {
|
|
9058
|
+
position: "absolute",
|
|
9059
|
+
inset: 0,
|
|
9060
|
+
width: "100%",
|
|
9061
|
+
height: "100%"
|
|
9062
|
+
}
|
|
9063
|
+
},
|
|
9064
|
+
{
|
|
9065
|
+
part: "more",
|
|
9066
|
+
component: "Box",
|
|
9067
|
+
$if: {
|
|
9068
|
+
$lt: [
|
|
9069
|
+
3,
|
|
9070
|
+
"{len(props.pictures)}"
|
|
9071
|
+
]
|
|
9072
|
+
},
|
|
9073
|
+
$a11y: {
|
|
9074
|
+
hidden: true
|
|
9075
|
+
},
|
|
9076
|
+
style: {
|
|
9077
|
+
position: "absolute",
|
|
9078
|
+
inset: 0,
|
|
9079
|
+
display: "flex",
|
|
9080
|
+
alignItems: "center",
|
|
9081
|
+
justifyContent: "center"
|
|
9082
|
+
},
|
|
9083
|
+
children: [
|
|
9084
|
+
{
|
|
9085
|
+
part: "moreLabel",
|
|
9086
|
+
component: "Text",
|
|
9087
|
+
props: {
|
|
9088
|
+
text: {
|
|
9089
|
+
$fill: [
|
|
9090
|
+
"$string.morePictures",
|
|
9091
|
+
{
|
|
9092
|
+
count: {
|
|
9093
|
+
$sub: [
|
|
9094
|
+
"{len(props.pictures)}",
|
|
9095
|
+
3
|
|
9096
|
+
]
|
|
9097
|
+
}
|
|
9098
|
+
}
|
|
9099
|
+
]
|
|
9100
|
+
},
|
|
9101
|
+
lines: 1
|
|
9102
|
+
}
|
|
9103
|
+
}
|
|
9104
|
+
]
|
|
9105
|
+
}
|
|
9106
|
+
]
|
|
9107
|
+
}
|
|
9108
|
+
]
|
|
9109
|
+
}
|
|
9110
|
+
]
|
|
9111
|
+
}
|
|
8297
9112
|
}
|
|
8298
9113
|
}
|
|
8299
9114
|
};
|
|
@@ -8380,5 +9195,5 @@ function coreLite2() {
|
|
|
8380
9195
|
|
|
8381
9196
|
export { basic_map_default, coreCatalog2, CORE_CATALOG_ID2, CORE_LITE_CATALOG_ID2, A2UI_BASIC_CATALOG_ID2, A2UI_VERSION2, SUPPORTED_CATALOG_IDS2, UNKNOWN_COMPONENT2, coreMacros2, TOKEN_GROUPS2, parseTokenRef2, isKnownToken2, catalogView2, sharedCatalogView2, componentDef2, isOffered2, componentNames2, coreLite2 };
|
|
8382
9197
|
|
|
8383
|
-
//# debugId=
|
|
8384
|
-
//# sourceMappingURL=index-
|
|
9198
|
+
//# debugId=BADB7DDAF7A42C8A64756E2164756E21
|
|
9199
|
+
//# sourceMappingURL=index-f9wkb6aq.js.map
|