@exponential_app/eui 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (442) hide show
  1. package/catalog/a11y.json +10 -0
  2. package/catalog/core.catalog.json +284 -6
  3. package/catalog/core.schema.json +437 -4
  4. package/catalog/layout.json +3 -2
  5. package/catalog/limits.json +10 -1
  6. package/catalog/macros.json +1 -0
  7. package/catalog/recipes.json +3 -1
  8. package/catalog/strings.json +9 -2
  9. package/catalog/style.json +21 -0
  10. package/catalog/theme.schema.json +4435 -3676
  11. package/conformance/manifest.json +2 -2
  12. package/conformance/motion/build-corpus.ts +232 -0
  13. package/conformance/motion/corpus/SOURCES.md +117 -0
  14. package/conformance/motion/corpus/images/footage_0.json +1 -0
  15. package/conformance/motion/corpus/images/img_0.jpg +0 -0
  16. package/conformance/motion/corpus/images/img_1.jpg +0 -0
  17. package/conformance/motion/corpus/images/triangle.png +0 -0
  18. package/conformance/motion/corpus/skottie-3d-parenting-nocamera.json +367 -0
  19. package/conformance/motion/corpus/skottie-auto-orient-2.json +292 -0
  20. package/conformance/motion/corpus/skottie-auto-orient.json +717 -0
  21. package/conformance/motion/corpus/skottie-bezier-extranormal.json +199 -0
  22. package/conformance/motion/corpus/skottie-blendmode-hardmix.json +558 -0
  23. package/conformance/motion/corpus/skottie-chained-mattes.json +259 -0
  24. package/conformance/motion/corpus/skottie-dropshadow-ramp.json +852 -0
  25. package/conformance/motion/corpus/skottie-dropshadow-style.json +278 -0
  26. package/conformance/motion/corpus/skottie-effects-transform.json +385 -0
  27. package/conformance/motion/corpus/skottie-fill-effect.json +358 -0
  28. package/conformance/motion/corpus/skottie-fill-rule.json +457 -0
  29. package/conformance/motion/corpus/skottie-gaussian-blur.json +670 -0
  30. package/conformance/motion/corpus/skottie-gradient-opacity.json +451 -0
  31. package/conformance/motion/corpus/skottie-gradient-radial-highlight.json +581 -0
  32. package/conformance/motion/corpus/skottie-hidden-shapes-layers.json +381 -0
  33. package/conformance/motion/corpus/skottie-huesaturation-effect.json +1117 -0
  34. package/conformance/motion/corpus/skottie-invert-effect.json +665 -0
  35. package/conformance/motion/corpus/skottie-luma-matte.json +239 -0
  36. package/conformance/motion/corpus/skottie-mask-feather.json +892 -0
  37. package/conformance/motion/corpus/skottie-masking-opaque.json +2376 -0
  38. package/conformance/motion/corpus/skottie-masking-translucent.json +2376 -0
  39. package/conformance/motion/corpus/skottie-matte-blendmode.json +196 -0
  40. package/conformance/motion/corpus/skottie-matte-nonsequential.json +722 -0
  41. package/conformance/motion/corpus/skottie-matte-visible.json +666 -0
  42. package/conformance/motion/corpus/skottie-mergepaths-effect.json +722 -0
  43. package/conformance/motion/corpus/skottie-motion-blur-mask.json +120 -0
  44. package/conformance/motion/corpus/skottie-nested-animation.json +253 -0
  45. package/conformance/motion/corpus/skottie-offsetpaths-effect.json +525 -0
  46. package/conformance/motion/corpus/skottie-phonehub-connecting.json +947 -0
  47. package/conformance/motion/corpus/skottie-puckerbloat-effect.json +339 -0
  48. package/conformance/motion/corpus/skottie-repeater.json +234 -0
  49. package/conformance/motion/corpus/skottie-sample-1.json +168 -0
  50. package/conformance/motion/corpus/skottie-sample-search.json +329 -0
  51. package/conformance/motion/corpus/skottie-spatial-supernormal.json +898 -0
  52. package/conformance/motion/corpus/skottie-text-animator-1.json +1286 -0
  53. package/conformance/motion/corpus/skottie-text-fill-over-stroke.json +1014 -0
  54. package/conformance/motion/corpus/skottie-text-tracking.json +950 -0
  55. package/conformance/motion/corpus/skottie-text-valign.json +484 -0
  56. package/conformance/motion/corpus/skottie-time-reverse.json +297 -0
  57. package/conformance/motion/corpus/skottie-transform-skew.json +290 -0
  58. package/conformance/motion/corpus/skottie-trimpath-fill.json +933 -0
  59. package/conformance/motion/corpus/skottie-trimpath-modes.json +266 -0
  60. package/conformance/motion/corpus/skottie-tritone-effect.json +379 -0
  61. package/conformance/motion/corpus/spec-blend-mode.json +531 -0
  62. package/conformance/motion/corpus/spec-ellipse.json +142 -0
  63. package/conformance/motion/corpus/spec-fill.json +193 -0
  64. package/conformance/motion/corpus/spec-gradient-stroke.json +1263 -0
  65. package/conformance/motion/corpus/spec-gradient.json +1255 -0
  66. package/conformance/motion/corpus/spec-mask.json +773 -0
  67. package/conformance/motion/corpus/spec-masks.json +676 -0
  68. package/conformance/motion/corpus/spec-matte.json +390 -0
  69. package/conformance/motion/corpus/spec-metadata.json +1 -0
  70. package/conformance/motion/corpus/spec-path.json +177 -0
  71. package/conformance/motion/corpus/spec-pucker-bloat.json +179 -0
  72. package/conformance/motion/corpus/spec-rectangle.json +145 -0
  73. package/conformance/motion/corpus/spec-rounded-corners.json +187 -0
  74. package/conformance/motion/corpus/spec-slots.json +325 -0
  75. package/conformance/motion/corpus/spec-star.json +159 -0
  76. package/conformance/motion/corpus/spec-stroke.json +156 -0
  77. package/conformance/motion/corpus/spec-test-ellipse-xy-pos.json +141 -0
  78. package/conformance/motion/corpus/spec-test-gradient-fill.json +1 -0
  79. package/conformance/motion/corpus/spec-test-gradient-stroke.json +229 -0
  80. package/conformance/motion/corpus/spec-test-unknown-shape.json +63 -0
  81. package/conformance/motion/corpus/spec-time-remap.json +1090 -0
  82. package/conformance/motion/corpus/spec-time-stretch.json +594 -0
  83. package/conformance/motion/corpus/spec-transform.json +273 -0
  84. package/conformance/motion/corpus/spec-trim-path.json +209 -0
  85. package/conformance/motion/corpus/web-adrock.json +1 -0
  86. package/conformance/motion/corpus/web-bacon.json +1 -0
  87. package/conformance/motion/corpus/web-banner.json +1 -0
  88. package/conformance/motion/corpus/web-bodymovin.json +1 -0
  89. package/conformance/motion/corpus/web-dalek.json +1 -0
  90. package/conformance/motion/corpus/web-footage-data.json +1 -0
  91. package/conformance/motion/corpus/web-lights.json +1 -0
  92. package/conformance/motion/corpus/web-ripple.json +1 -0
  93. package/conformance/motion/corpus/web-starfish.json +1 -0
  94. package/conformance/motion/known-gaps.json +35 -0
  95. package/conformance/motion/parity/group-transforms-parenting@0.png +0 -0
  96. package/conformance/motion/parity/group-transforms-parenting@10.png +0 -0
  97. package/conformance/motion/parity/hidden-unknown-inactive@0.png +0 -0
  98. package/conformance/motion/parity/keyframes-transform@0.png +0 -0
  99. package/conformance/motion/parity/keyframes-transform@10.png +0 -0
  100. package/conformance/motion/parity/keyframes-transform@15.png +0 -0
  101. package/conformance/motion/parity/keyframes-transform@5.png +0 -0
  102. package/conformance/motion/parity/layer-opacity-blend@0.png +0 -0
  103. package/conformance/motion/parity/linear-gradient@0.png +0 -0
  104. package/conformance/motion/parity/masks-modes@0.png +0 -0
  105. package/conformance/motion/parity/matte-alpha@0.png +0 -0
  106. package/conformance/motion/parity/matte-luma@0.png +0 -0
  107. package/conformance/motion/parity/matte-parent-tp@0.png +0 -0
  108. package/conformance/motion/parity/path-evenodd@0.png +0 -0
  109. package/conformance/motion/parity/precomp-clip-offset@0.png +0 -0
  110. package/conformance/motion/parity/precomp-clip-offset@15.png +0 -0
  111. package/conformance/motion/parity/precomp-clip-offset@5.png +0 -0
  112. package/conformance/motion/parity/radial-gradient-highlight@0.png +0 -0
  113. package/conformance/motion/parity/rect-solid-fill@0.png +0 -0
  114. package/conformance/motion/parity/repeater@0.png +0 -0
  115. package/conformance/motion/parity/rounded-rect-ellipse@0.png +0 -0
  116. package/conformance/motion/parity/solid-and-image@0.png +0 -0
  117. package/conformance/motion/parity/split-position-skew@0.png +0 -0
  118. package/conformance/motion/parity/split-position-skew@10.png +0 -0
  119. package/conformance/motion/parity/star-polygon@0.png +0 -0
  120. package/conformance/motion/parity/stroke-caps-joins@0.png +0 -0
  121. package/conformance/motion/parity/stroke-dashes@0.png +0 -0
  122. package/conformance/motion/parity/stroke-dashes@10.png +0 -0
  123. package/conformance/motion/parity/time-remap@0.png +0 -0
  124. package/conformance/motion/parity/time-remap@10.png +0 -0
  125. package/conformance/motion/parity/time-remap@19.png +0 -0
  126. package/conformance/motion/parity/time-stretch@0.png +0 -0
  127. package/conformance/motion/parity/time-stretch@10.png +0 -0
  128. package/conformance/motion/parity/trim-individually@0.png +0 -0
  129. package/conformance/motion/parity/trim-path@0.png +0 -0
  130. package/conformance/motion/parity/trim-path@10.png +0 -0
  131. package/conformance/motion/refs/index.json +688 -0
  132. package/conformance/motion/refs/skottie-3d-parenting-nocamera@0.png +0 -0
  133. package/conformance/motion/refs/skottie-3d-parenting-nocamera@150.png +0 -0
  134. package/conformance/motion/refs/skottie-3d-parenting-nocamera@270.png +0 -0
  135. package/conformance/motion/refs/skottie-auto-orient-2@0.png +0 -0
  136. package/conformance/motion/refs/skottie-auto-orient-2@210.png +0 -0
  137. package/conformance/motion/refs/skottie-auto-orient-2@378.png +0 -0
  138. package/conformance/motion/refs/skottie-auto-orient@0.png +0 -0
  139. package/conformance/motion/refs/skottie-auto-orient@300.png +0 -0
  140. package/conformance/motion/refs/skottie-auto-orient@540.png +0 -0
  141. package/conformance/motion/refs/skottie-bezier-extranormal@0.png +0 -0
  142. package/conformance/motion/refs/skottie-bezier-extranormal@150.png +0 -0
  143. package/conformance/motion/refs/skottie-bezier-extranormal@270.png +0 -0
  144. package/conformance/motion/refs/skottie-blendmode-hardmix@0.png +0 -0
  145. package/conformance/motion/refs/skottie-blendmode-hardmix@150.png +0 -0
  146. package/conformance/motion/refs/skottie-blendmode-hardmix@270.png +0 -0
  147. package/conformance/motion/refs/skottie-chained-mattes@0.png +0 -0
  148. package/conformance/motion/refs/skottie-chained-mattes@300.png +0 -0
  149. package/conformance/motion/refs/skottie-chained-mattes@540.png +0 -0
  150. package/conformance/motion/refs/skottie-dropshadow-ramp@0.png +0 -0
  151. package/conformance/motion/refs/skottie-dropshadow-ramp@135.png +0 -0
  152. package/conformance/motion/refs/skottie-dropshadow-ramp@75.png +0 -0
  153. package/conformance/motion/refs/skottie-dropshadow-style@0.png +0 -0
  154. package/conformance/motion/refs/skottie-dropshadow-style@300.png +0 -0
  155. package/conformance/motion/refs/skottie-dropshadow-style@540.png +0 -0
  156. package/conformance/motion/refs/skottie-effects-transform@0.png +0 -0
  157. package/conformance/motion/refs/skottie-effects-transform@450.png +0 -0
  158. package/conformance/motion/refs/skottie-effects-transform@810.png +0 -0
  159. package/conformance/motion/refs/skottie-fill-effect@0.png +0 -0
  160. package/conformance/motion/refs/skottie-fill-effect@300.png +0 -0
  161. package/conformance/motion/refs/skottie-fill-effect@540.png +0 -0
  162. package/conformance/motion/refs/skottie-fill-rule@0.png +0 -0
  163. package/conformance/motion/refs/skottie-fill-rule@150.png +0 -0
  164. package/conformance/motion/refs/skottie-fill-rule@270.png +0 -0
  165. package/conformance/motion/refs/skottie-gaussian-blur@0.png +0 -0
  166. package/conformance/motion/refs/skottie-gaussian-blur@150.png +0 -0
  167. package/conformance/motion/refs/skottie-gaussian-blur@270.png +0 -0
  168. package/conformance/motion/refs/skottie-gradient-opacity@0.png +0 -0
  169. package/conformance/motion/refs/skottie-gradient-opacity@150.png +0 -0
  170. package/conformance/motion/refs/skottie-gradient-opacity@270.png +0 -0
  171. package/conformance/motion/refs/skottie-gradient-radial-highlight@0.png +0 -0
  172. package/conformance/motion/refs/skottie-gradient-radial-highlight@135.png +0 -0
  173. package/conformance/motion/refs/skottie-gradient-radial-highlight@75.png +0 -0
  174. package/conformance/motion/refs/skottie-hidden-shapes-layers@0.png +0 -0
  175. package/conformance/motion/refs/skottie-hidden-shapes-layers@150.png +0 -0
  176. package/conformance/motion/refs/skottie-hidden-shapes-layers@270.png +0 -0
  177. package/conformance/motion/refs/skottie-huesaturation-effect@0.png +0 -0
  178. package/conformance/motion/refs/skottie-huesaturation-effect@30.png +0 -0
  179. package/conformance/motion/refs/skottie-huesaturation-effect@54.png +0 -0
  180. package/conformance/motion/refs/skottie-invert-effect@0.png +0 -0
  181. package/conformance/motion/refs/skottie-invert-effect@300.png +0 -0
  182. package/conformance/motion/refs/skottie-invert-effect@540.png +0 -0
  183. package/conformance/motion/refs/skottie-luma-matte@0.png +0 -0
  184. package/conformance/motion/refs/skottie-luma-matte@150.png +0 -0
  185. package/conformance/motion/refs/skottie-luma-matte@270.png +0 -0
  186. package/conformance/motion/refs/skottie-mask-feather@0.png +0 -0
  187. package/conformance/motion/refs/skottie-mask-feather@150.png +0 -0
  188. package/conformance/motion/refs/skottie-mask-feather@270.png +0 -0
  189. package/conformance/motion/refs/skottie-masking-opaque@0.png +0 -0
  190. package/conformance/motion/refs/skottie-masking-opaque@135.png +0 -0
  191. package/conformance/motion/refs/skottie-masking-opaque@75.png +0 -0
  192. package/conformance/motion/refs/skottie-masking-translucent@0.png +0 -0
  193. package/conformance/motion/refs/skottie-masking-translucent@135.png +0 -0
  194. package/conformance/motion/refs/skottie-masking-translucent@75.png +0 -0
  195. package/conformance/motion/refs/skottie-matte-blendmode@0.png +0 -0
  196. package/conformance/motion/refs/skottie-matte-blendmode@150.png +0 -0
  197. package/conformance/motion/refs/skottie-matte-blendmode@270.png +0 -0
  198. package/conformance/motion/refs/skottie-matte-nonsequential@0.png +0 -0
  199. package/conformance/motion/refs/skottie-matte-nonsequential@150.png +0 -0
  200. package/conformance/motion/refs/skottie-matte-nonsequential@270.png +0 -0
  201. package/conformance/motion/refs/skottie-matte-visible@0.png +0 -0
  202. package/conformance/motion/refs/skottie-matte-visible@150.png +0 -0
  203. package/conformance/motion/refs/skottie-matte-visible@270.png +0 -0
  204. package/conformance/motion/refs/skottie-mergepaths-effect@0.png +0 -0
  205. package/conformance/motion/refs/skottie-mergepaths-effect@210.png +0 -0
  206. package/conformance/motion/refs/skottie-mergepaths-effect@378.png +0 -0
  207. package/conformance/motion/refs/skottie-motion-blur-mask@0.png +0 -0
  208. package/conformance/motion/refs/skottie-motion-blur-mask@150.png +0 -0
  209. package/conformance/motion/refs/skottie-motion-blur-mask@270.png +0 -0
  210. package/conformance/motion/refs/skottie-nested-animation@0.png +0 -0
  211. package/conformance/motion/refs/skottie-nested-animation@300.png +0 -0
  212. package/conformance/motion/refs/skottie-nested-animation@540.png +0 -0
  213. package/conformance/motion/refs/skottie-offsetpaths-effect@0.png +0 -0
  214. package/conformance/motion/refs/skottie-offsetpaths-effect@150.png +0 -0
  215. package/conformance/motion/refs/skottie-offsetpaths-effect@270.png +0 -0
  216. package/conformance/motion/refs/skottie-phonehub-connecting@0.png +0 -0
  217. package/conformance/motion/refs/skottie-puckerbloat-effect@0.png +0 -0
  218. package/conformance/motion/refs/skottie-puckerbloat-effect@210.png +0 -0
  219. package/conformance/motion/refs/skottie-puckerbloat-effect@378.png +0 -0
  220. package/conformance/motion/refs/skottie-repeater@0.png +0 -0
  221. package/conformance/motion/refs/skottie-repeater@300.png +0 -0
  222. package/conformance/motion/refs/skottie-repeater@540.png +0 -0
  223. package/conformance/motion/refs/skottie-sample-1@0.png +0 -0
  224. package/conformance/motion/refs/skottie-sample-1@100.png +0 -0
  225. package/conformance/motion/refs/skottie-sample-1@180.png +0 -0
  226. package/conformance/motion/refs/skottie-sample-search@0.png +0 -0
  227. package/conformance/motion/refs/skottie-sample-search@27.png +0 -0
  228. package/conformance/motion/refs/skottie-sample-search@48.png +0 -0
  229. package/conformance/motion/refs/skottie-spatial-supernormal@0.png +0 -0
  230. package/conformance/motion/refs/skottie-spatial-supernormal@200.png +0 -0
  231. package/conformance/motion/refs/skottie-spatial-supernormal@360.png +0 -0
  232. package/conformance/motion/refs/skottie-text-animator-1@0.png +0 -0
  233. package/conformance/motion/refs/skottie-text-animator-1@150.png +0 -0
  234. package/conformance/motion/refs/skottie-text-animator-1@270.png +0 -0
  235. package/conformance/motion/refs/skottie-text-fill-over-stroke@0.png +0 -0
  236. package/conformance/motion/refs/skottie-text-fill-over-stroke@210.png +0 -0
  237. package/conformance/motion/refs/skottie-text-fill-over-stroke@378.png +0 -0
  238. package/conformance/motion/refs/skottie-text-tracking@0.png +0 -0
  239. package/conformance/motion/refs/skottie-text-tracking@108.png +0 -0
  240. package/conformance/motion/refs/skottie-text-tracking@60.png +0 -0
  241. package/conformance/motion/refs/skottie-text-valign@0.png +0 -0
  242. package/conformance/motion/refs/skottie-text-valign@150.png +0 -0
  243. package/conformance/motion/refs/skottie-text-valign@270.png +0 -0
  244. package/conformance/motion/refs/skottie-time-reverse@0.png +0 -0
  245. package/conformance/motion/refs/skottie-time-reverse@300.png +0 -0
  246. package/conformance/motion/refs/skottie-time-reverse@540.png +0 -0
  247. package/conformance/motion/refs/skottie-transform-skew@0.png +0 -0
  248. package/conformance/motion/refs/skottie-transform-skew@300.png +0 -0
  249. package/conformance/motion/refs/skottie-transform-skew@540.png +0 -0
  250. package/conformance/motion/refs/skottie-trimpath-fill@0.png +0 -0
  251. package/conformance/motion/refs/skottie-trimpath-fill@300.png +0 -0
  252. package/conformance/motion/refs/skottie-trimpath-fill@540.png +0 -0
  253. package/conformance/motion/refs/skottie-trimpath-modes@0.png +0 -0
  254. package/conformance/motion/refs/skottie-trimpath-modes@300.png +0 -0
  255. package/conformance/motion/refs/skottie-trimpath-modes@540.png +0 -0
  256. package/conformance/motion/refs/skottie-tritone-effect@0.png +0 -0
  257. package/conformance/motion/refs/skottie-tritone-effect@300.png +0 -0
  258. package/conformance/motion/refs/skottie-tritone-effect@540.png +0 -0
  259. package/conformance/motion/refs/spec-blend-mode@0.png +0 -0
  260. package/conformance/motion/refs/spec-blend-mode@162.png +0 -0
  261. package/conformance/motion/refs/spec-blend-mode@90.png +0 -0
  262. package/conformance/motion/refs/spec-ellipse@0.png +0 -0
  263. package/conformance/motion/refs/spec-ellipse@162.png +0 -0
  264. package/conformance/motion/refs/spec-ellipse@90.png +0 -0
  265. package/conformance/motion/refs/spec-fill@0.png +0 -0
  266. package/conformance/motion/refs/spec-fill@162.png +0 -0
  267. package/conformance/motion/refs/spec-fill@90.png +0 -0
  268. package/conformance/motion/refs/spec-gradient-stroke@0.png +0 -0
  269. package/conformance/motion/refs/spec-gradient-stroke@162.png +0 -0
  270. package/conformance/motion/refs/spec-gradient-stroke@90.png +0 -0
  271. package/conformance/motion/refs/spec-gradient@0.png +0 -0
  272. package/conformance/motion/refs/spec-gradient@162.png +0 -0
  273. package/conformance/motion/refs/spec-gradient@90.png +0 -0
  274. package/conformance/motion/refs/spec-mask@0.png +0 -0
  275. package/conformance/motion/refs/spec-mask@300.png +0 -0
  276. package/conformance/motion/refs/spec-mask@540.png +0 -0
  277. package/conformance/motion/refs/spec-masks@0.png +0 -0
  278. package/conformance/motion/refs/spec-masks@135.png +0 -0
  279. package/conformance/motion/refs/spec-masks@75.png +0 -0
  280. package/conformance/motion/refs/spec-matte@0.png +0 -0
  281. package/conformance/motion/refs/spec-matte@162.png +0 -0
  282. package/conformance/motion/refs/spec-matte@90.png +0 -0
  283. package/conformance/motion/refs/spec-metadata@0.png +0 -0
  284. package/conformance/motion/refs/spec-metadata@162.png +0 -0
  285. package/conformance/motion/refs/spec-metadata@90.png +0 -0
  286. package/conformance/motion/refs/spec-path@0.png +0 -0
  287. package/conformance/motion/refs/spec-path@162.png +0 -0
  288. package/conformance/motion/refs/spec-path@90.png +0 -0
  289. package/conformance/motion/refs/spec-pucker-bloat@0.png +0 -0
  290. package/conformance/motion/refs/spec-pucker-bloat@162.png +0 -0
  291. package/conformance/motion/refs/spec-pucker-bloat@90.png +0 -0
  292. package/conformance/motion/refs/spec-rectangle@0.png +0 -0
  293. package/conformance/motion/refs/spec-rectangle@162.png +0 -0
  294. package/conformance/motion/refs/spec-rectangle@90.png +0 -0
  295. package/conformance/motion/refs/spec-rounded-corners@0.png +0 -0
  296. package/conformance/motion/refs/spec-rounded-corners@162.png +0 -0
  297. package/conformance/motion/refs/spec-rounded-corners@90.png +0 -0
  298. package/conformance/motion/refs/spec-slots@0.png +0 -0
  299. package/conformance/motion/refs/spec-slots@450.png +0 -0
  300. package/conformance/motion/refs/spec-slots@810.png +0 -0
  301. package/conformance/motion/refs/spec-star@0.png +0 -0
  302. package/conformance/motion/refs/spec-star@162.png +0 -0
  303. package/conformance/motion/refs/spec-star@90.png +0 -0
  304. package/conformance/motion/refs/spec-stroke@0.png +0 -0
  305. package/conformance/motion/refs/spec-stroke@162.png +0 -0
  306. package/conformance/motion/refs/spec-stroke@90.png +0 -0
  307. package/conformance/motion/refs/spec-test-ellipse-xy-pos@0.png +0 -0
  308. package/conformance/motion/refs/spec-test-ellipse-xy-pos@162.png +0 -0
  309. package/conformance/motion/refs/spec-test-ellipse-xy-pos@90.png +0 -0
  310. package/conformance/motion/refs/spec-test-gradient-fill@0.png +0 -0
  311. package/conformance/motion/refs/spec-test-gradient-fill@30.png +0 -0
  312. package/conformance/motion/refs/spec-test-gradient-fill@54.png +0 -0
  313. package/conformance/motion/refs/spec-test-gradient-stroke@0.png +0 -0
  314. package/conformance/motion/refs/spec-test-gradient-stroke@30.png +0 -0
  315. package/conformance/motion/refs/spec-test-gradient-stroke@54.png +0 -0
  316. package/conformance/motion/refs/spec-test-unknown-shape@0.png +0 -0
  317. package/conformance/motion/refs/spec-test-unknown-shape@162.png +0 -0
  318. package/conformance/motion/refs/spec-test-unknown-shape@90.png +0 -0
  319. package/conformance/motion/refs/spec-time-remap@0.png +0 -0
  320. package/conformance/motion/refs/spec-time-remap@300.png +0 -0
  321. package/conformance/motion/refs/spec-time-remap@540.png +0 -0
  322. package/conformance/motion/refs/spec-time-stretch@0.png +0 -0
  323. package/conformance/motion/refs/spec-time-stretch@300.png +0 -0
  324. package/conformance/motion/refs/spec-time-stretch@540.png +0 -0
  325. package/conformance/motion/refs/spec-transform@0.png +0 -0
  326. package/conformance/motion/refs/spec-transform@162.png +0 -0
  327. package/conformance/motion/refs/spec-transform@90.png +0 -0
  328. package/conformance/motion/refs/spec-trim-path@0.png +0 -0
  329. package/conformance/motion/refs/spec-trim-path@162.png +0 -0
  330. package/conformance/motion/refs/spec-trim-path@90.png +0 -0
  331. package/conformance/motion/refs/web-adrock@0.png +0 -0
  332. package/conformance/motion/refs/web-adrock@10.png +0 -0
  333. package/conformance/motion/refs/web-adrock@18.png +0 -0
  334. package/conformance/motion/refs/web-bacon@0.png +0 -0
  335. package/conformance/motion/refs/web-bacon@126.png +0 -0
  336. package/conformance/motion/refs/web-bacon@70.png +0 -0
  337. package/conformance/motion/refs/web-banner@0.png +0 -0
  338. package/conformance/motion/refs/web-banner@301.png +0 -0
  339. package/conformance/motion/refs/web-banner@542.png +0 -0
  340. package/conformance/motion/refs/web-bodymovin@0.png +0 -0
  341. package/conformance/motion/refs/web-bodymovin@51.png +0 -0
  342. package/conformance/motion/refs/web-bodymovin@92.png +0 -0
  343. package/conformance/motion/refs/web-dalek@0.png +0 -0
  344. package/conformance/motion/refs/web-dalek@145.png +0 -0
  345. package/conformance/motion/refs/web-dalek@261.png +0 -0
  346. package/conformance/motion/refs/web-footage-data@0.png +0 -0
  347. package/conformance/motion/refs/web-footage-data@180.png +0 -0
  348. package/conformance/motion/refs/web-footage-data@324.png +0 -0
  349. package/conformance/motion/refs/web-lights@0.png +0 -0
  350. package/conformance/motion/refs/web-lights@150.png +0 -0
  351. package/conformance/motion/refs/web-lights@270.png +0 -0
  352. package/conformance/motion/refs/web-ripple@0.png +0 -0
  353. package/conformance/motion/refs/web-ripple@180.png +0 -0
  354. package/conformance/motion/refs/web-ripple@324.png +0 -0
  355. package/conformance/motion/refs/web-starfish@0.png +0 -0
  356. package/conformance/motion/refs/web-starfish@150.png +0 -0
  357. package/conformance/motion/refs/web-starfish@270.png +0 -0
  358. package/conformance/motion/render-refs.ts +126 -0
  359. package/conformance/motion/report.json +1367 -0
  360. package/conformance/motion/web-parity-gaps.json +12 -0
  361. package/conformance/motion-parity-entry.ts +3 -0
  362. package/conformance/motion-parity.ts +101 -0
  363. package/dist/chunks/{index-4z7f2bp1.js → index-4xczxey5.js} +35 -15
  364. package/dist/chunks/{index-4z7f2bp1.js.map → index-4xczxey5.js.map} +4 -4
  365. package/dist/chunks/{index-dx45asrf.js → index-5sjj5p84.js} +174 -8
  366. package/dist/chunks/{index-dx45asrf.js.map → index-5sjj5p84.js.map} +2 -2
  367. package/dist/chunks/{index-fy7y2nz8.js → index-cvf7bbs5.js} +23 -2
  368. package/dist/chunks/{index-fy7y2nz8.js.map → index-cvf7bbs5.js.map} +1 -1
  369. package/dist/chunks/index-dgkf6yw5.js +48 -0
  370. package/dist/chunks/index-dgkf6yw5.js.map +10 -0
  371. package/dist/chunks/{index-abcjanhc.js → index-f9wkb6aq.js} +192 -3
  372. package/dist/chunks/{index-abcjanhc.js.map → index-f9wkb6aq.js.map} +2 -2
  373. package/dist/chunks/index-t2mwfbb6.js +1515 -0
  374. package/dist/chunks/index-t2mwfbb6.js.map +15 -0
  375. package/dist/chunks/{index-h3zgfghf.js → index-vkn82srs.js} +179 -8
  376. package/dist/chunks/{index-h3zgfghf.js.map → index-vkn82srs.js.map} +2 -2
  377. package/dist/chunks/wasm-ctcc3cma.js +424 -0
  378. package/dist/chunks/wasm-ctcc3cma.js.map +11 -0
  379. package/dist/conformance.js +3154 -63
  380. package/dist/conformance.js.map +2 -2
  381. package/dist/entries/prompt.js +2 -2
  382. package/dist/entries/schema.js +3 -3
  383. package/dist/host/index.js +3 -3
  384. package/dist/index.js +333 -98
  385. package/dist/index.js.map +4 -4
  386. package/dist/types/src/catalog.generated.d.ts +50 -4
  387. package/dist/types/src/index.d.ts +2 -0
  388. package/dist/types/src/layout.d.ts +2 -0
  389. package/dist/types/src/limits.d.ts +1 -0
  390. package/dist/types/src/motion/index.d.ts +1 -0
  391. package/dist/types/src/motion/server.d.ts +9 -0
  392. package/dist/types/src/motion/wasm.d.ts +11 -0
  393. package/dist/types/src/web/coerce.d.ts +3 -0
  394. package/dist/types/src/web/focus.d.ts +8 -0
  395. package/dist/types/src/web/index.d.ts +5 -2
  396. package/dist/types/src/web/primitives/carousel.d.ts +1 -1
  397. package/dist/types/src/web/primitives/dock.d.ts +5 -2
  398. package/dist/types/src/web/primitives/index.d.ts +2 -0
  399. package/dist/types/src/web/primitives/motion-paint.d.ts +36 -0
  400. package/dist/types/src/web/primitives/motion.d.ts +162 -0
  401. package/dist/types/src/web/primitives/zoomable-image.d.ts +158 -0
  402. package/dist/types/src/web/table.d.ts +8 -0
  403. package/dist/types/src/zoom.d.ts +128 -0
  404. package/dist/types/wasm/motion/bytes.d.ts +1 -0
  405. package/dist/web/index.js +165 -230
  406. package/dist/web/index.js.map +8 -9
  407. package/dist/web/primitives/index.js +584 -7
  408. package/dist/web/primitives/index.js.map +7 -6
  409. package/docs/components.generated.json +392 -4
  410. package/docs/round-6-contract.md +5 -3
  411. package/docs/themes.generated.json +27 -0
  412. package/fixtures/bind-time.json +4 -0
  413. package/fixtures/catalog-components.json +930 -16
  414. package/fixtures/catalog-macros.json +11 -0
  415. package/fixtures/conformance-baseline.json +33020 -32952
  416. package/fixtures/conformance-known.json +64 -70
  417. package/fixtures/kitchen-sink.expanded.json +72 -0
  418. package/fixtures/kitchen-sink.json +33 -0
  419. package/fixtures/layout-geometry-round1.json +42 -42
  420. package/fixtures/motion-frames.json +2618 -0
  421. package/fixtures/motion-playback.json +528 -0
  422. package/fixtures/motion-state.json +722 -0
  423. package/fixtures/motion-validate.json +138 -0
  424. package/fixtures/primitive-specimens.json +1 -0
  425. package/fixtures/prompt-budget.json +16 -16
  426. package/fixtures/specimens.json +717 -21
  427. package/fixtures/theme-recipes.json +1518 -32
  428. package/fixtures/theme-resolved.json +732 -56
  429. package/fixtures/zoom.json +1382 -0
  430. package/generated/ExponentialUICatalog.generated.kt +20 -20
  431. package/generated/ExponentialUICatalog.generated.swift +20 -20
  432. package/generated/ExponentialUIThemes.generated.kt +7 -7
  433. package/generated/ExponentialUIThemes.generated.swift +7 -7
  434. package/generated/catalog.descriptions.generated.rs +1 -1
  435. package/generated/catalog.generated.rs +29 -29
  436. package/generated/catalog.themes.generated.rs +8 -8
  437. package/generated/core.descriptions.json +171 -5
  438. package/generated/core.runtime.json +189 -1
  439. package/package.json +1 -1
  440. package/themes/neutral.theme.json +172 -3
  441. package/dist/chunks/index-t6qz1770.js +0 -95
  442. package/dist/chunks/index-t6qz1770.js.map +0 -11
