@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
|
@@ -10,13 +10,14 @@ import {
|
|
|
10
10
|
parseTokenRef2,
|
|
11
11
|
isKnownToken2,
|
|
12
12
|
sharedCatalogView2
|
|
13
|
-
} from "./index-
|
|
13
|
+
} from "./index-f9wkb6aq.js";
|
|
14
14
|
import {
|
|
15
15
|
validateStyle2,
|
|
16
16
|
tryLoadTheme2,
|
|
17
17
|
BUILTIN_THEMES2,
|
|
18
18
|
BUILTIN_THEME_IDS2,
|
|
19
19
|
builtinTheme2,
|
|
20
|
+
host_default,
|
|
20
21
|
MESSAGE_KINDS2,
|
|
21
22
|
DEFAULT_URL_SCHEMES2,
|
|
22
23
|
DEFAULT_MEDIA_SCHEMES2,
|
|
@@ -27,7 +28,7 @@ import {
|
|
|
27
28
|
SSE_EVENTS2,
|
|
28
29
|
errorMessage2,
|
|
29
30
|
actionMessage2
|
|
30
|
-
} from "./index-
|
|
31
|
+
} from "./index-vkn82srs.js";
|
|
31
32
|
|
|
32
33
|
// packages/exponential-ui/src/catalog.generated.ts
|
|
33
34
|
var CATALOG_ID2 = "https://ui.exponential.at/catalogs/core/v1";
|
|
@@ -36,12 +37,12 @@ var BASIC_CATALOG_ID2 = "https://a2ui.org/specification/v0_9/basic_catalog.json"
|
|
|
36
37
|
var BASIC_VERSION2 = "v0.9";
|
|
37
38
|
var CATALOG_VERSION2 = "1";
|
|
38
39
|
var UNKNOWN_COMPONENT_NAME2 = "Unknown";
|
|
39
|
-
var COMPONENT_NAMES2 = ["Box", "Stack", "Grid", "Card", "Separator", "List", "Resizable", "ScrollArea", "Sidebar", "SplitView", "AppBar", "Page", "Toolbar", "Section", "Group", "Text", "Heading", "Markdown", "CodeBlock", "Kbd", "Label", "Image", "Icon", "Video", "AudioPlayer", "Avatar", "QrCode", "Carousel", "Tabs", "Segmented", "Accordion", "Collapsible", "Trace", "TraceItem", "Plan", "Pagination", "Breadcrumb", "Stepper", "Dialog", "Drawer", "DockCard", "AlertDialog", "Popover", "Tooltip", "Menu", "Toast", "Badge", "Alert", "Chip", "EmptyState", "Progress", "Meter", "Ring", "Spinner", "Skeleton", "VoiceWave", "CallSurface", "Table", "Chart", "Sparkline", "StatTile", "Button", "Link", "Toggle", "Form", "FieldGroup", "FormActions", "Input", "Textarea", "NumberField", "Checkbox", "Radio", "ChoiceTiles", "Switch", "Slider", "Rating", "Select", "SearchList", "ChipInput", "DatePicker", "DateRangePicker", "TimePicker", "FileUpload", "QrScanner", "Composer", "Row", "MessageBubble", "TreeGuides", "Unknown"];
|
|
40
|
-
var NATIVE_COMPONENTS2 = ["Box", "List", "Resizable", "Text", "Markdown", "CodeBlock", "Image", "Icon", "Video", "AudioPlayer", "Avatar", "QrCode", "Carousel", "Tabs", "Segmented", "Accordion", "Dialog", "Drawer", "Popover", "Tooltip", "Menu", "Toast", "Ring", "Spinner", "Skeleton", "VoiceWave", "Table", "Chart", "Button", "Link", "Toggle", "Form", "Input", "Textarea", "NumberField", "Checkbox", "Radio", "ChoiceTiles", "Switch", "Slider", "Select", "SearchList", "ChipInput", "DatePicker", "DateRangePicker", "TimePicker", "FileUpload", "QrScanner", "Composer", "TreeGuides", "Unknown"];
|
|
41
|
-
var MACRO_COMPONENTS2 = ["Stack", "Grid", "Card", "Separator", "ScrollArea", "Sidebar", "SplitView", "AppBar", "Page", "Toolbar", "Section", "Group", "Heading", "Kbd", "Label", "Collapsible", "Trace", "TraceItem", "Plan", "Pagination", "Breadcrumb", "Stepper", "DockCard", "AlertDialog", "Badge", "Alert", "Chip", "EmptyState", "Progress", "Meter", "CallSurface", "Sparkline", "StatTile", "FieldGroup", "FormActions", "Rating", "Row", "MessageBubble"];
|
|
42
|
-
var LITE_COMPONENTS2 = ["Box", "Stack", "Grid", "Card", "Separator", "List", "Resizable", "ScrollArea", "Sidebar", "SplitView", "AppBar", "Page", "Toolbar", "Section", "Group", "Text", "Heading", "Markdown", "CodeBlock", "Kbd", "Label", "Icon", "Avatar", "Tabs", "Segmented", "Collapsible", "Trace", "TraceItem", "Plan", "Breadcrumb", "Stepper", "Badge", "Alert", "Chip", "EmptyState", "Progress", "Meter", "Ring", "Skeleton", "StatTile", "Button", "Link", "Form", "FieldGroup", "FormActions", "Input", "Textarea", "NumberField", "Checkbox", "Switch", "Rating", "Select", "SearchList", "ChipInput", "DatePicker", "DateRangePicker", "TimePicker", "FileUpload", "Composer", "Row", "MessageBubble"];
|
|
43
|
-
var COMPONENT_GROUPS2 = { Box: "layout", Stack: "layout", Grid: "layout", Card: "layout", Separator: "layout", List: "layout", Resizable: "layout", ScrollArea: "layout", Sidebar: "layout", SplitView: "layout", AppBar: "layout", Page: "layout", Toolbar: "layout", Section: "list", Group: "list", Text: "text", Heading: "text", Markdown: "text", CodeBlock: "text", Kbd: "text", Label: "text", Image: "media", Icon: "media", Video: "media", AudioPlayer: "media", Avatar: "media", QrCode: "media", Carousel: "media", Tabs: "navigation", Segmented: "navigation", Accordion: "navigation", Collapsible: "navigation", Trace: "list", TraceItem: "list", Plan: "list", Pagination: "navigation", Breadcrumb: "navigation", Stepper: "navigation", Dialog: "overlay", Drawer: "overlay", DockCard: "overlay", AlertDialog: "overlay", Popover: "overlay", Tooltip: "overlay", Menu: "overlay", Toast: "overlay", Badge: "feedback", Alert: "feedback", Chip: "feedback", EmptyState: "feedback", Progress: "feedback", Meter: "feedback", Ring: "feedback", Spinner: "feedback", Skeleton: "feedback", VoiceWave: "feedback", CallSurface: "media", Table: "data", Chart: "data", Sparkline: "data", StatTile: "data", Button: "action", Link: "action", Toggle: "action", Form: "input", FieldGroup: "input", FormActions: "input", Input: "input", Textarea: "input", NumberField: "input", Checkbox: "input", Radio: "input", ChoiceTiles: "input", Switch: "input", Slider: "input", Rating: "input", Select: "input", SearchList: "input", ChipInput: "input", DatePicker: "input", DateRangePicker: "input", TimePicker: "input", FileUpload: "input", QrScanner: "input", Composer: "input", Row: "list", MessageBubble: "list", TreeGuides: "list", Unknown: "feedback" };
|
|
44
|
-
var SPECIMEN_IDS2 = { Box: "exponential-ui-box", Stack: "exponential-ui-stack", Grid: "exponential-ui-grid", Card: "exponential-ui-card", Separator: "exponential-ui-separator", List: "exponential-ui-list", Resizable: "exponential-ui-resizable", ScrollArea: "exponential-ui-scroll-area", Sidebar: "exponential-ui-sidebar", SplitView: "exponential-ui-split-view", AppBar: "exponential-ui-app-bar", Page: "exponential-ui-page", Toolbar: "exponential-ui-toolbar", Section: "exponential-ui-section", Group: "exponential-ui-group", Text: "exponential-ui-text", Heading: "exponential-ui-heading", Markdown: "exponential-ui-markdown", CodeBlock: "exponential-ui-code-block", Kbd: "exponential-ui-kbd", Label: "exponential-ui-label", Image: "exponential-ui-image", Icon: "exponential-ui-icon", Video: "exponential-ui-video", AudioPlayer: "exponential-ui-audio-player", Avatar: "exponential-ui-avatar", QrCode: "exponential-ui-qr-code", Carousel: "exponential-ui-carousel", Tabs: "exponential-ui-tabs", Segmented: "exponential-ui-segmented", Accordion: "exponential-ui-accordion", Collapsible: "exponential-ui-collapsible", Trace: "exponential-ui-trace", TraceItem: "exponential-ui-trace-item", Plan: "exponential-ui-plan", Pagination: "exponential-ui-pagination", Breadcrumb: "exponential-ui-breadcrumb", Stepper: "exponential-ui-stepper", Dialog: "exponential-ui-dialog", Drawer: "exponential-ui-drawer", DockCard: "exponential-ui-dock-card", AlertDialog: "exponential-ui-alert-dialog", Popover: "exponential-ui-popover", Tooltip: "exponential-ui-tooltip", Menu: "exponential-ui-menu", Toast: "exponential-ui-toast", Badge: "exponential-ui-badge", Alert: "exponential-ui-alert", Chip: "exponential-ui-chip", EmptyState: "exponential-ui-empty-state", Progress: "exponential-ui-progress", Meter: "exponential-ui-meter", Ring: "exponential-ui-ring", Spinner: "exponential-ui-spinner", Skeleton: "exponential-ui-skeleton", VoiceWave: "exponential-ui-voice-wave", CallSurface: "exponential-ui-call-surface", Table: "exponential-ui-table", Chart: "exponential-ui-chart", Sparkline: "exponential-ui-sparkline", StatTile: "exponential-ui-stat-tile", Button: "exponential-ui-button", Link: "exponential-ui-link", Toggle: "exponential-ui-toggle", Form: "exponential-ui-form", FieldGroup: "exponential-ui-field-group", FormActions: "exponential-ui-form-actions", Input: "exponential-ui-input", Textarea: "exponential-ui-textarea", NumberField: "exponential-ui-number-field", Checkbox: "exponential-ui-checkbox", Radio: "exponential-ui-radio", ChoiceTiles: "exponential-ui-choice-tiles", Switch: "exponential-ui-switch", Slider: "exponential-ui-slider", Rating: "exponential-ui-rating", Select: "exponential-ui-select", SearchList: "exponential-ui-search-list", ChipInput: "exponential-ui-chip-input", DatePicker: "exponential-ui-date-picker", DateRangePicker: "exponential-ui-date-range-picker", TimePicker: "exponential-ui-time-picker", FileUpload: "exponential-ui-file-upload", QrScanner: "exponential-ui-qr-scanner", Composer: "exponential-ui-composer", Row: "exponential-ui-row", MessageBubble: "exponential-ui-message-bubble", TreeGuides: "exponential-ui-tree-guides", Unknown: "exponential-ui-unknown" };
|
|
40
|
+
var COMPONENT_NAMES2 = ["Box", "Stack", "Grid", "Card", "Separator", "List", "Resizable", "ScrollArea", "Sidebar", "SplitView", "AppBar", "Page", "Toolbar", "Section", "Group", "Text", "Heading", "Markdown", "CodeBlock", "Kbd", "Label", "Image", "ZoomableImage", "Icon", "Video", "AudioPlayer", "Avatar", "QrCode", "Carousel", "Mosaic", "Tabs", "Segmented", "Accordion", "Collapsible", "Trace", "TraceItem", "Plan", "Pagination", "Breadcrumb", "Outline", "Stepper", "Dialog", "Drawer", "DockCard", "AlertDialog", "Popover", "Tooltip", "Menu", "Toast", "Badge", "Alert", "Chip", "EmptyState", "Progress", "Meter", "Ring", "Spinner", "Skeleton", "VoiceWave", "CallSurface", "Table", "Chart", "Sparkline", "StatTile", "Button", "Link", "Toggle", "Form", "FieldGroup", "FormActions", "Input", "Textarea", "NumberField", "Checkbox", "Radio", "ChoiceTiles", "Switch", "Slider", "Rating", "Select", "SearchList", "ChipInput", "DatePicker", "DateRangePicker", "TimePicker", "FileUpload", "QrScanner", "Composer", "Row", "MessageBubble", "TreeGuides", "Unknown", "Motion"];
|
|
41
|
+
var NATIVE_COMPONENTS2 = ["Box", "List", "Resizable", "Text", "Markdown", "CodeBlock", "Image", "ZoomableImage", "Icon", "Video", "AudioPlayer", "Avatar", "QrCode", "Carousel", "Tabs", "Segmented", "Accordion", "Dialog", "Drawer", "Popover", "Tooltip", "Menu", "Toast", "Ring", "Spinner", "Skeleton", "VoiceWave", "Table", "Chart", "Button", "Link", "Toggle", "Form", "Input", "Textarea", "NumberField", "Checkbox", "Radio", "ChoiceTiles", "Switch", "Slider", "Select", "SearchList", "ChipInput", "DatePicker", "DateRangePicker", "TimePicker", "FileUpload", "QrScanner", "Composer", "TreeGuides", "Unknown", "Motion"];
|
|
42
|
+
var MACRO_COMPONENTS2 = ["Stack", "Grid", "Card", "Separator", "ScrollArea", "Sidebar", "SplitView", "AppBar", "Page", "Toolbar", "Section", "Group", "Heading", "Kbd", "Label", "Mosaic", "Collapsible", "Trace", "TraceItem", "Plan", "Pagination", "Breadcrumb", "Outline", "Stepper", "DockCard", "AlertDialog", "Badge", "Alert", "Chip", "EmptyState", "Progress", "Meter", "CallSurface", "Sparkline", "StatTile", "FieldGroup", "FormActions", "Rating", "Row", "MessageBubble"];
|
|
43
|
+
var LITE_COMPONENTS2 = ["Box", "Stack", "Grid", "Card", "Separator", "List", "Resizable", "ScrollArea", "Sidebar", "SplitView", "AppBar", "Page", "Toolbar", "Section", "Group", "Text", "Heading", "Markdown", "CodeBlock", "Kbd", "Label", "Icon", "Avatar", "Tabs", "Segmented", "Collapsible", "Trace", "TraceItem", "Plan", "Breadcrumb", "Outline", "Stepper", "Badge", "Alert", "Chip", "EmptyState", "Progress", "Meter", "Ring", "Skeleton", "StatTile", "Button", "Link", "Form", "FieldGroup", "FormActions", "Input", "Textarea", "NumberField", "Checkbox", "Switch", "Rating", "Select", "SearchList", "ChipInput", "DatePicker", "DateRangePicker", "TimePicker", "FileUpload", "Composer", "Row", "MessageBubble", "Motion"];
|
|
44
|
+
var COMPONENT_GROUPS2 = { Box: "layout", Stack: "layout", Grid: "layout", Card: "layout", Separator: "layout", List: "layout", Resizable: "layout", ScrollArea: "layout", Sidebar: "layout", SplitView: "layout", AppBar: "layout", Page: "layout", Toolbar: "layout", Section: "list", Group: "list", Text: "text", Heading: "text", Markdown: "text", CodeBlock: "text", Kbd: "text", Label: "text", Image: "media", ZoomableImage: "media", Icon: "media", Video: "media", AudioPlayer: "media", Avatar: "media", QrCode: "media", Carousel: "media", Mosaic: "media", Tabs: "navigation", Segmented: "navigation", Accordion: "navigation", Collapsible: "navigation", Trace: "list", TraceItem: "list", Plan: "list", Pagination: "navigation", Breadcrumb: "navigation", Outline: "navigation", Stepper: "navigation", Dialog: "overlay", Drawer: "overlay", DockCard: "overlay", AlertDialog: "overlay", Popover: "overlay", Tooltip: "overlay", Menu: "overlay", Toast: "overlay", Badge: "feedback", Alert: "feedback", Chip: "feedback", EmptyState: "feedback", Progress: "feedback", Meter: "feedback", Ring: "feedback", Spinner: "feedback", Skeleton: "feedback", VoiceWave: "feedback", CallSurface: "media", Table: "data", Chart: "data", Sparkline: "data", StatTile: "data", Button: "action", Link: "action", Toggle: "action", Form: "input", FieldGroup: "input", FormActions: "input", Input: "input", Textarea: "input", NumberField: "input", Checkbox: "input", Radio: "input", ChoiceTiles: "input", Switch: "input", Slider: "input", Rating: "input", Select: "input", SearchList: "input", ChipInput: "input", DatePicker: "input", DateRangePicker: "input", TimePicker: "input", FileUpload: "input", QrScanner: "input", Composer: "input", Row: "list", MessageBubble: "list", TreeGuides: "list", Unknown: "feedback", Motion: "media" };
|
|
45
|
+
var SPECIMEN_IDS2 = { Box: "exponential-ui-box", Stack: "exponential-ui-stack", Grid: "exponential-ui-grid", Card: "exponential-ui-card", Separator: "exponential-ui-separator", List: "exponential-ui-list", Resizable: "exponential-ui-resizable", ScrollArea: "exponential-ui-scroll-area", Sidebar: "exponential-ui-sidebar", SplitView: "exponential-ui-split-view", AppBar: "exponential-ui-app-bar", Page: "exponential-ui-page", Toolbar: "exponential-ui-toolbar", Section: "exponential-ui-section", Group: "exponential-ui-group", Text: "exponential-ui-text", Heading: "exponential-ui-heading", Markdown: "exponential-ui-markdown", CodeBlock: "exponential-ui-code-block", Kbd: "exponential-ui-kbd", Label: "exponential-ui-label", Image: "exponential-ui-image", ZoomableImage: "exponential-ui-zoomable-image", Icon: "exponential-ui-icon", Video: "exponential-ui-video", AudioPlayer: "exponential-ui-audio-player", Avatar: "exponential-ui-avatar", QrCode: "exponential-ui-qr-code", Carousel: "exponential-ui-carousel", Mosaic: "exponential-ui-mosaic", Tabs: "exponential-ui-tabs", Segmented: "exponential-ui-segmented", Accordion: "exponential-ui-accordion", Collapsible: "exponential-ui-collapsible", Trace: "exponential-ui-trace", TraceItem: "exponential-ui-trace-item", Plan: "exponential-ui-plan", Pagination: "exponential-ui-pagination", Breadcrumb: "exponential-ui-breadcrumb", Outline: "exponential-ui-outline", Stepper: "exponential-ui-stepper", Dialog: "exponential-ui-dialog", Drawer: "exponential-ui-drawer", DockCard: "exponential-ui-dock-card", AlertDialog: "exponential-ui-alert-dialog", Popover: "exponential-ui-popover", Tooltip: "exponential-ui-tooltip", Menu: "exponential-ui-menu", Toast: "exponential-ui-toast", Badge: "exponential-ui-badge", Alert: "exponential-ui-alert", Chip: "exponential-ui-chip", EmptyState: "exponential-ui-empty-state", Progress: "exponential-ui-progress", Meter: "exponential-ui-meter", Ring: "exponential-ui-ring", Spinner: "exponential-ui-spinner", Skeleton: "exponential-ui-skeleton", VoiceWave: "exponential-ui-voice-wave", CallSurface: "exponential-ui-call-surface", Table: "exponential-ui-table", Chart: "exponential-ui-chart", Sparkline: "exponential-ui-sparkline", StatTile: "exponential-ui-stat-tile", Button: "exponential-ui-button", Link: "exponential-ui-link", Toggle: "exponential-ui-toggle", Form: "exponential-ui-form", FieldGroup: "exponential-ui-field-group", FormActions: "exponential-ui-form-actions", Input: "exponential-ui-input", Textarea: "exponential-ui-textarea", NumberField: "exponential-ui-number-field", Checkbox: "exponential-ui-checkbox", Radio: "exponential-ui-radio", ChoiceTiles: "exponential-ui-choice-tiles", Switch: "exponential-ui-switch", Slider: "exponential-ui-slider", Rating: "exponential-ui-rating", Select: "exponential-ui-select", SearchList: "exponential-ui-search-list", ChipInput: "exponential-ui-chip-input", DatePicker: "exponential-ui-date-picker", DateRangePicker: "exponential-ui-date-range-picker", TimePicker: "exponential-ui-time-picker", FileUpload: "exponential-ui-file-upload", QrScanner: "exponential-ui-qr-scanner", Composer: "exponential-ui-composer", Row: "exponential-ui-row", MessageBubble: "exponential-ui-message-bubble", TreeGuides: "exponential-ui-tree-guides", Unknown: "exponential-ui-unknown", Motion: "exponential-ui-motion" };
|
|
45
46
|
var ENUMS2 = {
|
|
46
47
|
variant: ["default", "secondary", "outline", "ghost", "destructive", "link"],
|
|
47
48
|
size: ["sm", "default", "lg", "icon"],
|
|
@@ -92,7 +93,11 @@ var ENUMS2 = {
|
|
|
92
93
|
callState: ["ringing", "connecting", "talking", "ended"],
|
|
93
94
|
voiceWaveVariant: ["ring", "bars"],
|
|
94
95
|
qrLevel: ["L", "M", "Q", "H"],
|
|
95
|
-
planState: ["proposed", "running", "done", "declined"]
|
|
96
|
+
planState: ["proposed", "running", "done", "declined"],
|
|
97
|
+
zoomInitial: ["auto", "fit", "fitWidth", "actual"],
|
|
98
|
+
zoomControls: ["auto", "always", "none"],
|
|
99
|
+
motionDirection: ["forward", "reverse", "alternate"],
|
|
100
|
+
motionFit: ["contain", "cover", "fill"]
|
|
96
101
|
};
|
|
97
102
|
var TOKEN_NAMES2 = {
|
|
98
103
|
color: ["background", "foreground", "card", "cardForeground", "popover", "popoverForeground", "primary", "primaryForeground", "secondary", "secondaryForeground", "muted", "mutedForeground", "accent", "accentForeground", "destructive", "destructiveForeground", "success", "successForeground", "warning", "warningForeground", "info", "infoForeground", "border", "input", "ring", "chart1", "chart2", "chart3", "chart4", "chart5", "chart6", "chart7", "chart8"],
|
|
@@ -115,14 +120,14 @@ var TOKEN_NAMES2 = {
|
|
|
115
120
|
};
|
|
116
121
|
var STYLE_KEY_NAMES2 = ["display", "flexDirection", "flexWrap", "justifyContent", "alignItems", "alignContent", "alignSelf", "justifySelf", "flexGrow", "flexShrink", "flexBasis", "gap", "rowGap", "columnGap", "direction", "overflow", "overflowX", "overflowY", "width", "height", "minWidth", "minHeight", "maxWidth", "maxHeight", "aspectRatio", "position", "top", "right", "bottom", "left", "inset", "insetInlineStart", "insetInlineEnd", "insetBlockStart", "insetBlockEnd", "padding", "paddingTop", "paddingRight", "paddingBottom", "paddingLeft", "paddingHorizontal", "paddingVertical", "paddingInlineStart", "paddingInlineEnd", "margin", "marginTop", "marginRight", "marginBottom", "marginLeft", "marginHorizontal", "marginVertical", "marginInlineStart", "marginInlineEnd", "gridTemplateColumns", "gridTemplateRows", "gridTemplateAreas", "gridArea", "gridColumn", "gridRow", "backgroundColor", "backgroundGradient", "color", "borderWidth", "borderTopWidth", "borderRightWidth", "borderBottomWidth", "borderLeftWidth", "borderColor", "borderStyle", "borderRadius", "borderTopLeftRadius", "borderTopRightRadius", "borderBottomRightRadius", "borderBottomLeftRadius", "opacity", "boxShadow", "fontSize", "fontWeight", "lineHeight", "letterSpacing", "textAlign", "textDecoration", "textTransform", "fontStyle", "fontFamily", "transition", "transitionEasing", "transform", "visibility", "pointerEvents", "userSelect", "cursor", "backdropBlur", "animation", "animationDuration"];
|
|
117
122
|
var STYLE_STATE_NAMES2 = [":hover", ":focus-visible", ":pressed"];
|
|
118
|
-
var ICON_NAMES2 = ["a-large-small", "action-chat", "action-create", "action-default", "action-repository", "action-run", "action-suggestion", "activity", "anchor", "app-editor-chat", "archive", "archive-restore", "arrow-down", "arrow-down-left", "arrow-left", "arrow-left-right", "arrow-right", "arrow-up-right", "at-sign", "atom", "audio-lines", "auth-passkey", "award", "ban", "bell", "bell-off", "bold", "book-open", "bookmark", "bot", "boxes", "braces", "brain", "briefcase", "brush-cleaning", "bug", "building", "building-2", "calculator", "calendar", "calendar-days", "call-end", "call-incoming", "call-mute", "call-speaker", "call-speaker-off", "call-unmute", "camera", "car", "chart-line", "check", "check-check", "chevron-down", "chevron-left", "chevron-right", "chevron-up", "chevrons-up-down", "circle", "circle-arrow-up", "circle-check", "circle-dashed", "circle-dot", "circle-question-mark", "circle-slash", "circle-stop", "circle-user", "circle-x", "clipboard-list", "clock", "cloud", "code", "coding-assistant", "coding-command", "coding-compact", "coding-diff", "coding-ended", "coding-in-review", "coding-needs-input", "coding-plan", "coding-running", "coding-stop", "coding-subagent", "coding-tool", "coffee", "compass", "computer", "copy", "corner-down-right", "cpu", "credit-card", "crown", "database", "download", "droplet", "dumbbell", "ear", "editor-bold", "editor-clear-formatting", "editor-code", "editor-emoji", "editor-heading-1", "editor-heading-2", "editor-heading-3", "editor-image", "editor-issue-ref", "editor-italic", "editor-link", "editor-list", "editor-list-ordered", "editor-list-todo", "editor-mention", "editor-quote", "editor-strikethrough", "editor-text", "editor-text-format", "editor-unlink", "ellipsis", "ellipsis-vertical", "event-assignee-changed", "event-board-moved", "event-estimate-changed", "event-label-added", "event-label-removed", "event-priority-changed", "event-relation-added", "event-relation-removed", "event-status-changed", "event-title-changed", "external-link", "eye", "eye-off", "fast-forward", "file", "file-diff", "file-pen-line", "file-text", "fingerprint", "flag", "flame", "flask-conical", "fold-vertical", "folder", "folder-kanban", "folder-open", "gamepad-2", "gauge", "gem", "gift", "git-branch", "git-merge", "git-pull-request", "github", "globe", "graduation-cap", "guide-changes", "hammer", "hand", "hard-drive", "hash", "heading-1", "heading-2", "heading-3", "headphones", "heart", "heart-off", "history", "hourglass", "house", "image", "images", "inbox", "info", "italic", "key", "landmark", "laptop", "layers", "layers-2", "layout-grid", "leaf", "lightbulb", "link", "link-2", "list", "list-checks", "list-end", "list-ordered", "list-todo", "list-tree", "loader-circle", "lock", "lock-open", "log-in", "log-out", "mail", "mail-open", "map", "map-pin", "maximize-2", "media-fast-forward", "media-rewind", "media-skip-next", "media-skip-previous", "media-volume-down", "media-volume-mute", "media-volume-off", "media-volume-up", "megaphone", "menu", "message-circle", "message-square", "message-square-plus", "message-square-reply", "mic", "mic-off", "microscope", "minimize-2", "minus", "monitor", "monitor-off", "moon", "mountain", "move", "music", "nav-account", "nav-actions", "nav-admin", "nav-apps", "nav-boards", "nav-changelog", "nav-computer", "nav-create-issue", "nav-devices", "nav-drafts", "nav-files", "nav-getting-started", "nav-inbox", "nav-issues", "nav-my-issues", "nav-notifications", "nav-rail-collapse", "nav-rail-expand", "nav-report-bug", "nav-search", "nav-settings", "nav-sign-out", "nav-source-control", "nav-team-switcher", "nav-terminal", "nav-threads", "newspaper", "notification-agent-message", "notification-issue-assigned", "notification-issue-comment", "notification-issue-created", "notification-issue-mention", "notification-issue-status-changed", "notification-mark-read", "notification-mute", "notification-pr-merged", "notification-pr-opened", "notification-reporter-reply", "notification-session-blocked", "os-apple", "os-linux", "os-windows", "package", "paintbrush", "palette", "panel-left-close", "panel-left-open", "paperclip", "pause", "pen-tool", "pencil", "phone", "phone-incoming", "phone-off", "pin", "pin-off", "plane", "play", "plug", "plus", "pr-batch", "pr-closed", "pr-draft", "pr-merged", "pr-open", "pr-stack", "printer", "priority-high", "priority-low", "priority-medium", "priority-none", "priority-urgent", "progress-1-4", "progress-1-5", "progress-2-4", "progress-2-5", "progress-3-4", "progress-3-5", "progress-4-5", "puzzle", "qr-code", "quote", "refresh-cw", "relation-blocked-by", "relation-blocks", "relation-duplicate", "relation-parent", "relation-related", "relation-section", "relation-sub-issue", "remove-formatting", "repeat", "rewind", "rocket", "rotate-ccw", "run-pause", "run-resume", "sc-push", "scale", "scan-line", "search", "search-x", "send", "server", "session-shell", "session-tree", "settings", "settings-about", "settings-account", "settings-agents", "settings-api", "settings-billing", "settings-boards", "settings-general", "settings-import", "settings-issues", "settings-labels", "settings-licenses", "settings-local-repos", "settings-mcp", "settings-members", "settings-notifications", "settings-rate", "settings-repositories", "settings-servers", "settings-sessions", "settings-statuses", "settings-storage", "settings-sync", "settings-tools", "settings-voice", "settings-widget", "share-2", "shield", "shield-check", "shield-question-mark", "shopping-bag", "shopping-cart", "signal-high", "signal-low", "signal-medium", "skip-back", "skip-forward", "sliders-horizontal", "smartphone", "smile", "sparkles", "square", "square-check", "square-kanban", "square-minus", "square-pen", "square-slash", "square-terminal", "star", "star-half", "star-off", "status-backlog", "status-cancelled", "status-done", "status-duplicate", "status-in-progress", "status-in-review", "status-todo", "stethoscope", "store", "strikethrough", "sun", "support-open", "support-resolved", "tag", "target", "terminal", "thread-stories", "tool-script", "trace-background", "trace-chevron", "trace-completed", "trace-edit", "trace-failed", "trace-fetch", "trace-read", "trace-reasoning", "trace-search", "trace-subagent", "trace-task-done", "trace-task-pending", "trace-task-running", "trace-terminal", "trace-todo", "trace-tool", "trash-2", "tree-pine", "triangle-alert", "trigger-event", "trigger-schedule", "trophy", "truck", "type", "ui-add", "ui-agent-source", "ui-archive", "ui-arrow-down", "ui-arrow-right", "ui-assignee", "ui-attach", "ui-avatar-placeholder", "ui-back", "ui-branch", "ui-check", "ui-checklist", "ui-chevron-down", "ui-chevron-left", "ui-chevron-right", "ui-chevron-up", "ui-clean", "ui-clear", "ui-clock", "ui-close", "ui-cloud", "ui-copy", "ui-delete", "ui-delete-account", "ui-device", "ui-device-default", "ui-device-offline", "ui-dock-side", "ui-docs", "ui-download", "ui-due-date", "ui-edit", "ui-empty-search", "ui-error", "ui-estimate", "ui-external-link", "ui-favorite-off", "ui-file", "ui-float", "ui-folder", "ui-folder-open", "ui-fullscreen", "ui-fullscreen-exit", "ui-github", "ui-help", "ui-hide", "ui-history", "ui-hold", "ui-icon-placeholder", "ui-indeterminate", "ui-info", "ui-invite", "ui-issue", "ui-link", "ui-loading", "ui-mail", "ui-mark-read", "ui-mark-unread", "ui-mcp", "ui-member", "ui-menu", "ui-minus", "ui-more", "ui-more-vertical", "ui-offline", "ui-organization", "ui-owner", "ui-permission", "ui-pin", "ui-print", "ui-private", "ui-properties", "ui-qr-code", "ui-queued", "ui-read", "ui-redock", "ui-refresh", "ui-remove-member", "ui-repeat", "ui-repository", "ui-scan", "ui-selected", "ui-selector", "ui-send", "ui-server", "ui-share", "ui-sign-in", "ui-sign-out", "ui-staging", "ui-star-half", "ui-star-off", "ui-stop", "ui-submit", "ui-subscribe", "ui-success", "ui-swap", "ui-team", "ui-unarchive", "ui-unassigned", "ui-undo", "ui-undock", "ui-unlock", "ui-unpin", "ui-unselected", "ui-unsubscribe", "ui-update", "ui-usage", "ui-warning", "ui-watch", "ui-widget", "undo-2", "unlink", "upload", "user", "user-minus", "user-plus", "user-x", "users", "video", "voice-call", "voice-level", "volume-1", "volume-2", "volume-off", "volume-x", "wallet", "wifi-off", "work-faces", "work-results", "workflow", "wrench", "x", "zap"];
|
|
123
|
+
var ICON_NAMES2 = ["a-large-small", "action-chat", "action-create", "action-default", "action-repository", "action-run", "action-suggestion", "activity", "anchor", "app-editor-chat", "archive", "archive-restore", "arrow-down", "arrow-down-left", "arrow-left", "arrow-left-right", "arrow-right", "arrow-up-right", "at-sign", "atom", "audio-lines", "auth-passkey", "award", "ban", "bell", "bell-off", "bold", "book-open", "bookmark", "bot", "boxes", "braces", "brain", "briefcase", "brush-cleaning", "bug", "building", "building-2", "calculator", "calendar", "calendar-days", "call-end", "call-incoming", "call-mute", "call-speaker", "call-speaker-off", "call-unmute", "camera", "car", "chart-line", "check", "check-check", "chevron-down", "chevron-left", "chevron-right", "chevron-up", "chevrons-up-down", "ci-failed", "ci-passed", "ci-queued", "ci-running", "ci-skipped", "circle", "circle-arrow-up", "circle-check", "circle-dashed", "circle-dot", "circle-question-mark", "circle-slash", "circle-stop", "circle-user", "circle-x", "clipboard-list", "clock", "cloud", "code", "coding-assistant", "coding-command", "coding-compact", "coding-diff", "coding-ended", "coding-in-review", "coding-needs-input", "coding-plan", "coding-running", "coding-stop", "coding-subagent", "coding-tool", "coffee", "compass", "computer", "copy", "corner-down-right", "cpu", "credit-card", "crown", "database", "download", "droplet", "dumbbell", "ear", "editor-bold", "editor-clear-formatting", "editor-code", "editor-emoji", "editor-heading-1", "editor-heading-2", "editor-heading-3", "editor-image", "editor-issue-ref", "editor-italic", "editor-link", "editor-list", "editor-list-ordered", "editor-list-todo", "editor-mention", "editor-quote", "editor-strikethrough", "editor-text", "editor-text-format", "editor-unlink", "ellipsis", "ellipsis-vertical", "event-assignee-changed", "event-board-moved", "event-estimate-changed", "event-label-added", "event-label-removed", "event-priority-changed", "event-relation-added", "event-relation-removed", "event-status-changed", "event-title-changed", "external-link", "eye", "eye-off", "fast-forward", "file", "file-diff", "file-pen-line", "file-text", "fingerprint", "flag", "flame", "flask-conical", "fold-vertical", "folder", "folder-kanban", "folder-open", "gamepad-2", "gauge", "gem", "gift", "git-branch", "git-merge", "git-pull-request", "github", "globe", "graduation-cap", "guide-changes", "hammer", "hand", "hard-drive", "hash", "heading-1", "heading-2", "heading-3", "headphones", "heart", "heart-off", "history", "hourglass", "house", "image", "images", "inbox", "info", "italic", "key", "landmark", "laptop", "layers", "layers-2", "layout-grid", "leaf", "lightbulb", "link", "link-2", "list", "list-checks", "list-end", "list-ordered", "list-todo", "list-tree", "loader-circle", "lock", "lock-open", "log-in", "log-out", "mail", "mail-open", "map", "map-pin", "maximize-2", "media-fast-forward", "media-rewind", "media-skip-next", "media-skip-previous", "media-volume-down", "media-volume-mute", "media-volume-off", "media-volume-up", "megaphone", "menu", "message-circle", "message-square", "message-square-plus", "message-square-reply", "mic", "mic-off", "microscope", "minimize-2", "minus", "monitor", "monitor-off", "moon", "mountain", "move", "music", "nav-account", "nav-actions", "nav-admin", "nav-apps", "nav-boards", "nav-changelog", "nav-computer", "nav-create-issue", "nav-devices", "nav-drafts", "nav-files", "nav-getting-started", "nav-inbox", "nav-issues", "nav-my-issues", "nav-notifications", "nav-rail-collapse", "nav-rail-expand", "nav-report-bug", "nav-search", "nav-settings", "nav-sign-out", "nav-source-control", "nav-team-switcher", "nav-terminal", "nav-threads", "newspaper", "notification-agent-message", "notification-agent-signed-out", "notification-issue-assigned", "notification-issue-comment", "notification-issue-created", "notification-issue-mention", "notification-issue-status-changed", "notification-mark-read", "notification-mute", "notification-pr-merged", "notification-pr-opened", "notification-reporter-reply", "notification-session-blocked", "os-apple", "os-linux", "os-windows", "package", "paintbrush", "palette", "panel-left-close", "panel-left-open", "paperclip", "pause", "pen-tool", "pencil", "phone", "phone-incoming", "phone-off", "pin", "pin-off", "plane", "play", "plug", "plus", "pr-batch", "pr-closed", "pr-draft", "pr-merged", "pr-open", "pr-stack", "printer", "priority-high", "priority-low", "priority-medium", "priority-none", "priority-urgent", "progress-1-4", "progress-1-5", "progress-2-4", "progress-2-5", "progress-3-4", "progress-3-5", "progress-4-5", "puzzle", "qr-code", "quote", "refresh-cw", "relation-blocked-by", "relation-blocks", "relation-duplicate", "relation-parent", "relation-related", "relation-section", "relation-sub-issue", "remove-formatting", "repeat", "rewind", "rocket", "rotate-ccw", "run-pause", "run-resume", "sc-push", "scale", "scan-line", "search", "search-x", "send", "server", "session-shell", "session-tree", "settings", "settings-about", "settings-account", "settings-agents", "settings-api", "settings-billing", "settings-boards", "settings-general", "settings-import", "settings-issues", "settings-labels", "settings-licenses", "settings-local-repos", "settings-mcp", "settings-members", "settings-notifications", "settings-rate", "settings-repositories", "settings-servers", "settings-sessions", "settings-statuses", "settings-storage", "settings-sync", "settings-tools", "settings-voice", "settings-widget", "share-2", "shield", "shield-check", "shield-question-mark", "shopping-bag", "shopping-cart", "signal-high", "signal-low", "signal-medium", "skip-back", "skip-forward", "sliders-horizontal", "smartphone", "smile", "sparkles", "square", "square-check", "square-kanban", "square-minus", "square-pen", "square-slash", "square-terminal", "star", "star-half", "star-off", "status-backlog", "status-cancelled", "status-done", "status-duplicate", "status-in-progress", "status-in-review", "status-todo", "stethoscope", "store", "strikethrough", "sun", "support-open", "support-resolved", "tag", "target", "terminal", "thread-stories", "tool-script", "trace-background", "trace-chevron", "trace-completed", "trace-edit", "trace-failed", "trace-fetch", "trace-read", "trace-reasoning", "trace-search", "trace-subagent", "trace-task-done", "trace-task-pending", "trace-task-running", "trace-terminal", "trace-todo", "trace-tool", "trash-2", "tree-pine", "triangle-alert", "trigger-event", "trigger-schedule", "trophy", "truck", "type", "ui-add", "ui-agent-source", "ui-archive", "ui-arrow-down", "ui-arrow-right", "ui-assignee", "ui-attach", "ui-avatar-placeholder", "ui-back", "ui-branch", "ui-check", "ui-checklist", "ui-chevron-down", "ui-chevron-left", "ui-chevron-right", "ui-chevron-up", "ui-clean", "ui-clear", "ui-clock", "ui-close", "ui-cloud", "ui-copy", "ui-delete", "ui-delete-account", "ui-device", "ui-device-default", "ui-device-offline", "ui-dock-side", "ui-docs", "ui-download", "ui-due-date", "ui-edit", "ui-empty-search", "ui-error", "ui-estimate", "ui-external-link", "ui-favorite-off", "ui-file", "ui-float", "ui-folder", "ui-folder-open", "ui-fullscreen", "ui-fullscreen-exit", "ui-github", "ui-help", "ui-hide", "ui-history", "ui-hold", "ui-icon-placeholder", "ui-indeterminate", "ui-info", "ui-invite", "ui-issue", "ui-link", "ui-loading", "ui-mail", "ui-mark-read", "ui-mark-unread", "ui-mcp", "ui-member", "ui-menu", "ui-minus", "ui-more", "ui-more-vertical", "ui-offline", "ui-organization", "ui-owner", "ui-permission", "ui-pin", "ui-print", "ui-private", "ui-properties", "ui-qr-code", "ui-queued", "ui-read", "ui-redock", "ui-refresh", "ui-remove-member", "ui-repeat", "ui-repository", "ui-scan", "ui-selected", "ui-selector", "ui-send", "ui-server", "ui-share", "ui-sign-in", "ui-sign-out", "ui-staging", "ui-star-half", "ui-star-off", "ui-stop", "ui-submit", "ui-subscribe", "ui-success", "ui-swap", "ui-team", "ui-unarchive", "ui-unassigned", "ui-undo", "ui-undock", "ui-unlock", "ui-unpin", "ui-unselected", "ui-unsubscribe", "ui-update", "ui-usage", "ui-warning", "ui-watch", "ui-widget", "undo-2", "unlink", "upload", "user", "user-minus", "user-plus", "user-x", "users", "video", "voice-call", "voice-level", "volume-1", "volume-2", "volume-off", "volume-x", "wallet", "wifi-off", "work-faces", "work-results", "workflow", "wrench", "x", "zap"];
|
|
119
124
|
var FUNCTION_NAMES2 = ["required", "regex", "length", "numeric", "email", "formatString", "formatNumber", "formatCurrency", "formatDate", "pluralize", "openUrl", "and", "or", "not", "percent", "add", "sub", "eq", "lt", "clamp", "cond", "fallback", "concat", "coalesce", "text", "map", "len", "fill", "set", "formatPercent", "formatRelativeTime", "filter", "bind"];
|
|
120
125
|
var BASIC_COMPONENT_MAP2 = { Text: "Text", Image: "Image", Icon: "Icon", Video: "Video", AudioPlayer: "AudioPlayer", Row: "Stack", Column: "Stack", List: "List", Card: "Card", Tabs: "Tabs", Modal: "Dialog", Divider: "Separator", Button: "Button", TextField: "Input", CheckBox: "Checkbox", ChoicePicker: "Radio", Slider: "Slider", DateTimeInput: "DatePicker" };
|
|
121
126
|
var BASIC_ICON_MAP2 = { accountCircle: "ui-assignee", add: "ui-add", arrowBack: "ui-back", arrowForward: "ui-arrow-right", attachFile: "ui-attach", calendarToday: "calendar", call: "phone", camera: "camera", check: "ui-check", close: "ui-close", delete: "ui-delete", download: "ui-download", edit: "ui-edit", event: "ui-due-date", error: "ui-error", fastForward: "media-fast-forward", favorite: "heart", favoriteOff: "ui-favorite-off", folder: "ui-folder", help: "ui-help", home: "house", info: "ui-info", locationOn: "map-pin", lock: "ui-private", lockOpen: "ui-unlock", mail: "ui-mail", menu: "ui-menu", moreVert: "ui-more-vertical", moreHoriz: "ui-more", notificationsOff: "ui-unsubscribe", notifications: "ui-subscribe", pause: "run-pause", payment: "credit-card", person: "ui-avatar-placeholder", phone: "smartphone", photo: "image", play: "action-run", print: "ui-print", refresh: "ui-refresh", rewind: "media-rewind", search: "nav-search", send: "ui-send", settings: "nav-settings", share: "ui-share", shoppingCart: "shopping-cart", skipNext: "media-skip-next", skipPrevious: "media-skip-previous", star: "star", starHalf: "ui-star-half", starOff: "ui-star-off", stop: "ui-stop", upload: "sc-push", visibility: "ui-watch", visibilityOff: "ui-hide", volumeDown: "media-volume-down", volumeMute: "media-volume-mute", volumeOff: "media-volume-off", volumeUp: "media-volume-up", warning: "ui-warning" };
|
|
122
127
|
var BASIC_PLACEHOLDER_ICON2 = "ui-icon-placeholder";
|
|
123
128
|
// packages/exponential-ui/catalog/strings.json
|
|
124
129
|
var strings_default = {
|
|
125
|
-
$comment: "Round 1 (docs/round-1-contract.md §4): the built-in UI STRINGS every renderer shows — the copy no author writes (a Select's search placeholder, the calendar's month buttons, the copy button, the Pagination arrows' labels). Keys are the ids, values the English defaults. A renderer ships this table (generated into TS/Swift/Kotlin/Rust as STRING_IDS + STRING_DEFAULTS) and lets the HOST override any id per surface (`strings: {search: \"Suchen…\"}`); the catalog refers to an entry as `$string.<id>` in a prop default or a macro template (`$string.previous`), which the renderer resolves at bind time like a token. `{name}` placeholders are filled by the renderer (src/strings.ts formatString; a macro template uses `$fill` → the core `fill` function): a sentence is ONE id with placeholders, never concatenated fragments. Round 2 adds the names the renderers still hard-coded (`invalidValue` = a failed check without a message, `message` = the Composer field, `codeBlock` = an untitled CodeBlock, `dialog` = an untitled Dialog/Drawer, `table` = an uncaptioned Table, `carousel`/`slide` = the carousel's role descriptions, `resize` = a Resizable handle). EXP-1259 adds `closeTab` and `newTab` (the Tabs close glyph and + button). Append-only (round 1 dropped the unused fragment `of`). VAPP-162 adds the call buttons (`mute`, `unmute`, `speaker`, `speakerOff`, `endCall`), the Plan answers (`yes`, `no`), the MessageBubble delivery labels (`sending`, `sent`, `read`) and the QrScanner's `scanQrCode` + `cameraUnavailable`.",
|
|
130
|
+
$comment: "Round 1 (docs/round-1-contract.md §4): the built-in UI STRINGS every renderer shows — the copy no author writes (a Select's search placeholder, the calendar's month buttons, the copy button, the Pagination arrows' labels). Keys are the ids, values the English defaults. A renderer ships this table (generated into TS/Swift/Kotlin/Rust as STRING_IDS + STRING_DEFAULTS) and lets the HOST override any id per surface (`strings: {search: \"Suchen…\"}`); the catalog refers to an entry as `$string.<id>` in a prop default or a macro template (`$string.previous`), which the renderer resolves at bind time like a token. `{name}` placeholders are filled by the renderer (src/strings.ts formatString; a macro template uses `$fill` → the core `fill` function): a sentence is ONE id with placeholders, never concatenated fragments. Round 2 adds the names the renderers still hard-coded (`invalidValue` = a failed check without a message, `message` = the Composer field, `codeBlock` = an untitled CodeBlock, `dialog` = an untitled Dialog/Drawer, `table` = an uncaptioned Table, `carousel`/`slide` = the carousel's role descriptions, `resize` = a Resizable handle). EXP-1259 adds `closeTab` and `newTab` (the Tabs close glyph and + button). Append-only (round 1 dropped the unused fragment `of`). VAPP-162 adds the call buttons (`mute`, `unmute`, `speaker`, `speakerOff`, `endCall`), the Plan answers (`yes`, `no`), the MessageBubble delivery labels (`sending`, `sent`, `read`) and the QrScanner's `scanQrCode` + `cameraUnavailable`. EXP-1586 adds the ZoomableImage pill (`zoomIn`, `zoomOut`, `zoomToFit`, `zoomLevel` = the percent button's label, `zoomFit` = its Menu's Fit row).",
|
|
126
131
|
strings: {
|
|
127
132
|
back: "Back",
|
|
128
133
|
breadcrumb: "Breadcrumb",
|
|
@@ -155,6 +160,8 @@ var strings_default = {
|
|
|
155
160
|
menu: "Menu",
|
|
156
161
|
message: "Message",
|
|
157
162
|
more: "More",
|
|
163
|
+
morePictures: "+{count}",
|
|
164
|
+
morePicturesLabel: "{alt}, {count} more",
|
|
158
165
|
mute: "Mute",
|
|
159
166
|
newTab: "New tab",
|
|
160
167
|
next: "Next",
|
|
@@ -162,8 +169,13 @@ var strings_default = {
|
|
|
162
169
|
no: "No",
|
|
163
170
|
noResults: "No results",
|
|
164
171
|
optional: "Optional",
|
|
172
|
+
outline: "Outline",
|
|
173
|
+
outlineRow: "{title}, {count}",
|
|
174
|
+
pageCounter: "{page} / {total}",
|
|
165
175
|
pageOf: "Page {page} of {total}",
|
|
166
176
|
pagination: "Pagination",
|
|
177
|
+
pause: "Pause",
|
|
178
|
+
play: "Play",
|
|
167
179
|
previous: "Previous",
|
|
168
180
|
previousMonth: "Previous month",
|
|
169
181
|
ratingStar: "{value} of {max}",
|
|
@@ -202,7 +214,12 @@ var strings_default = {
|
|
|
202
214
|
unmute: "Unmute",
|
|
203
215
|
unsupportedFile: "Unsupported file",
|
|
204
216
|
unsupportedFileNamed: "{name}: Unsupported file",
|
|
205
|
-
yes: "Yes"
|
|
217
|
+
yes: "Yes",
|
|
218
|
+
zoomFit: "Fit",
|
|
219
|
+
zoomIn: "Zoom in",
|
|
220
|
+
zoomLevel: "Zoom level",
|
|
221
|
+
zoomOut: "Zoom out",
|
|
222
|
+
zoomToFit: "Zoom to fit"
|
|
206
223
|
}
|
|
207
224
|
};
|
|
208
225
|
|
|
@@ -1079,11 +1096,20 @@ var limits_default = {
|
|
|
1079
1096
|
maxMessageBytes: 4194304,
|
|
1080
1097
|
maxTemplateItems: 1e4,
|
|
1081
1098
|
maxPointerBytes: 1024,
|
|
1082
|
-
maxPointerSegments: 64
|
|
1099
|
+
maxPointerSegments: 64,
|
|
1100
|
+
motion: {
|
|
1101
|
+
$comment: "EXP-1584/1602: the eUI Motion (Lottie) limits, enforced by the one engine (apps/desktop/crates/eui-motion, src/validate.rs Limits) on every renderer through its WASM and uniffi builds. A source past maxBytes (UTF-8 JSON), maxShapes (shape items: objects with a string `ty` inside a layer's `shapes` or a group's `it`) or maxSeconds ((op − ip) / fr) is refused with an issue (`limit-bytes`, `limit-shapes`, `limit-duration`; expressions are refused too: `expression`); maxVertices = path vertices in one sampled frame (checked per frame by the player, not by the validator); maxFps = the highest frame rate a player samples at; maxPlayingPerSurface = Motion components one surface animates at once. Cases: fixtures/motion-validate.json.",
|
|
1102
|
+
maxBytes: 2097152,
|
|
1103
|
+
maxShapes: 5000,
|
|
1104
|
+
maxVertices: 1e5,
|
|
1105
|
+
maxSeconds: 120,
|
|
1106
|
+
maxFps: 60,
|
|
1107
|
+
maxPlayingPerSurface: 8
|
|
1108
|
+
}
|
|
1083
1109
|
};
|
|
1084
1110
|
|
|
1085
1111
|
// packages/exponential-ui/src/limits.ts
|
|
1086
|
-
var LIMITS2 = Object.fromEntries(Object.entries(limits_default).filter(([k]) => !k.startsWith(`$`)));
|
|
1112
|
+
var LIMITS2 = Object.fromEntries(Object.entries(limits_default).filter(([k, v]) => !k.startsWith(`$`) && typeof v === `number`));
|
|
1087
1113
|
var MAX_COMPONENTS2 = limits_default.maxComponents;
|
|
1088
1114
|
var MAX_DEPTH2 = limits_default.maxDepth;
|
|
1089
1115
|
var MAX_MESSAGE_BYTES2 = limits_default.maxMessageBytes;
|
|
@@ -3598,6 +3624,123 @@ function toolCall2(name) {
|
|
|
3598
3624
|
return m ? { toolId: m[1], tool: m[2] ?? null } : null;
|
|
3599
3625
|
}
|
|
3600
3626
|
|
|
3627
|
+
// packages/exponential-ui/src/host/exposes.ts
|
|
3628
|
+
var EXPOSES_LIMITS2 = host_default.package.exposes.limits;
|
|
3629
|
+
var EXPOSE_RUN_KINDS2 = host_default.package.exposes.runKinds;
|
|
3630
|
+
var RECORD_OPS = host_default.package.exposes.recordOps;
|
|
3631
|
+
var READ_RECORD_OPS = host_default.package.exposes.readRecordOps;
|
|
3632
|
+
var READ_OP_WORDS = host_default.package.exposes.readOpWords;
|
|
3633
|
+
var DESTRUCTIVE_WORDS = host_default.package.exposes.destructiveWords;
|
|
3634
|
+
var isObject5 = (v) => !!v && typeof v === `object` && !Array.isArray(v);
|
|
3635
|
+
var NAME = new RegExp(EXPOSES_LIMITS2.namePattern);
|
|
3636
|
+
var ACTION = new RegExp(host_default.package.exposes.actionPattern);
|
|
3637
|
+
var TEMPLATE = /\$\{input\.([A-Za-z_][A-Za-z0-9_]*(?:\.[A-Za-z_][A-Za-z0-9_]*)*)\}/g;
|
|
3638
|
+
function exposeTemplatePaths2(value) {
|
|
3639
|
+
const out = [];
|
|
3640
|
+
const walk = (v) => {
|
|
3641
|
+
if (typeof v === `string`)
|
|
3642
|
+
for (const m of v.matchAll(TEMPLATE))
|
|
3643
|
+
out.push(m[1]);
|
|
3644
|
+
else if (Array.isArray(v))
|
|
3645
|
+
v.forEach(walk);
|
|
3646
|
+
else if (isObject5(v))
|
|
3647
|
+
Object.values(v).forEach(walk);
|
|
3648
|
+
};
|
|
3649
|
+
walk(value);
|
|
3650
|
+
return out;
|
|
3651
|
+
}
|
|
3652
|
+
var words = (name) => name.toLowerCase().split(/[^a-z]+/).filter(Boolean);
|
|
3653
|
+
function exposeActionAccess2(action) {
|
|
3654
|
+
const last = words(action.split(`.`).at(-1) ?? ``).at(-1);
|
|
3655
|
+
return last !== undefined && READ_OP_WORDS.includes(last) ? `read` : `write`;
|
|
3656
|
+
}
|
|
3657
|
+
function exposeNameDestructive2(name) {
|
|
3658
|
+
return words(name).some((word) => DESTRUCTIVE_WORDS.includes(word));
|
|
3659
|
+
}
|
|
3660
|
+
function upstreamNames(upstreams) {
|
|
3661
|
+
return Array.isArray(upstreams) ? upstreams.filter((u) => typeof u === `string` && u !== ``) : [];
|
|
3662
|
+
}
|
|
3663
|
+
function validateUpstreams2(upstreams) {
|
|
3664
|
+
if (!Array.isArray(upstreams) || upstreams.some((u) => typeof u !== `string` || u === ``))
|
|
3665
|
+
return [{ path: `/upstreams`, message: `upstreams is a list of MCP server names` }];
|
|
3666
|
+
const issues = [];
|
|
3667
|
+
upstreams.forEach((name, i) => {
|
|
3668
|
+
if (upstreams.indexOf(name) !== i)
|
|
3669
|
+
issues.push({ path: `/upstreams/${i}`, message: `duplicate upstream ${name}` });
|
|
3670
|
+
});
|
|
3671
|
+
return issues;
|
|
3672
|
+
}
|
|
3673
|
+
function exposeIssues2(exposes, records, upstreams) {
|
|
3674
|
+
if (!Array.isArray(exposes))
|
|
3675
|
+
return [{ index: null, code: `run`, path: `/exposes`, message: `exposes is a list of tools` }];
|
|
3676
|
+
const issues = [];
|
|
3677
|
+
if (exposes.length > EXPOSES_LIMITS2.maxTools)
|
|
3678
|
+
issues.push({ index: null, code: `tooMany`, path: `/exposes`, message: `exposes lists at most ${EXPOSES_LIMITS2.maxTools} tools` });
|
|
3679
|
+
const kinds = isObject5(records) ? Object.keys(records) : [];
|
|
3680
|
+
const servers = upstreamNames(upstreams);
|
|
3681
|
+
const seen = new Set;
|
|
3682
|
+
exposes.forEach((expose, index) => {
|
|
3683
|
+
const at = `/exposes/${index}`;
|
|
3684
|
+
const fail = (code, path, message) => void issues.push({ index, code, path: `${at}${path}`, message });
|
|
3685
|
+
if (!isObject5(expose))
|
|
3686
|
+
return fail(`run`, ``, `a tool is {name, title, description, input, access, run}`);
|
|
3687
|
+
const name = expose.name;
|
|
3688
|
+
if (typeof name !== `string` || !NAME.test(name) || name.length > EXPOSES_LIMITS2.nameMax || name.includes(EXPOSES_LIMITS2.separator))
|
|
3689
|
+
fail(`name`, `/name`, `name is lowercase letters, digits and _ (at most ${EXPOSES_LIMITS2.nameMax}, no ${EXPOSES_LIMITS2.separator})`);
|
|
3690
|
+
else if (seen.has(name))
|
|
3691
|
+
fail(`duplicate`, `/name`, `duplicate tool ${name}`);
|
|
3692
|
+
else
|
|
3693
|
+
seen.add(name);
|
|
3694
|
+
if (typeof expose.title !== `string` || !expose.title.trim() || expose.title.length > EXPOSES_LIMITS2.titleMax)
|
|
3695
|
+
fail(`title`, `/title`, `title is a non-blank string of at most ${EXPOSES_LIMITS2.titleMax} characters`);
|
|
3696
|
+
if (typeof expose.description !== `string` || !expose.description.trim() || expose.description.length > EXPOSES_LIMITS2.descriptionMax)
|
|
3697
|
+
fail(`description`, `/description`, `description is a non-blank string of at most ${EXPOSES_LIMITS2.descriptionMax} characters`);
|
|
3698
|
+
const input = expose.input;
|
|
3699
|
+
if (!isObject5(input) || input.type !== `object` || input.properties !== undefined && !isObject5(input.properties))
|
|
3700
|
+
fail(`input`, `/input`, `input is a JSON Schema of type object`);
|
|
3701
|
+
if (expose.access !== `read` && expose.access !== `write`)
|
|
3702
|
+
fail(`access`, `/access`, `access is read or write`);
|
|
3703
|
+
const properties = isObject5(input) && isObject5(input.properties) ? input.properties : {};
|
|
3704
|
+
const run = expose.run;
|
|
3705
|
+
if (!isObject5(run) || EXPOSE_RUN_KINDS2.filter((k) => (k in run)).length !== 1)
|
|
3706
|
+
return fail(`run`, `/run`, `run holds exactly one of records, action, upstream`);
|
|
3707
|
+
for (const path of exposeTemplatePaths2(run))
|
|
3708
|
+
if (!Object.prototype.hasOwnProperty.call(properties, path.split(`.`)[0]))
|
|
3709
|
+
fail(`template`, `/run`, `\${input.${path}} names no input property`);
|
|
3710
|
+
let level;
|
|
3711
|
+
if (`records` in run) {
|
|
3712
|
+
const records = run.records;
|
|
3713
|
+
const op = isObject5(records) ? records.op : undefined;
|
|
3714
|
+
if (typeof op !== `string` || !RECORD_OPS.includes(op))
|
|
3715
|
+
return op === `delete` ? fail(`destructive`, `/run/records/op`, `a records delete is destructive: never exposed`) : fail(`run`, `/run/records/op`, `op is ${RECORD_OPS.join(`, `)}`);
|
|
3716
|
+
if (typeof records.kind !== `string` || !kinds.includes(records.kind))
|
|
3717
|
+
fail(`kind`, `/run/records/kind`, `kind names no declared record kind`);
|
|
3718
|
+
level = READ_RECORD_OPS.includes(op) ? `read` : `write`;
|
|
3719
|
+
} else if (`action` in run) {
|
|
3720
|
+
const action = run.action;
|
|
3721
|
+
if (typeof action !== `string` || !ACTION.test(action))
|
|
3722
|
+
return fail(`action`, `/run/action`, `action is a function name like namespace.function`);
|
|
3723
|
+
if (exposeNameDestructive2(action))
|
|
3724
|
+
return fail(`destructive`, `/run/action`, `a destructive action is never exposed`);
|
|
3725
|
+
level = exposeActionAccess2(action);
|
|
3726
|
+
} else {
|
|
3727
|
+
if (typeof run.upstream !== `string` || !servers.includes(run.upstream))
|
|
3728
|
+
fail(`upstream`, `/run/upstream`, `upstream names none of the package's upstreams`);
|
|
3729
|
+
if (typeof run.tool !== `string` || run.tool === ``)
|
|
3730
|
+
return fail(`run`, `/run/tool`, `tool is a non-empty string`);
|
|
3731
|
+
if (exposeNameDestructive2(run.tool))
|
|
3732
|
+
return fail(`destructive`, `/run/tool`, `a destructive tool is never exposed`);
|
|
3733
|
+
return;
|
|
3734
|
+
}
|
|
3735
|
+
if (expose.access === `read` && level === `write`)
|
|
3736
|
+
fail(`accessTooLow`, `/access`, `the run writes: access is write`);
|
|
3737
|
+
});
|
|
3738
|
+
return issues;
|
|
3739
|
+
}
|
|
3740
|
+
function validatePackageExposes2(exposes, records, upstreams) {
|
|
3741
|
+
return exposeIssues2(exposes, records, upstreams).map(({ path, message }) => ({ path, message }));
|
|
3742
|
+
}
|
|
3743
|
+
|
|
3601
3744
|
// packages/exponential-ui/src/host/package.ts
|
|
3602
3745
|
var PACKAGE_FORMAT_VERSION2 = 2;
|
|
3603
3746
|
function supportedCatalogIds2(extensionIds = []) {
|
|
@@ -3623,11 +3766,11 @@ function versionSatisfies2(have, want) {
|
|
|
3623
3766
|
const [wM, wm, wp] = [Number(w[1]), Number(w[2]), Number(w[3])];
|
|
3624
3767
|
return hM === wM && (hm > wm || hm === wm && hp >= wp);
|
|
3625
3768
|
}
|
|
3626
|
-
var
|
|
3769
|
+
var isObject6 = (v) => !!v && typeof v === `object` && !Array.isArray(v);
|
|
3627
3770
|
var POINTER = /^(\/([^/~]|~[01])*)*$/;
|
|
3628
3771
|
function validatePackage2(pkg, catalogIds = supportedCatalogIds2(), extensions) {
|
|
3629
3772
|
const issues = [];
|
|
3630
|
-
if (!
|
|
3773
|
+
if (!isObject6(pkg))
|
|
3631
3774
|
return [{ path: ``, message: `a package is an object` }];
|
|
3632
3775
|
if (pkg.formatVersion !== undefined) {
|
|
3633
3776
|
if (typeof pkg.formatVersion !== `number` || !Number.isInteger(pkg.formatVersion) || pkg.formatVersion < 1)
|
|
@@ -3640,12 +3783,12 @@ function validatePackage2(pkg, catalogIds = supportedCatalogIds2(), extensions)
|
|
|
3640
3783
|
issues.push({ path: `/${key}`, message: `${key} is a required string` });
|
|
3641
3784
|
if (typeof pkg.catalogId === `string` && pkg.catalogId && !catalogIds.includes(pkg.catalogId))
|
|
3642
3785
|
issues.push({ path: `/catalogId`, message: `unsupported catalog ${pkg.catalogId}` });
|
|
3643
|
-
if (!
|
|
3786
|
+
if (!isObject6(pkg.templates) || !Object.keys(pkg.templates).length)
|
|
3644
3787
|
issues.push({ path: `/templates`, message: `templates is a non-empty object` });
|
|
3645
3788
|
else
|
|
3646
3789
|
for (const [id, template] of Object.entries(pkg.templates)) {
|
|
3647
3790
|
const at = `/templates/${id}`;
|
|
3648
|
-
if (!
|
|
3791
|
+
if (!isObject6(template)) {
|
|
3649
3792
|
issues.push({ path: at, message: `a template is an object` });
|
|
3650
3793
|
continue;
|
|
3651
3794
|
}
|
|
@@ -3655,7 +3798,7 @@ function validatePackage2(pkg, catalogIds = supportedCatalogIds2(), extensions)
|
|
|
3655
3798
|
else {
|
|
3656
3799
|
const ids = new Set;
|
|
3657
3800
|
components.forEach((c, i) => {
|
|
3658
|
-
if (!
|
|
3801
|
+
if (!isObject6(c) || typeof c.id !== `string` || typeof c.component !== `string`)
|
|
3659
3802
|
issues.push({ path: `${at}/components/${i}`, message: `a component needs an id and a component` });
|
|
3660
3803
|
else if (ids.has(c.id))
|
|
3661
3804
|
issues.push({ path: `${at}/components/${i}/id`, message: `duplicate id ${c.id}` });
|
|
@@ -3671,9 +3814,9 @@ function validatePackage2(pkg, catalogIds = supportedCatalogIds2(), extensions)
|
|
|
3671
3814
|
else
|
|
3672
3815
|
template.bindings.forEach((b, i) => {
|
|
3673
3816
|
const bp = `${at}/bindings/${i}`;
|
|
3674
|
-
if (!
|
|
3817
|
+
if (!isObject6(b) || typeof b.path !== `string` || !POINTER.test(b.path))
|
|
3675
3818
|
issues.push({ path: `${bp}/path`, message: `path is a JSON pointer` });
|
|
3676
|
-
if (!
|
|
3819
|
+
if (!isObject6(b) || typeof b.source !== `string` || !parseSource2(b.source))
|
|
3677
3820
|
issues.push({ path: `${bp}/source`, message: `source is a scheme:name URI` });
|
|
3678
3821
|
});
|
|
3679
3822
|
}
|
|
@@ -3681,7 +3824,7 @@ function validatePackage2(pkg, catalogIds = supportedCatalogIds2(), extensions)
|
|
|
3681
3824
|
if (pkg.functions !== undefined && (!Array.isArray(pkg.functions) || pkg.functions.some((f) => typeof f !== `string` || !f)))
|
|
3682
3825
|
issues.push({ path: `/functions`, message: `functions is a list of names or prefix* patterns` });
|
|
3683
3826
|
if (pkg.records !== undefined) {
|
|
3684
|
-
if (!
|
|
3827
|
+
if (!isObject6(pkg.records))
|
|
3685
3828
|
issues.push({ path: `/records`, message: `records is an object of kinds` });
|
|
3686
3829
|
else
|
|
3687
3830
|
for (const kind of Object.keys(pkg.records).sort()) {
|
|
@@ -3689,7 +3832,7 @@ function validatePackage2(pkg, catalogIds = supportedCatalogIds2(), extensions)
|
|
|
3689
3832
|
const at = `/records/${kind}`;
|
|
3690
3833
|
if (!RECORD_KIND_PATTERN2.test(kind))
|
|
3691
3834
|
issues.push({ path: at, message: `a kind is lowercase letters, digits and underscores` });
|
|
3692
|
-
if (!
|
|
3835
|
+
if (!isObject6(def))
|
|
3693
3836
|
issues.push({ path: at, message: `a kind is {schema, title?}` });
|
|
3694
3837
|
else
|
|
3695
3838
|
issues.push(...validateRecordSchema2(def.schema, `${at}/schema`));
|
|
@@ -3697,29 +3840,33 @@ function validatePackage2(pkg, catalogIds = supportedCatalogIds2(), extensions)
|
|
|
3697
3840
|
}
|
|
3698
3841
|
if (pkg.sources !== undefined && (!Array.isArray(pkg.sources) || pkg.sources.some((f) => typeof f !== `string` || !f)))
|
|
3699
3842
|
issues.push({ path: `/sources`, message: `sources is a list of scheme:name sources or prefix* patterns` });
|
|
3700
|
-
else if (Array.isArray(pkg.sources) &&
|
|
3843
|
+
else if (Array.isArray(pkg.sources) && isObject6(pkg.templates))
|
|
3701
3844
|
for (const [id, template] of Object.entries(pkg.templates)) {
|
|
3702
|
-
if (!
|
|
3845
|
+
if (!isObject6(template) || !Array.isArray(template.bindings))
|
|
3703
3846
|
continue;
|
|
3704
3847
|
template.bindings.forEach((b, i) => {
|
|
3705
|
-
if (
|
|
3848
|
+
if (isObject6(b) && typeof b.source === `string` && parseSource2(b.source) && !sourceAllowed2(pkg.sources, b.source))
|
|
3706
3849
|
issues.push({ path: `/templates/${id}/bindings/${i}/source`, message: `source ${b.source} is not in the package's sources` });
|
|
3707
3850
|
});
|
|
3708
3851
|
}
|
|
3709
|
-
if (
|
|
3852
|
+
if (isObject6(pkg.templates))
|
|
3710
3853
|
for (const [id, template] of Object.entries(pkg.templates)) {
|
|
3711
|
-
if (!
|
|
3854
|
+
if (!isObject6(template) || !Array.isArray(template.bindings))
|
|
3712
3855
|
continue;
|
|
3713
3856
|
template.bindings.forEach((b, i) => {
|
|
3714
|
-
const parsed =
|
|
3857
|
+
const parsed = isObject6(b) && typeof b.source === `string` ? parseSource2(b.source) : null;
|
|
3715
3858
|
if (parsed?.scheme !== RECORDS_SCHEME2)
|
|
3716
3859
|
return;
|
|
3717
|
-
if (!
|
|
3860
|
+
if (!isObject6(pkg.records) || !Object.prototype.hasOwnProperty.call(pkg.records, parsed.name))
|
|
3718
3861
|
issues.push({ path: `/templates/${id}/bindings/${i}/source`, message: `records:${parsed.name} names no declared kind` });
|
|
3719
3862
|
});
|
|
3720
3863
|
}
|
|
3721
3864
|
if (pkg.tools !== undefined)
|
|
3722
3865
|
issues.push(...validateTools2(pkg.tools));
|
|
3866
|
+
if (pkg.upstreams !== undefined)
|
|
3867
|
+
issues.push(...validateUpstreams2(pkg.upstreams));
|
|
3868
|
+
if (pkg.exposes !== undefined)
|
|
3869
|
+
issues.push(...validatePackageExposes2(pkg.exposes, pkg.records, pkg.upstreams));
|
|
3723
3870
|
if (pkg.extensions !== undefined)
|
|
3724
3871
|
issues.push(...validateExtensions(pkg.extensions, catalogIds, extensions));
|
|
3725
3872
|
return issues;
|
|
@@ -3731,7 +3878,7 @@ function validateExtensions(list, catalogIds, available) {
|
|
|
3731
3878
|
const seen = new Set;
|
|
3732
3879
|
list.forEach((ext, i) => {
|
|
3733
3880
|
const at = `/extensions/${i}`;
|
|
3734
|
-
if (!
|
|
3881
|
+
if (!isObject6(ext))
|
|
3735
3882
|
return void issues.push({ path: at, message: `an extension is {id, version, components?}` });
|
|
3736
3883
|
const id = typeof ext.id === `string` && ext.id ? ext.id : null;
|
|
3737
3884
|
if (!id)
|
|
@@ -3790,12 +3937,12 @@ function templateMessages2(pkg, templateId, surfaceId, data) {
|
|
|
3790
3937
|
function mergeData2(base, over) {
|
|
3791
3938
|
if (over === undefined)
|
|
3792
3939
|
return base;
|
|
3793
|
-
if (
|
|
3940
|
+
if (isObject6(base) && isObject6(over))
|
|
3794
3941
|
return { ...base, ...over };
|
|
3795
3942
|
return over;
|
|
3796
3943
|
}
|
|
3797
3944
|
// packages/exponential-ui/src/host/router.ts
|
|
3798
|
-
var
|
|
3945
|
+
var isObject7 = (v) => !!v && typeof v === `object` && !Array.isArray(v);
|
|
3799
3946
|
|
|
3800
3947
|
class HostRouter2 {
|
|
3801
3948
|
extensionIds;
|
|
@@ -3832,8 +3979,8 @@ class HostRouter2 {
|
|
|
3832
3979
|
}
|
|
3833
3980
|
route(message) {
|
|
3834
3981
|
if (oversized2(message))
|
|
3835
|
-
return [this.invalid(
|
|
3836
|
-
if (!
|
|
3982
|
+
return [this.invalid(isObject7(message) ? surfaceIdOf(message) : ``, LIMIT_ISSUES2.messageBytes)];
|
|
3983
|
+
if (!isObject7(message))
|
|
3837
3984
|
return [this.invalid(``, `a message is a JSON object`)];
|
|
3838
3985
|
if (message.version !== undefined && message.version !== A2UI_VERSION2)
|
|
3839
3986
|
return [this.invalid(surfaceIdOf(message), `unsupported version ${String(message.version)}`)];
|
|
@@ -3842,7 +3989,7 @@ class HostRouter2 {
|
|
|
3842
3989
|
return [this.invalid(surfaceIdOf(message), `expected exactly one of ${MESSAGE_KINDS2.join(`, `)}`)];
|
|
3843
3990
|
const kind = kinds[0];
|
|
3844
3991
|
const body = message[kind];
|
|
3845
|
-
if (!
|
|
3992
|
+
if (!isObject7(body) || typeof body.surfaceId !== `string` || !body.surfaceId)
|
|
3846
3993
|
return [this.invalid(``, `${kind}.surfaceId is required`)];
|
|
3847
3994
|
const surfaceId = body.surfaceId;
|
|
3848
3995
|
switch (kind) {
|
|
@@ -3939,7 +4086,7 @@ function oversized2(message) {
|
|
|
3939
4086
|
}
|
|
3940
4087
|
function surfaceIdOf(message) {
|
|
3941
4088
|
for (const v of Object.values(message))
|
|
3942
|
-
if (
|
|
4089
|
+
if (isObject7(v) && typeof v.surfaceId === `string`)
|
|
3943
4090
|
return v.surfaceId;
|
|
3944
4091
|
return ``;
|
|
3945
4092
|
}
|
|
@@ -4549,7 +4696,7 @@ class McpTransport2 {
|
|
|
4549
4696
|
return reply.result;
|
|
4550
4697
|
}
|
|
4551
4698
|
}
|
|
4552
|
-
export { CATALOG_ID2, LITE_CATALOG_ID2, BASIC_CATALOG_ID2, BASIC_VERSION2, CATALOG_VERSION2, UNKNOWN_COMPONENT_NAME2, COMPONENT_NAMES2, NATIVE_COMPONENTS2, MACRO_COMPONENTS2, LITE_COMPONENTS2, COMPONENT_GROUPS2, SPECIMEN_IDS2, ENUMS2, TOKEN_NAMES2, STYLE_KEY_NAMES2, STYLE_STATE_NAMES2, ICON_NAMES2, FUNCTION_NAMES2, BASIC_COMPONENT_MAP2, BASIC_ICON_MAP2, BASIC_PLACEHOLDER_ICON2, DEFAULT_STRINGS2, STRING_IDS2, parseStringRef2, isStringRef2, stringTable2, formatString2, resolveString2, locale_default, displayString2, currencyDigits2, parseDateValue2, formatPattern2, ENGLISH_DATE_PATTERNS2, ENGLISH_TIME_PATTERN2, ENGLISH_DATE_TIME_JOIN2, fixedOffset2, intlZoneOffset2, relativeTimeUnit2, englishFormatter2, intlFormatter2, FORMAT_FUNCTION_NAMES2, formatFunctions2, ENGLISH_FORMAT_FUNCTIONS2, isBinding2, isCall2, isDynamic2, truthy2, valuesEqual2, clampNumber2, fillTemplate2, evalExpr2, evalConditionValue2, evalCondition2, evalValue2, percent2, filterItems2, CORE_FUNCTIONS2, CORE_FUNCTION_NAMES2, LIMITS2, MAX_COMPONENTS2, MAX_DEPTH2, MAX_MESSAGE_BYTES2, MAX_TEMPLATE_ITEMS2, MAX_POINTER_BYTES2, MAX_POINTER_SEGMENTS2, LIMIT_ISSUES2, absolutePath2, hasItem2, readPath2, readPointer2, writeTokens2, POINTER_ISSUES2, writePointer2, BIND_FUNCTIONS2, BIND_FUNCTION_NAMES2, resolveDynamic2, isVisible2, withOwnWrites2, submitClosesOverlay2, runAction2, isDataSchema2, resolveProp2, resolveNodeProps2, hasRowSlots2, rowScope2, bindRowSlot2, sectionScope2, bindSectionHeader2, bindTree2, treeGuides2, isRowRoot2, applyTreeGuides2, BREAKPOINTS2, isResponsiveValue2, responsiveAt2, propsAt2, expandMacros2, isCallableName2, validateNode2, validateProps2, basicMap2, mapBasicIcon2, mapBasicComponent2, BASIC_TRANSFORM_NAMES2, RESERVED_KEYS2, validVisible2, childTemplate2, reduceSurface2, slotAllowed2, reduceNested2, preorder2, BUILTIN_FUNCTIONS2, matchesPattern2, decideFunction2, combineDecisions2, packagePolicy2, isPrivateHost2, decideUrl2, mediaRequest2, safeHref2, sortKeys2, imageDimensions2, svgDimensions2, imageFrames2, mediaImageWithinLimits2, parseSource2, sourceWithParams2, JsonlDecoder2, decodeJsonl2, SseDecoder2, messagesFromMcpResult2, mcpActionCall2, RECORD_KIND_PATTERN2, RECORD_RESERVED_KEYS2, RECORD_FIELD_TYPES2, RECORD_ITEM_TYPES2, RECORD_FORMATS2, validateRecordSchema2, validateRecord2, RECORDS_SCHEME2, RECORDS_FUNCTIONS2, RECORDS_QUERY2, RECORDS_RESERVED_PARAMS2, parseRecordsSource2, recordsValue2, MemoryRecordStore2, recordsHost2, PACKAGE_FILE_SIGNATURE_CONTEXT2, PACKAGE_FILE_SIGNATURE_ALG2, AUTHOR_KEY_PREFIX2, AUTHOR_NAME_MAX2, canonicalJson2, packageFileSignedBytes2, base64UrlEncode2, base64UrlDecode2, authorPublicKey2, signPackageFile2, verifyPackageFile2, TOOL_ID_PATTERN2, TOOL_KINDS2, validateTools2, toolConsent2, toolConsentKey2, toolCall2, PACKAGE_FORMAT_VERSION2, supportedCatalogIds2, clientCapabilities2, availableExtensions2, versionSatisfies2, validatePackage2, sourceAllowed2, templateMessages2, mergeData2, HostRouter2, normalizePath2, PackageError2, resolveSurfaceTheme2, SurfaceStore2, ExponentialHost2, MemoryTransport2, JsonlStreamTransport2, SseTransport2, WebSocketTransport2, McpTransport2 };
|
|
4699
|
+
export { CATALOG_ID2, LITE_CATALOG_ID2, BASIC_CATALOG_ID2, BASIC_VERSION2, CATALOG_VERSION2, UNKNOWN_COMPONENT_NAME2, COMPONENT_NAMES2, NATIVE_COMPONENTS2, MACRO_COMPONENTS2, LITE_COMPONENTS2, COMPONENT_GROUPS2, SPECIMEN_IDS2, ENUMS2, TOKEN_NAMES2, STYLE_KEY_NAMES2, STYLE_STATE_NAMES2, ICON_NAMES2, FUNCTION_NAMES2, BASIC_COMPONENT_MAP2, BASIC_ICON_MAP2, BASIC_PLACEHOLDER_ICON2, DEFAULT_STRINGS2, STRING_IDS2, parseStringRef2, isStringRef2, stringTable2, formatString2, resolveString2, locale_default, displayString2, currencyDigits2, parseDateValue2, formatPattern2, ENGLISH_DATE_PATTERNS2, ENGLISH_TIME_PATTERN2, ENGLISH_DATE_TIME_JOIN2, fixedOffset2, intlZoneOffset2, relativeTimeUnit2, englishFormatter2, intlFormatter2, FORMAT_FUNCTION_NAMES2, formatFunctions2, ENGLISH_FORMAT_FUNCTIONS2, isBinding2, isCall2, isDynamic2, truthy2, valuesEqual2, clampNumber2, fillTemplate2, evalExpr2, evalConditionValue2, evalCondition2, evalValue2, percent2, filterItems2, CORE_FUNCTIONS2, CORE_FUNCTION_NAMES2, LIMITS2, MAX_COMPONENTS2, MAX_DEPTH2, MAX_MESSAGE_BYTES2, MAX_TEMPLATE_ITEMS2, MAX_POINTER_BYTES2, MAX_POINTER_SEGMENTS2, LIMIT_ISSUES2, absolutePath2, hasItem2, readPath2, readPointer2, writeTokens2, POINTER_ISSUES2, writePointer2, BIND_FUNCTIONS2, BIND_FUNCTION_NAMES2, resolveDynamic2, isVisible2, withOwnWrites2, submitClosesOverlay2, runAction2, isDataSchema2, resolveProp2, resolveNodeProps2, hasRowSlots2, rowScope2, bindRowSlot2, sectionScope2, bindSectionHeader2, bindTree2, treeGuides2, isRowRoot2, applyTreeGuides2, BREAKPOINTS2, isResponsiveValue2, responsiveAt2, propsAt2, expandMacros2, isCallableName2, validateNode2, validateProps2, basicMap2, mapBasicIcon2, mapBasicComponent2, BASIC_TRANSFORM_NAMES2, RESERVED_KEYS2, validVisible2, childTemplate2, reduceSurface2, slotAllowed2, reduceNested2, preorder2, BUILTIN_FUNCTIONS2, matchesPattern2, decideFunction2, combineDecisions2, packagePolicy2, isPrivateHost2, decideUrl2, mediaRequest2, safeHref2, sortKeys2, imageDimensions2, svgDimensions2, imageFrames2, mediaImageWithinLimits2, parseSource2, sourceWithParams2, JsonlDecoder2, decodeJsonl2, SseDecoder2, messagesFromMcpResult2, mcpActionCall2, RECORD_KIND_PATTERN2, RECORD_RESERVED_KEYS2, RECORD_FIELD_TYPES2, RECORD_ITEM_TYPES2, RECORD_FORMATS2, validateRecordSchema2, validateRecord2, RECORDS_SCHEME2, RECORDS_FUNCTIONS2, RECORDS_QUERY2, RECORDS_RESERVED_PARAMS2, parseRecordsSource2, recordsValue2, MemoryRecordStore2, recordsHost2, PACKAGE_FILE_SIGNATURE_CONTEXT2, PACKAGE_FILE_SIGNATURE_ALG2, AUTHOR_KEY_PREFIX2, AUTHOR_NAME_MAX2, canonicalJson2, packageFileSignedBytes2, base64UrlEncode2, base64UrlDecode2, authorPublicKey2, signPackageFile2, verifyPackageFile2, TOOL_ID_PATTERN2, TOOL_KINDS2, validateTools2, toolConsent2, toolConsentKey2, toolCall2, EXPOSES_LIMITS2, EXPOSE_RUN_KINDS2, exposeTemplatePaths2, exposeActionAccess2, exposeNameDestructive2, validateUpstreams2, exposeIssues2, validatePackageExposes2, PACKAGE_FORMAT_VERSION2, supportedCatalogIds2, clientCapabilities2, availableExtensions2, versionSatisfies2, validatePackage2, sourceAllowed2, templateMessages2, mergeData2, HostRouter2, normalizePath2, PackageError2, resolveSurfaceTheme2, SurfaceStore2, ExponentialHost2, MemoryTransport2, JsonlStreamTransport2, SseTransport2, WebSocketTransport2, McpTransport2 };
|
|
4553
4700
|
|
|
4554
|
-
//# debugId=
|
|
4555
|
-
//# sourceMappingURL=index-
|
|
4701
|
+
//# debugId=D45ACF1E76F349B864756E2164756E21
|
|
4702
|
+
//# sourceMappingURL=index-4xczxey5.js.map
|