@@ -2885,6 +2885,117 @@
2885
2885
  }
2886
2886
  }
2887
2887
  },
2888
+ {
2889
+ "name": "ZoomableImage/example",
2890
+ "node": {
2891
+ "id": "zoomable-image",
2892
+ "component": "ZoomableImage",
2893
+ "props": {
2894
+ "src": "https://example.com/screenshot.png",
2895
+ "alt": "Screenshot",
2896
+ "naturalWidth": 1440,
2897
+ "naturalHeight": 900
2898
+ }
2899
+ }
2900
+ },
2901
+ {
2902
+ "name": "ZoomableImage/initial=auto",
2903
+ "node": {
2904
+ "id": "zoomable-image",
2905
+ "component": "ZoomableImage",
2906
+ "props": {
2907
+ "src": "https://example.com/screenshot.png",
2908
+ "alt": "Screenshot",
2909
+ "naturalWidth": 1440,
2910
+ "naturalHeight": 900,
2911
+ "initial": "auto"
2912
+ }
2913
+ }
2914
+ },
2915
+ {
2916
+ "name": "ZoomableImage/initial=fit",
2917
+ "node": {
2918
+ "id": "zoomable-image",
2919
+ "component": "ZoomableImage",
2920
+ "props": {
2921
+ "src": "https://example.com/screenshot.png",
2922
+ "alt": "Screenshot",
2923
+ "naturalWidth": 1440,
2924
+ "naturalHeight": 900,
2925
+ "initial": "fit"
2926
+ }
2927
+ }
2928
+ },
2929
+ {
2930
+ "name": "ZoomableImage/initial=fitWidth",
2931
+ "node": {
2932
+ "id": "zoomable-image",
2933
+ "component": "ZoomableImage",
2934
+ "props": {
2935
+ "src": "https://example.com/screenshot.png",
2936
+ "alt": "Screenshot",
2937
+ "naturalWidth": 1440,
2938
+ "naturalHeight": 900,
2939
+ "initial": "fitWidth"
2940
+ }
2941
+ }
2942
+ },
2943
+ {
2944
+ "name": "ZoomableImage/initial=actual",
2945
+ "node": {
2946
+ "id": "zoomable-image",
2947
+ "component": "ZoomableImage",
2948
+ "props": {
2949
+ "src": "https://example.com/screenshot.png",
2950
+ "alt": "Screenshot",
2951
+ "naturalWidth": 1440,
2952
+ "naturalHeight": 900,
2953
+ "initial": "actual"
2954
+ }
2955
+ }
2956
+ },
2957
+ {
2958
+ "name": "ZoomableImage/controls=auto",
2959
+ "node": {
2960
+ "id": "zoomable-image",
2961
+ "component": "ZoomableImage",
2962
+ "props": {
2963
+ "src": "https://example.com/screenshot.png",
2964
+ "alt": "Screenshot",
2965
+ "naturalWidth": 1440,
2966
+ "naturalHeight": 900,
2967
+ "controls": "auto"
2968
+ }
2969
+ }
2970
+ },
2971
+ {
2972
+ "name": "ZoomableImage/controls=always",
2973
+ "node": {
2974
+ "id": "zoomable-image",
2975
+ "component": "ZoomableImage",
2976
+ "props": {
2977
+ "src": "https://example.com/screenshot.png",
2978
+ "alt": "Screenshot",
2979
+ "naturalWidth": 1440,
2980
+ "naturalHeight": 900,
2981
+ "controls": "always"
2982
+ }
2983
+ }
2984
+ },
2985
+ {
2986
+ "name": "ZoomableImage/controls=none",
2987
+ "node": {
2988
+ "id": "zoomable-image",
2989
+ "component": "ZoomableImage",
2990
+ "props": {
2991
+ "src": "https://example.com/screenshot.png",
2992
+ "alt": "Screenshot",
2993
+ "naturalWidth": 1440,
2994
+ "naturalHeight": 900,
2995
+ "controls": "none"
2996
+ }
2997
+ }
2998
+ },
2888
2999
  {
2889
3000
  "name": "Icon/example",
2890
3001
  "node": {
@@ -3333,8 +3444,8 @@
3333
3444
  "value": "issue"
3334
3445
  },
3335
3446
  {
3336
- "label": "Run",
3337
- "value": "run"
3447
+ "label": "Session",
3448
+ "value": "session"
3338
3449
  }
3339
3450
  ],
3340
3451
  "value": "issue"
@@ -3362,8 +3473,8 @@
3362
3473
  "value": "issue"
3363
3474
  },
3364
3475
  {
3365
- "label": "Run",
3366
- "value": "run"
3476
+ "label": "Session",
3477
+ "value": "session"
3367
3478
  }
3368
3479
  ],
3369
3480
  "value": "issue",
@@ -3392,8 +3503,8 @@
3392
3503
  "value": "issue"
3393
3504
  },
3394
3505
  {
3395
- "label": "Run",
3396
- "value": "run"
3506
+ "label": "Session",
3507
+ "value": "session"
3397
3508
  }
3398
3509
  ],
3399
3510
  "value": "issue",
@@ -3422,8 +3533,8 @@
3422
3533
  "value": "issue"
3423
3534
  },
3424
3535
  {
3425
- "label": "Run",
3426
- "value": "run"
3536
+ "label": "Session",
3537
+ "value": "session"
3427
3538
  }
3428
3539
  ],
3429
3540
  "value": "issue",
@@ -3452,8 +3563,8 @@
3452
3563
  "value": "issue"
3453
3564
  },
3454
3565
  {
3455
- "label": "Run",
3456
- "value": "run"
3566
+ "label": "Session",
3567
+ "value": "session"
3457
3568
  }
3458
3569
  ],
3459
3570
  "value": "issue",
@@ -3482,8 +3593,8 @@
3482
3593
  "value": "issue"
3483
3594
  },
3484
3595
  {
3485
- "label": "Run",
3486
- "value": "run"
3596
+ "label": "Session",
3597
+ "value": "session"
3487
3598
  }
3488
3599
  ],
3489
3600
  "value": "issue",
@@ -3512,8 +3623,8 @@
3512
3623
  "value": "issue"
3513
3624
  },
3514
3625
  {
3515
- "label": "Run",
3516
- "value": "run"
3626
+ "label": "Session",
3627
+ "value": "session"
3517
3628
  }
3518
3629
  ],
3519
3630
  "value": "issue",
@@ -3542,8 +3653,8 @@
3542
3653
  "value": "issue"
3543
3654
  },
3544
3655
  {
3545
- "label": "Run",
3546
- "value": "run"
3656
+ "label": "Session",
3657
+ "value": "session"
3547
3658
  }
3548
3659
  ],
3549
3660
  "value": "issue",
@@ -7375,6 +7486,82 @@
7375
7486
  }
7376
7487
  }
7377
7488
  },
7489
+ {
7490
+ "name": "Table/wide",
7491
+ "node": {
7492
+ "id": "table",
7493
+ "component": "Table",
7494
+ "props": {
7495
+ "columns": [
7496
+ {
7497
+ "key": "issue",
7498
+ "label": "Issue",
7499
+ "width": 96
7500
+ },
7501
+ {
7502
+ "key": "title",
7503
+ "label": "Title"
7504
+ },
7505
+ {
7506
+ "key": "board",
7507
+ "label": "Board"
7508
+ },
7509
+ {
7510
+ "key": "assignee",
7511
+ "label": "Assignee"
7512
+ },
7513
+ {
7514
+ "key": "status",
7515
+ "label": "Status",
7516
+ "type": "badge"
7517
+ },
7518
+ {
7519
+ "key": "summary",
7520
+ "label": "Summary",
7521
+ "truncate": true
7522
+ },
7523
+ {
7524
+ "key": "estimate",
7525
+ "label": "Estimate",
7526
+ "type": "number",
7527
+ "align": "end"
7528
+ }
7529
+ ],
7530
+ "rows": [
7531
+ {
7532
+ "id": "a",
7533
+ "issue": "APP-9",
7534
+ "title": "Fix crash when uploading HEIC photos from the share sheet",
7535
+ "board": "Mobile",
7536
+ "assignee": "Alice Lindqvist",
7537
+ "status": "In progress",
7538
+ "summary": "The share extension hands over a file URL the uploader cannot read once the sheet closes",
7539
+ "estimate": 3
7540
+ },
7541
+ {
7542
+ "id": "b",
7543
+ "issue": "APP-21",
7544
+ "title": "Offline queue for issue edits",
7545
+ "board": "Sync",
7546
+ "assignee": "Bob Okafor",
7547
+ "status": "Todo",
7548
+ "summary": "Edits made without a connection are lost on relaunch",
7549
+ "estimate": 8
7550
+ },
7551
+ {
7552
+ "id": "c",
7553
+ "issue": "APP-18",
7554
+ "title": "Reduce cold start below 800 ms",
7555
+ "board": "Performance",
7556
+ "assignee": "Chen Wei",
7557
+ "status": "Done",
7558
+ "summary": "Defer the sync bootstrap until after the first frame",
7559
+ "estimate": 5
7560
+ }
7561
+ ]
7562
+ }
7563
+ }
7564
+ },
7378
7565
  {
7379
7566
  "name": "Chart/example",
7380
7567
  "node": {
@@ -10384,6 +10571,733 @@
10384
10571
  "status": "read"
10385
10572
  }
10386
10573
  }
10574
+ },
10575
+ {
10576
+ "name": "Motion/example",
10577
+ "node": {
10578
+ "id": "motion",
10579
+ "component": "Motion",
10580
+ "props": {
10581
+ "size": [
10582
+ 48,
10583
+ 48
10584
+ ],
10585
+ "duration": 1000,
10586
+ "layers": [
10587
+ {
10588
+ "type": "shape",
10589
+ "transform": {
10590
+ "position": [
10591
+ 24,
10592
+ 24
10593
+ ],
10594
+ "rotation": {
10595
+ "keys": [
10596
+ {
10597
+ "t": 0,
10598
+ "v": 0
10599
+ },
10600
+ {
10601
+ "t": 1000,
10602
+ "v": 360
10603
+ }
10604
+ ]
10605
+ }
10606
+ },
10607
+ "shapes": [
10608
+ {
10609
+ "type": "ellipse",
10610
+ "size": [
10611
+ 36,
10612
+ 36
10613
+ ]
10614
+ },
10615
+ {
10616
+ "type": "trim",
10617
+ "end": 70
10618
+ },
10619
+ {
10620
+ "type": "stroke",
10621
+ "color": "$color.primary",
10622
+ "width": 4
10623
+ }
10624
+ ]
10625
+ }
10626
+ ]
10627
+ }
10628
+ }
10629
+ },
10630
+ {
10631
+ "name": "Motion/autoplay=true",
10632
+ "node": {
10633
+ "id": "motion",
10634
+ "component": "Motion",
10635
+ "props": {
10636
+ "size": [
10637
+ 48,
10638
+ 48
10639
+ ],
10640
+ "duration": 1000,
10641
+ "layers": [
10642
+ {
10643
+ "type": "shape",
10644
+ "transform": {
10645
+ "position": [
10646
+ 24,
10647
+ 24
10648
+ ],
10649
+ "rotation": {
10650
+ "keys": [
10651
+ {
10652
+ "t": 0,
10653
+ "v": 0
10654
+ },
10655
+ {
10656
+ "t": 1000,
10657
+ "v": 360
10658
+ }
10659
+ ]
10660
+ }
10661
+ },
10662
+ "shapes": [
10663
+ {
10664
+ "type": "ellipse",
10665
+ "size": [
10666
+ 36,
10667
+ 36
10668
+ ]
10669
+ },
10670
+ {
10671
+ "type": "trim",
10672
+ "end": 70
10673
+ },
10674
+ {
10675
+ "type": "stroke",
10676
+ "color": "$color.primary",
10677
+ "width": 4
10678
+ }
10679
+ ]
10680
+ }
10681
+ ],
10682
+ "autoplay": true
10683
+ }
10684
+ }
10685
+ },
10686
+ {
10687
+ "name": "Motion/autoplay=false",
10688
+ "node": {
10689
+ "id": "motion",
10690
+ "component": "Motion",
10691
+ "props": {
10692
+ "size": [
10693
+ 48,
10694
+ 48
10695
+ ],
10696
+ "duration": 1000,
10697
+ "layers": [
10698
+ {
10699
+ "type": "shape",
10700
+ "transform": {
10701
+ "position": [
10702
+ 24,
10703
+ 24
10704
+ ],
10705
+ "rotation": {
10706
+ "keys": [
10707
+ {
10708
+ "t": 0,
10709
+ "v": 0
10710
+ },
10711
+ {
10712
+ "t": 1000,
10713
+ "v": 360
10714
+ }
10715
+ ]
10716
+ }
10717
+ },
10718
+ "shapes": [
10719
+ {
10720
+ "type": "ellipse",
10721
+ "size": [
10722
+ 36,
10723
+ 36
10724
+ ]
10725
+ },
10726
+ {
10727
+ "type": "trim",
10728
+ "end": 70
10729
+ },
10730
+ {
10731
+ "type": "stroke",
10732
+ "color": "$color.primary",
10733
+ "width": 4
10734
+ }
10735
+ ]
10736
+ }
10737
+ ],
10738
+ "autoplay": false
10739
+ }
10740
+ }
10741
+ },
10742
+ {
10743
+ "name": "Motion/loop=true",
10744
+ "node": {
10745
+ "id": "motion",
10746
+ "component": "Motion",
10747
+ "props": {
10748
+ "size": [
10749
+ 48,
10750
+ 48
10751
+ ],
10752
+ "duration": 1000,
10753
+ "layers": [
10754
+ {
10755
+ "type": "shape",
10756
+ "transform": {
10757
+ "position": [
10758
+ 24,
10759
+ 24
10760
+ ],
10761
+ "rotation": {
10762
+ "keys": [
10763
+ {
10764
+ "t": 0,
10765
+ "v": 0
10766
+ },
10767
+ {
10768
+ "t": 1000,
10769
+ "v": 360
10770
+ }
10771
+ ]
10772
+ }
10773
+ },
10774
+ "shapes": [
10775
+ {
10776
+ "type": "ellipse",
10777
+ "size": [
10778
+ 36,
10779
+ 36
10780
+ ]
10781
+ },
10782
+ {
10783
+ "type": "trim",
10784
+ "end": 70
10785
+ },
10786
+ {
10787
+ "type": "stroke",
10788
+ "color": "$color.primary",
10789
+ "width": 4
10790
+ }
10791
+ ]
10792
+ }
10793
+ ],
10794
+ "loop": true
10795
+ }
10796
+ }
10797
+ },
10798
+ {
10799
+ "name": "Motion/loop=false",
10800
+ "node": {
10801
+ "id": "motion",
10802
+ "component": "Motion",
10803
+ "props": {
10804
+ "size": [
10805
+ 48,
10806
+ 48
10807
+ ],
10808
+ "duration": 1000,
10809
+ "layers": [
10810
+ {
10811
+ "type": "shape",
10812
+ "transform": {
10813
+ "position": [
10814
+ 24,
10815
+ 24
10816
+ ],
10817
+ "rotation": {
10818
+ "keys": [
10819
+ {
10820
+ "t": 0,
10821
+ "v": 0
10822
+ },
10823
+ {
10824
+ "t": 1000,
10825
+ "v": 360
10826
+ }
10827
+ ]
10828
+ }
10829
+ },
10830
+ "shapes": [
10831
+ {
10832
+ "type": "ellipse",
10833
+ "size": [
10834
+ 36,
10835
+ 36
10836
+ ]
10837
+ },
10838
+ {
10839
+ "type": "trim",
10840
+ "end": 70
10841
+ },
10842
+ {
10843
+ "type": "stroke",
10844
+ "color": "$color.primary",
10845
+ "width": 4
10846
+ }
10847
+ ]
10848
+ }
10849
+ ],
10850
+ "loop": false
10851
+ }
10852
+ }
10853
+ },
10854
+ {
10855
+ "name": "Motion/direction=forward",
10856
+ "node": {
10857
+ "id": "motion",
10858
+ "component": "Motion",
10859
+ "props": {
10860
+ "size": [
10861
+ 48,
10862
+ 48
10863
+ ],
10864
+ "duration": 1000,
10865
+ "layers": [
10866
+ {
10867
+ "type": "shape",
10868
+ "transform": {
10869
+ "position": [
10870
+ 24,
10871
+ 24
10872
+ ],
10873
+ "rotation": {
10874
+ "keys": [
10875
+ {
10876
+ "t": 0,
10877
+ "v": 0
10878
+ },
10879
+ {
10880
+ "t": 1000,
10881
+ "v": 360
10882
+ }
10883
+ ]
10884
+ }
10885
+ },
10886
+ "shapes": [
10887
+ {
10888
+ "type": "ellipse",
10889
+ "size": [
10890
+ 36,
10891
+ 36
10892
+ ]
10893
+ },
10894
+ {
10895
+ "type": "trim",
10896
+ "end": 70
10897
+ },
10898
+ {
10899
+ "type": "stroke",
10900
+ "color": "$color.primary",
10901
+ "width": 4
10902
+ }
10903
+ ]
10904
+ }
10905
+ ],
10906
+ "direction": "forward"
10907
+ }
10908
+ }
10909
+ },
10910
+ {
10911
+ "name": "Motion/direction=reverse",
10912
+ "node": {
10913
+ "id": "motion",
10914
+ "component": "Motion",
10915
+ "props": {
10916
+ "size": [
10917
+ 48,
10918
+ 48
10919
+ ],
10920
+ "duration": 1000,
10921
+ "layers": [
10922
+ {
10923
+ "type": "shape",
10924
+ "transform": {
10925
+ "position": [
10926
+ 24,
10927
+ 24
10928
+ ],
10929
+ "rotation": {
10930
+ "keys": [
10931
+ {
10932
+ "t": 0,
10933
+ "v": 0
10934
+ },
10935
+ {
10936
+ "t": 1000,
10937
+ "v": 360
10938
+ }
10939
+ ]
10940
+ }
10941
+ },
10942
+ "shapes": [
10943
+ {
10944
+ "type": "ellipse",
10945
+ "size": [
10946
+ 36,
10947
+ 36
10948
+ ]
10949
+ },
10950
+ {
10951
+ "type": "trim",
10952
+ "end": 70
10953
+ },
10954
+ {
10955
+ "type": "stroke",
10956
+ "color": "$color.primary",
10957
+ "width": 4
10958
+ }
10959
+ ]
10960
+ }
10961
+ ],
10962
+ "direction": "reverse"
10963
+ }
10964
+ }
10965
+ },
10966
+ {
10967
+ "name": "Motion/direction=alternate",
10968
+ "node": {
10969
+ "id": "motion",
10970
+ "component": "Motion",
10971
+ "props": {
10972
+ "size": [
10973
+ 48,
10974
+ 48
10975
+ ],
10976
+ "duration": 1000,
10977
+ "layers": [
10978
+ {
10979
+ "type": "shape",
10980
+ "transform": {
10981
+ "position": [
10982
+ 24,
10983
+ 24
10984
+ ],
10985
+ "rotation": {
10986
+ "keys": [
10987
+ {
10988
+ "t": 0,
10989
+ "v": 0
10990
+ },
10991
+ {
10992
+ "t": 1000,
10993
+ "v": 360
10994
+ }
10995
+ ]
10996
+ }
10997
+ },
10998
+ "shapes": [
10999
+ {
11000
+ "type": "ellipse",
11001
+ "size": [
11002
+ 36,
11003
+ 36
11004
+ ]
11005
+ },
11006
+ {
11007
+ "type": "trim",
11008
+ "end": 70
11009
+ },
11010
+ {
11011
+ "type": "stroke",
11012
+ "color": "$color.primary",
11013
+ "width": 4
11014
+ }
11015
+ ]
11016
+ }
11017
+ ],
11018
+ "direction": "alternate"
11019
+ }
11020
+ }
11021
+ },
11022
+ {
11023
+ "name": "Motion/play=true",
11024
+ "node": {
11025
+ "id": "motion",
11026
+ "component": "Motion",
11027
+ "props": {
11028
+ "size": [
11029
+ 48,
11030
+ 48
11031
+ ],
11032
+ "duration": 1000,
11033
+ "layers": [
11034
+ {
11035
+ "type": "shape",
11036
+ "transform": {
11037
+ "position": [
11038
+ 24,
11039
+ 24
11040
+ ],
11041
+ "rotation": {
11042
+ "keys": [
11043
+ {
11044
+ "t": 0,
11045
+ "v": 0
11046
+ },
11047
+ {
11048
+ "t": 1000,
11049
+ "v": 360
11050
+ }
11051
+ ]
11052
+ }
11053
+ },
11054
+ "shapes": [
11055
+ {
11056
+ "type": "ellipse",
11057
+ "size": [
11058
+ 36,
11059
+ 36
11060
+ ]
11061
+ },
11062
+ {
11063
+ "type": "trim",
11064
+ "end": 70
11065
+ },
11066
+ {
11067
+ "type": "stroke",
11068
+ "color": "$color.primary",
11069
+ "width": 4
11070
+ }
11071
+ ]
11072
+ }
11073
+ ],
11074
+ "play": true
11075
+ }
11076
+ }
11077
+ },
11078
+ {
11079
+ "name": "Motion/play=false",
11080
+ "node": {
11081
+ "id": "motion",
11082
+ "component": "Motion",
11083
+ "props": {
11084
+ "size": [
11085
+ 48,
11086
+ 48
11087
+ ],
11088
+ "duration": 1000,
11089
+ "layers": [
11090
+ {
11091
+ "type": "shape",
11092
+ "transform": {
11093
+ "position": [
11094
+ 24,
11095
+ 24
11096
+ ],
11097
+ "rotation": {
11098
+ "keys": [
11099
+ {
11100
+ "t": 0,
11101
+ "v": 0
11102
+ },
11103
+ {
11104
+ "t": 1000,
11105
+ "v": 360
11106
+ }
11107
+ ]
11108
+ }
11109
+ },
11110
+ "shapes": [
11111
+ {
11112
+ "type": "ellipse",
11113
+ "size": [
11114
+ 36,
11115
+ 36
11116
+ ]
11117
+ },
11118
+ {
11119
+ "type": "trim",
11120
+ "end": 70
11121
+ },
11122
+ {
11123
+ "type": "stroke",
11124
+ "color": "$color.primary",
11125
+ "width": 4
11126
+ }
11127
+ ]
11128
+ }
11129
+ ],
11130
+ "play": false
11131
+ }
11132
+ }
11133
+ },
11134
+ {
11135
+ "name": "Motion/fit=contain",
11136
+ "node": {
11137
+ "id": "motion",
11138
+ "component": "Motion",
11139
+ "props": {
11140
+ "size": [
11141
+ 48,
11142
+ 48
11143
+ ],
11144
+ "duration": 1000,
11145
+ "layers": [
11146
+ {
11147
+ "type": "shape",
11148
+ "transform": {
11149
+ "position": [
11150
+ 24,
11151
+ 24
11152
+ ],
11153
+ "rotation": {
11154
+ "keys": [
11155
+ {
11156
+ "t": 0,
11157
+ "v": 0
11158
+ },
11159
+ {
11160
+ "t": 1000,
11161
+ "v": 360
11162
+ }
11163
+ ]
11164
+ }
11165
+ },
11166
+ "shapes": [
11167
+ {
11168
+ "type": "ellipse",
11169
+ "size": [
11170
+ 36,
11171
+ 36
11172
+ ]
11173
+ },
11174
+ {
11175
+ "type": "trim",
11176
+ "end": 70
11177
+ },
11178
+ {
11179
+ "type": "stroke",
11180
+ "color": "$color.primary",
11181
+ "width": 4
11182
+ }
11183
+ ]
11184
+ }
11185
+ ],
11186
+ "fit": "contain"
11187
+ }
11188
+ }
11189
+ },
11190
+ {
11191
+ "name": "Motion/fit=cover",
11192
+ "node": {
11193
+ "id": "motion",
11194
+ "component": "Motion",
11195
+ "props": {
11196
+ "size": [
11197
+ 48,
11198
+ 48
11199
+ ],
11200
+ "duration": 1000,
11201
+ "layers": [
11202
+ {
11203
+ "type": "shape",
11204
+ "transform": {
11205
+ "position": [
11206
+ 24,
11207
+ 24
11208
+ ],
11209
+ "rotation": {
11210
+ "keys": [
11211
+ {
11212
+ "t": 0,
11213
+ "v": 0
11214
+ },
11215
+ {
11216
+ "t": 1000,
11217
+ "v": 360
11218
+ }
11219
+ ]
11220
+ }
11221
+ },
11222
+ "shapes": [
11223
+ {
11224
+ "type": "ellipse",
11225
+ "size": [
11226
+ 36,
11227
+ 36
11228
+ ]
11229
+ },
11230
+ {
11231
+ "type": "trim",
11232
+ "end": 70
11233
+ },
11234
+ {
11235
+ "type": "stroke",
11236
+ "color": "$color.primary",
11237
+ "width": 4
11238
+ }
11239
+ ]
11240
+ }
11241
+ ],
11242
+ "fit": "cover"
11243
+ }
11244
+ }
11245
+ },
11246
+ {
11247
+ "name": "Motion/fit=fill",
11248
+ "node": {
11249
+ "id": "motion",
11250
+ "component": "Motion",
11251
+ "props": {
11252
+ "size": [
11253
+ 48,
11254
+ 48
11255
+ ],
11256
+ "duration": 1000,
11257
+ "layers": [
11258
+ {
11259
+ "type": "shape",
11260
+ "transform": {
11261
+ "position": [
11262
+ 24,
11263
+ 24
11264
+ ],
11265
+ "rotation": {
11266
+ "keys": [
11267
+ {
11268
+ "t": 0,
11269
+ "v": 0
11270
+ },
11271
+ {
11272
+ "t": 1000,
11273
+ "v": 360
11274
+ }
11275
+ ]
11276
+ }
11277
+ },
11278
+ "shapes": [
11279
+ {
11280
+ "type": "ellipse",
11281
+ "size": [
11282
+ 36,
11283
+ 36
11284
+ ]
11285
+ },
11286
+ {
11287
+ "type": "trim",
11288
+ "end": 70
11289
+ },
11290
+ {
11291
+ "type": "stroke",
11292
+ "color": "$color.primary",
11293
+ "width": 4
11294
+ }
11295
+ ]
11296
+ }
11297
+ ],
11298
+ "fit": "fill"
11299
+ }
11300
+ }
10387
11301
  }
10388
11302
  ]
10389
11303
  }