@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.
Files changed (452) hide show
  1. package/catalog/a11y.json +25 -1
  2. package/catalog/core.catalog.json +426 -6
  3. package/catalog/core.schema.json +634 -4
  4. package/catalog/host.json +10 -0
  5. package/catalog/layout.json +3 -2
  6. package/catalog/limits.json +10 -1
  7. package/catalog/macros.json +542 -1
  8. package/catalog/recipes.json +4 -2
  9. package/catalog/strings.json +14 -2
  10. package/catalog/style.json +21 -0
  11. package/catalog/theme.schema.json +3950 -1337
  12. package/conformance/manifest.json +5 -5
  13. package/conformance/motion/build-corpus.ts +232 -0
  14. package/conformance/motion/corpus/SOURCES.md +117 -0
  15. package/conformance/motion/corpus/images/footage_0.json +1 -0
  16. package/conformance/motion/corpus/images/img_0.jpg +0 -0
  17. package/conformance/motion/corpus/images/img_1.jpg +0 -0
  18. package/conformance/motion/corpus/images/triangle.png +0 -0
  19. package/conformance/motion/corpus/skottie-3d-parenting-nocamera.json +367 -0
  20. package/conformance/motion/corpus/skottie-auto-orient-2.json +292 -0
  21. package/conformance/motion/corpus/skottie-auto-orient.json +717 -0
  22. package/conformance/motion/corpus/skottie-bezier-extranormal.json +199 -0
  23. package/conformance/motion/corpus/skottie-blendmode-hardmix.json +558 -0
  24. package/conformance/motion/corpus/skottie-chained-mattes.json +259 -0
  25. package/conformance/motion/corpus/skottie-dropshadow-ramp.json +852 -0
  26. package/conformance/motion/corpus/skottie-dropshadow-style.json +278 -0
  27. package/conformance/motion/corpus/skottie-effects-transform.json +385 -0
  28. package/conformance/motion/corpus/skottie-fill-effect.json +358 -0
  29. package/conformance/motion/corpus/skottie-fill-rule.json +457 -0
  30. package/conformance/motion/corpus/skottie-gaussian-blur.json +670 -0
  31. package/conformance/motion/corpus/skottie-gradient-opacity.json +451 -0
  32. package/conformance/motion/corpus/skottie-gradient-radial-highlight.json +581 -0
  33. package/conformance/motion/corpus/skottie-hidden-shapes-layers.json +381 -0
  34. package/conformance/motion/corpus/skottie-huesaturation-effect.json +1117 -0
  35. package/conformance/motion/corpus/skottie-invert-effect.json +665 -0
  36. package/conformance/motion/corpus/skottie-luma-matte.json +239 -0
  37. package/conformance/motion/corpus/skottie-mask-feather.json +892 -0
  38. package/conformance/motion/corpus/skottie-masking-opaque.json +2376 -0
  39. package/conformance/motion/corpus/skottie-masking-translucent.json +2376 -0
  40. package/conformance/motion/corpus/skottie-matte-blendmode.json +196 -0
  41. package/conformance/motion/corpus/skottie-matte-nonsequential.json +722 -0
  42. package/conformance/motion/corpus/skottie-matte-visible.json +666 -0
  43. package/conformance/motion/corpus/skottie-mergepaths-effect.json +722 -0
  44. package/conformance/motion/corpus/skottie-motion-blur-mask.json +120 -0
  45. package/conformance/motion/corpus/skottie-nested-animation.json +253 -0
  46. package/conformance/motion/corpus/skottie-offsetpaths-effect.json +525 -0
  47. package/conformance/motion/corpus/skottie-phonehub-connecting.json +947 -0
  48. package/conformance/motion/corpus/skottie-puckerbloat-effect.json +339 -0
  49. package/conformance/motion/corpus/skottie-repeater.json +234 -0
  50. package/conformance/motion/corpus/skottie-sample-1.json +168 -0
  51. package/conformance/motion/corpus/skottie-sample-search.json +329 -0
  52. package/conformance/motion/corpus/skottie-spatial-supernormal.json +898 -0
  53. package/conformance/motion/corpus/skottie-text-animator-1.json +1286 -0
  54. package/conformance/motion/corpus/skottie-text-fill-over-stroke.json +1014 -0
  55. package/conformance/motion/corpus/skottie-text-tracking.json +950 -0
  56. package/conformance/motion/corpus/skottie-text-valign.json +484 -0
  57. package/conformance/motion/corpus/skottie-time-reverse.json +297 -0
  58. package/conformance/motion/corpus/skottie-transform-skew.json +290 -0
  59. package/conformance/motion/corpus/skottie-trimpath-fill.json +933 -0
  60. package/conformance/motion/corpus/skottie-trimpath-modes.json +266 -0
  61. package/conformance/motion/corpus/skottie-tritone-effect.json +379 -0
  62. package/conformance/motion/corpus/spec-blend-mode.json +531 -0
  63. package/conformance/motion/corpus/spec-ellipse.json +142 -0
  64. package/conformance/motion/corpus/spec-fill.json +193 -0
  65. package/conformance/motion/corpus/spec-gradient-stroke.json +1263 -0
  66. package/conformance/motion/corpus/spec-gradient.json +1255 -0
  67. package/conformance/motion/corpus/spec-mask.json +773 -0
  68. package/conformance/motion/corpus/spec-masks.json +676 -0
  69. package/conformance/motion/corpus/spec-matte.json +390 -0
  70. package/conformance/motion/corpus/spec-metadata.json +1 -0
  71. package/conformance/motion/corpus/spec-path.json +177 -0
  72. package/conformance/motion/corpus/spec-pucker-bloat.json +179 -0
  73. package/conformance/motion/corpus/spec-rectangle.json +145 -0
  74. package/conformance/motion/corpus/spec-rounded-corners.json +187 -0
  75. package/conformance/motion/corpus/spec-slots.json +325 -0
  76. package/conformance/motion/corpus/spec-star.json +159 -0
  77. package/conformance/motion/corpus/spec-stroke.json +156 -0
  78. package/conformance/motion/corpus/spec-test-ellipse-xy-pos.json +141 -0
  79. package/conformance/motion/corpus/spec-test-gradient-fill.json +1 -0
  80. package/conformance/motion/corpus/spec-test-gradient-stroke.json +229 -0
  81. package/conformance/motion/corpus/spec-test-unknown-shape.json +63 -0
  82. package/conformance/motion/corpus/spec-time-remap.json +1090 -0
  83. package/conformance/motion/corpus/spec-time-stretch.json +594 -0
  84. package/conformance/motion/corpus/spec-transform.json +273 -0
  85. package/conformance/motion/corpus/spec-trim-path.json +209 -0
  86. package/conformance/motion/corpus/web-adrock.json +1 -0
  87. package/conformance/motion/corpus/web-bacon.json +1 -0
  88. package/conformance/motion/corpus/web-banner.json +1 -0
  89. package/conformance/motion/corpus/web-bodymovin.json +1 -0
  90. package/conformance/motion/corpus/web-dalek.json +1 -0
  91. package/conformance/motion/corpus/web-footage-data.json +1 -0
  92. package/conformance/motion/corpus/web-lights.json +1 -0
  93. package/conformance/motion/corpus/web-ripple.json +1 -0
  94. package/conformance/motion/corpus/web-starfish.json +1 -0
  95. package/conformance/motion/known-gaps.json +35 -0
  96. package/conformance/motion/parity/group-transforms-parenting@0.png +0 -0
  97. package/conformance/motion/parity/group-transforms-parenting@10.png +0 -0
  98. package/conformance/motion/parity/hidden-unknown-inactive@0.png +0 -0
  99. package/conformance/motion/parity/keyframes-transform@0.png +0 -0
  100. package/conformance/motion/parity/keyframes-transform@10.png +0 -0
  101. package/conformance/motion/parity/keyframes-transform@15.png +0 -0
  102. package/conformance/motion/parity/keyframes-transform@5.png +0 -0
  103. package/conformance/motion/parity/layer-opacity-blend@0.png +0 -0
  104. package/conformance/motion/parity/linear-gradient@0.png +0 -0
  105. package/conformance/motion/parity/masks-modes@0.png +0 -0
  106. package/conformance/motion/parity/matte-alpha@0.png +0 -0
  107. package/conformance/motion/parity/matte-luma@0.png +0 -0
  108. package/conformance/motion/parity/matte-parent-tp@0.png +0 -0
  109. package/conformance/motion/parity/path-evenodd@0.png +0 -0
  110. package/conformance/motion/parity/precomp-clip-offset@0.png +0 -0
  111. package/conformance/motion/parity/precomp-clip-offset@15.png +0 -0
  112. package/conformance/motion/parity/precomp-clip-offset@5.png +0 -0
  113. package/conformance/motion/parity/radial-gradient-highlight@0.png +0 -0
  114. package/conformance/motion/parity/rect-solid-fill@0.png +0 -0
  115. package/conformance/motion/parity/repeater@0.png +0 -0
  116. package/conformance/motion/parity/rounded-rect-ellipse@0.png +0 -0
  117. package/conformance/motion/parity/solid-and-image@0.png +0 -0
  118. package/conformance/motion/parity/split-position-skew@0.png +0 -0
  119. package/conformance/motion/parity/split-position-skew@10.png +0 -0
  120. package/conformance/motion/parity/star-polygon@0.png +0 -0
  121. package/conformance/motion/parity/stroke-caps-joins@0.png +0 -0
  122. package/conformance/motion/parity/stroke-dashes@0.png +0 -0
  123. package/conformance/motion/parity/stroke-dashes@10.png +0 -0
  124. package/conformance/motion/parity/time-remap@0.png +0 -0
  125. package/conformance/motion/parity/time-remap@10.png +0 -0
  126. package/conformance/motion/parity/time-remap@19.png +0 -0
  127. package/conformance/motion/parity/time-stretch@0.png +0 -0
  128. package/conformance/motion/parity/time-stretch@10.png +0 -0
  129. package/conformance/motion/parity/trim-individually@0.png +0 -0
  130. package/conformance/motion/parity/trim-path@0.png +0 -0
  131. package/conformance/motion/parity/trim-path@10.png +0 -0
  132. package/conformance/motion/refs/index.json +688 -0
  133. package/conformance/motion/refs/skottie-3d-parenting-nocamera@0.png +0 -0
  134. package/conformance/motion/refs/skottie-3d-parenting-nocamera@150.png +0 -0
  135. package/conformance/motion/refs/skottie-3d-parenting-nocamera@270.png +0 -0
  136. package/conformance/motion/refs/skottie-auto-orient-2@0.png +0 -0
  137. package/conformance/motion/refs/skottie-auto-orient-2@210.png +0 -0
  138. package/conformance/motion/refs/skottie-auto-orient-2@378.png +0 -0
  139. package/conformance/motion/refs/skottie-auto-orient@0.png +0 -0
  140. package/conformance/motion/refs/skottie-auto-orient@300.png +0 -0
  141. package/conformance/motion/refs/skottie-auto-orient@540.png +0 -0
  142. package/conformance/motion/refs/skottie-bezier-extranormal@0.png +0 -0
  143. package/conformance/motion/refs/skottie-bezier-extranormal@150.png +0 -0
  144. package/conformance/motion/refs/skottie-bezier-extranormal@270.png +0 -0
  145. package/conformance/motion/refs/skottie-blendmode-hardmix@0.png +0 -0
  146. package/conformance/motion/refs/skottie-blendmode-hardmix@150.png +0 -0
  147. package/conformance/motion/refs/skottie-blendmode-hardmix@270.png +0 -0
  148. package/conformance/motion/refs/skottie-chained-mattes@0.png +0 -0
  149. package/conformance/motion/refs/skottie-chained-mattes@300.png +0 -0
  150. package/conformance/motion/refs/skottie-chained-mattes@540.png +0 -0
  151. package/conformance/motion/refs/skottie-dropshadow-ramp@0.png +0 -0
  152. package/conformance/motion/refs/skottie-dropshadow-ramp@135.png +0 -0
  153. package/conformance/motion/refs/skottie-dropshadow-ramp@75.png +0 -0
  154. package/conformance/motion/refs/skottie-dropshadow-style@0.png +0 -0
  155. package/conformance/motion/refs/skottie-dropshadow-style@300.png +0 -0
  156. package/conformance/motion/refs/skottie-dropshadow-style@540.png +0 -0
  157. package/conformance/motion/refs/skottie-effects-transform@0.png +0 -0
  158. package/conformance/motion/refs/skottie-effects-transform@450.png +0 -0
  159. package/conformance/motion/refs/skottie-effects-transform@810.png +0 -0
  160. package/conformance/motion/refs/skottie-fill-effect@0.png +0 -0
  161. package/conformance/motion/refs/skottie-fill-effect@300.png +0 -0
  162. package/conformance/motion/refs/skottie-fill-effect@540.png +0 -0
  163. package/conformance/motion/refs/skottie-fill-rule@0.png +0 -0
  164. package/conformance/motion/refs/skottie-fill-rule@150.png +0 -0
  165. package/conformance/motion/refs/skottie-fill-rule@270.png +0 -0
  166. package/conformance/motion/refs/skottie-gaussian-blur@0.png +0 -0
  167. package/conformance/motion/refs/skottie-gaussian-blur@150.png +0 -0
  168. package/conformance/motion/refs/skottie-gaussian-blur@270.png +0 -0
  169. package/conformance/motion/refs/skottie-gradient-opacity@0.png +0 -0
  170. package/conformance/motion/refs/skottie-gradient-opacity@150.png +0 -0
  171. package/conformance/motion/refs/skottie-gradient-opacity@270.png +0 -0
  172. package/conformance/motion/refs/skottie-gradient-radial-highlight@0.png +0 -0
  173. package/conformance/motion/refs/skottie-gradient-radial-highlight@135.png +0 -0
  174. package/conformance/motion/refs/skottie-gradient-radial-highlight@75.png +0 -0
  175. package/conformance/motion/refs/skottie-hidden-shapes-layers@0.png +0 -0
  176. package/conformance/motion/refs/skottie-hidden-shapes-layers@150.png +0 -0
  177. package/conformance/motion/refs/skottie-hidden-shapes-layers@270.png +0 -0
  178. package/conformance/motion/refs/skottie-huesaturation-effect@0.png +0 -0
  179. package/conformance/motion/refs/skottie-huesaturation-effect@30.png +0 -0
  180. package/conformance/motion/refs/skottie-huesaturation-effect@54.png +0 -0
  181. package/conformance/motion/refs/skottie-invert-effect@0.png +0 -0
  182. package/conformance/motion/refs/skottie-invert-effect@300.png +0 -0
  183. package/conformance/motion/refs/skottie-invert-effect@540.png +0 -0
  184. package/conformance/motion/refs/skottie-luma-matte@0.png +0 -0
  185. package/conformance/motion/refs/skottie-luma-matte@150.png +0 -0
  186. package/conformance/motion/refs/skottie-luma-matte@270.png +0 -0
  187. package/conformance/motion/refs/skottie-mask-feather@0.png +0 -0
  188. package/conformance/motion/refs/skottie-mask-feather@150.png +0 -0
  189. package/conformance/motion/refs/skottie-mask-feather@270.png +0 -0
  190. package/conformance/motion/refs/skottie-masking-opaque@0.png +0 -0
  191. package/conformance/motion/refs/skottie-masking-opaque@135.png +0 -0
  192. package/conformance/motion/refs/skottie-masking-opaque@75.png +0 -0
  193. package/conformance/motion/refs/skottie-masking-translucent@0.png +0 -0
  194. package/conformance/motion/refs/skottie-masking-translucent@135.png +0 -0
  195. package/conformance/motion/refs/skottie-masking-translucent@75.png +0 -0
  196. package/conformance/motion/refs/skottie-matte-blendmode@0.png +0 -0
  197. package/conformance/motion/refs/skottie-matte-blendmode@150.png +0 -0
  198. package/conformance/motion/refs/skottie-matte-blendmode@270.png +0 -0
  199. package/conformance/motion/refs/skottie-matte-nonsequential@0.png +0 -0
  200. package/conformance/motion/refs/skottie-matte-nonsequential@150.png +0 -0
  201. package/conformance/motion/refs/skottie-matte-nonsequential@270.png +0 -0
  202. package/conformance/motion/refs/skottie-matte-visible@0.png +0 -0
  203. package/conformance/motion/refs/skottie-matte-visible@150.png +0 -0
  204. package/conformance/motion/refs/skottie-matte-visible@270.png +0 -0
  205. package/conformance/motion/refs/skottie-mergepaths-effect@0.png +0 -0
  206. package/conformance/motion/refs/skottie-mergepaths-effect@210.png +0 -0
  207. package/conformance/motion/refs/skottie-mergepaths-effect@378.png +0 -0
  208. package/conformance/motion/refs/skottie-motion-blur-mask@0.png +0 -0
  209. package/conformance/motion/refs/skottie-motion-blur-mask@150.png +0 -0
  210. package/conformance/motion/refs/skottie-motion-blur-mask@270.png +0 -0
  211. package/conformance/motion/refs/skottie-nested-animation@0.png +0 -0
  212. package/conformance/motion/refs/skottie-nested-animation@300.png +0 -0
  213. package/conformance/motion/refs/skottie-nested-animation@540.png +0 -0
  214. package/conformance/motion/refs/skottie-offsetpaths-effect@0.png +0 -0
  215. package/conformance/motion/refs/skottie-offsetpaths-effect@150.png +0 -0
  216. package/conformance/motion/refs/skottie-offsetpaths-effect@270.png +0 -0
  217. package/conformance/motion/refs/skottie-phonehub-connecting@0.png +0 -0
  218. package/conformance/motion/refs/skottie-puckerbloat-effect@0.png +0 -0
  219. package/conformance/motion/refs/skottie-puckerbloat-effect@210.png +0 -0
  220. package/conformance/motion/refs/skottie-puckerbloat-effect@378.png +0 -0
  221. package/conformance/motion/refs/skottie-repeater@0.png +0 -0
  222. package/conformance/motion/refs/skottie-repeater@300.png +0 -0
  223. package/conformance/motion/refs/skottie-repeater@540.png +0 -0
  224. package/conformance/motion/refs/skottie-sample-1@0.png +0 -0
  225. package/conformance/motion/refs/skottie-sample-1@100.png +0 -0
  226. package/conformance/motion/refs/skottie-sample-1@180.png +0 -0
  227. package/conformance/motion/refs/skottie-sample-search@0.png +0 -0
  228. package/conformance/motion/refs/skottie-sample-search@27.png +0 -0
  229. package/conformance/motion/refs/skottie-sample-search@48.png +0 -0
  230. package/conformance/motion/refs/skottie-spatial-supernormal@0.png +0 -0
  231. package/conformance/motion/refs/skottie-spatial-supernormal@200.png +0 -0
  232. package/conformance/motion/refs/skottie-spatial-supernormal@360.png +0 -0
  233. package/conformance/motion/refs/skottie-text-animator-1@0.png +0 -0
  234. package/conformance/motion/refs/skottie-text-animator-1@150.png +0 -0
  235. package/conformance/motion/refs/skottie-text-animator-1@270.png +0 -0
  236. package/conformance/motion/refs/skottie-text-fill-over-stroke@0.png +0 -0
  237. package/conformance/motion/refs/skottie-text-fill-over-stroke@210.png +0 -0
  238. package/conformance/motion/refs/skottie-text-fill-over-stroke@378.png +0 -0
  239. package/conformance/motion/refs/skottie-text-tracking@0.png +0 -0
  240. package/conformance/motion/refs/skottie-text-tracking@108.png +0 -0
  241. package/conformance/motion/refs/skottie-text-tracking@60.png +0 -0
  242. package/conformance/motion/refs/skottie-text-valign@0.png +0 -0
  243. package/conformance/motion/refs/skottie-text-valign@150.png +0 -0
  244. package/conformance/motion/refs/skottie-text-valign@270.png +0 -0
  245. package/conformance/motion/refs/skottie-time-reverse@0.png +0 -0
  246. package/conformance/motion/refs/skottie-time-reverse@300.png +0 -0
  247. package/conformance/motion/refs/skottie-time-reverse@540.png +0 -0
  248. package/conformance/motion/refs/skottie-transform-skew@0.png +0 -0
  249. package/conformance/motion/refs/skottie-transform-skew@300.png +0 -0
  250. package/conformance/motion/refs/skottie-transform-skew@540.png +0 -0
  251. package/conformance/motion/refs/skottie-trimpath-fill@0.png +0 -0
  252. package/conformance/motion/refs/skottie-trimpath-fill@300.png +0 -0
  253. package/conformance/motion/refs/skottie-trimpath-fill@540.png +0 -0
  254. package/conformance/motion/refs/skottie-trimpath-modes@0.png +0 -0
  255. package/conformance/motion/refs/skottie-trimpath-modes@300.png +0 -0
  256. package/conformance/motion/refs/skottie-trimpath-modes@540.png +0 -0
  257. package/conformance/motion/refs/skottie-tritone-effect@0.png +0 -0
  258. package/conformance/motion/refs/skottie-tritone-effect@300.png +0 -0
  259. package/conformance/motion/refs/skottie-tritone-effect@540.png +0 -0
  260. package/conformance/motion/refs/spec-blend-mode@0.png +0 -0
  261. package/conformance/motion/refs/spec-blend-mode@162.png +0 -0
  262. package/conformance/motion/refs/spec-blend-mode@90.png +0 -0
  263. package/conformance/motion/refs/spec-ellipse@0.png +0 -0
  264. package/conformance/motion/refs/spec-ellipse@162.png +0 -0
  265. package/conformance/motion/refs/spec-ellipse@90.png +0 -0
  266. package/conformance/motion/refs/spec-fill@0.png +0 -0
  267. package/conformance/motion/refs/spec-fill@162.png +0 -0
  268. package/conformance/motion/refs/spec-fill@90.png +0 -0
  269. package/conformance/motion/refs/spec-gradient-stroke@0.png +0 -0
  270. package/conformance/motion/refs/spec-gradient-stroke@162.png +0 -0
  271. package/conformance/motion/refs/spec-gradient-stroke@90.png +0 -0
  272. package/conformance/motion/refs/spec-gradient@0.png +0 -0
  273. package/conformance/motion/refs/spec-gradient@162.png +0 -0
  274. package/conformance/motion/refs/spec-gradient@90.png +0 -0
  275. package/conformance/motion/refs/spec-mask@0.png +0 -0
  276. package/conformance/motion/refs/spec-mask@300.png +0 -0
  277. package/conformance/motion/refs/spec-mask@540.png +0 -0
  278. package/conformance/motion/refs/spec-masks@0.png +0 -0
  279. package/conformance/motion/refs/spec-masks@135.png +0 -0
  280. package/conformance/motion/refs/spec-masks@75.png +0 -0
  281. package/conformance/motion/refs/spec-matte@0.png +0 -0
  282. package/conformance/motion/refs/spec-matte@162.png +0 -0
  283. package/conformance/motion/refs/spec-matte@90.png +0 -0
  284. package/conformance/motion/refs/spec-metadata@0.png +0 -0
  285. package/conformance/motion/refs/spec-metadata@162.png +0 -0
  286. package/conformance/motion/refs/spec-metadata@90.png +0 -0
  287. package/conformance/motion/refs/spec-path@0.png +0 -0
  288. package/conformance/motion/refs/spec-path@162.png +0 -0
  289. package/conformance/motion/refs/spec-path@90.png +0 -0
  290. package/conformance/motion/refs/spec-pucker-bloat@0.png +0 -0
  291. package/conformance/motion/refs/spec-pucker-bloat@162.png +0 -0
  292. package/conformance/motion/refs/spec-pucker-bloat@90.png +0 -0
  293. package/conformance/motion/refs/spec-rectangle@0.png +0 -0
  294. package/conformance/motion/refs/spec-rectangle@162.png +0 -0
  295. package/conformance/motion/refs/spec-rectangle@90.png +0 -0
  296. package/conformance/motion/refs/spec-rounded-corners@0.png +0 -0
  297. package/conformance/motion/refs/spec-rounded-corners@162.png +0 -0
  298. package/conformance/motion/refs/spec-rounded-corners@90.png +0 -0
  299. package/conformance/motion/refs/spec-slots@0.png +0 -0
  300. package/conformance/motion/refs/spec-slots@450.png +0 -0
  301. package/conformance/motion/refs/spec-slots@810.png +0 -0
  302. package/conformance/motion/refs/spec-star@0.png +0 -0
  303. package/conformance/motion/refs/spec-star@162.png +0 -0
  304. package/conformance/motion/refs/spec-star@90.png +0 -0
  305. package/conformance/motion/refs/spec-stroke@0.png +0 -0
  306. package/conformance/motion/refs/spec-stroke@162.png +0 -0
  307. package/conformance/motion/refs/spec-stroke@90.png +0 -0
  308. package/conformance/motion/refs/spec-test-ellipse-xy-pos@0.png +0 -0
  309. package/conformance/motion/refs/spec-test-ellipse-xy-pos@162.png +0 -0
  310. package/conformance/motion/refs/spec-test-ellipse-xy-pos@90.png +0 -0
  311. package/conformance/motion/refs/spec-test-gradient-fill@0.png +0 -0
  312. package/conformance/motion/refs/spec-test-gradient-fill@30.png +0 -0
  313. package/conformance/motion/refs/spec-test-gradient-fill@54.png +0 -0
  314. package/conformance/motion/refs/spec-test-gradient-stroke@0.png +0 -0
  315. package/conformance/motion/refs/spec-test-gradient-stroke@30.png +0 -0
  316. package/conformance/motion/refs/spec-test-gradient-stroke@54.png +0 -0
  317. package/conformance/motion/refs/spec-test-unknown-shape@0.png +0 -0
  318. package/conformance/motion/refs/spec-test-unknown-shape@162.png +0 -0
  319. package/conformance/motion/refs/spec-test-unknown-shape@90.png +0 -0
  320. package/conformance/motion/refs/spec-time-remap@0.png +0 -0
  321. package/conformance/motion/refs/spec-time-remap@300.png +0 -0
  322. package/conformance/motion/refs/spec-time-remap@540.png +0 -0
  323. package/conformance/motion/refs/spec-time-stretch@0.png +0 -0
  324. package/conformance/motion/refs/spec-time-stretch@300.png +0 -0
  325. package/conformance/motion/refs/spec-time-stretch@540.png +0 -0
  326. package/conformance/motion/refs/spec-transform@0.png +0 -0
  327. package/conformance/motion/refs/spec-transform@162.png +0 -0
  328. package/conformance/motion/refs/spec-transform@90.png +0 -0
  329. package/conformance/motion/refs/spec-trim-path@0.png +0 -0
  330. package/conformance/motion/refs/spec-trim-path@162.png +0 -0
  331. package/conformance/motion/refs/spec-trim-path@90.png +0 -0
  332. package/conformance/motion/refs/web-adrock@0.png +0 -0
  333. package/conformance/motion/refs/web-adrock@10.png +0 -0
  334. package/conformance/motion/refs/web-adrock@18.png +0 -0
  335. package/conformance/motion/refs/web-bacon@0.png +0 -0
  336. package/conformance/motion/refs/web-bacon@126.png +0 -0
  337. package/conformance/motion/refs/web-bacon@70.png +0 -0
  338. package/conformance/motion/refs/web-banner@0.png +0 -0
  339. package/conformance/motion/refs/web-banner@301.png +0 -0
  340. package/conformance/motion/refs/web-banner@542.png +0 -0
  341. package/conformance/motion/refs/web-bodymovin@0.png +0 -0
  342. package/conformance/motion/refs/web-bodymovin@51.png +0 -0
  343. package/conformance/motion/refs/web-bodymovin@92.png +0 -0
  344. package/conformance/motion/refs/web-dalek@0.png +0 -0
  345. package/conformance/motion/refs/web-dalek@145.png +0 -0
  346. package/conformance/motion/refs/web-dalek@261.png +0 -0
  347. package/conformance/motion/refs/web-footage-data@0.png +0 -0
  348. package/conformance/motion/refs/web-footage-data@180.png +0 -0
  349. package/conformance/motion/refs/web-footage-data@324.png +0 -0
  350. package/conformance/motion/refs/web-lights@0.png +0 -0
  351. package/conformance/motion/refs/web-lights@150.png +0 -0
  352. package/conformance/motion/refs/web-lights@270.png +0 -0
  353. package/conformance/motion/refs/web-ripple@0.png +0 -0
  354. package/conformance/motion/refs/web-ripple@180.png +0 -0
  355. package/conformance/motion/refs/web-ripple@324.png +0 -0
  356. package/conformance/motion/refs/web-starfish@0.png +0 -0
  357. package/conformance/motion/refs/web-starfish@150.png +0 -0
  358. package/conformance/motion/refs/web-starfish@270.png +0 -0
  359. package/conformance/motion/render-refs.ts +126 -0
  360. package/conformance/motion/report.json +1367 -0
  361. package/conformance/motion/web-parity-gaps.json +12 -0
  362. package/conformance/motion-parity-entry.ts +3 -0
  363. package/conformance/motion-parity.ts +101 -0
  364. package/dist/chunks/{index-gtk2gwsb.js → index-4xczxey5.js} +187 -40
  365. package/dist/chunks/{index-gtk2gwsb.js.map → index-4xczxey5.js.map} +7 -6
  366. package/dist/chunks/{index-62yzr94z.js → index-5sjj5p84.js} +270 -8
  367. package/dist/chunks/{index-62yzr94z.js.map → index-5sjj5p84.js.map} +2 -2
  368. package/dist/chunks/{index-fy7y2nz8.js → index-cvf7bbs5.js} +23 -2
  369. package/dist/chunks/{index-fy7y2nz8.js.map → index-cvf7bbs5.js.map} +1 -1
  370. package/dist/chunks/index-dgkf6yw5.js +48 -0
  371. package/dist/chunks/index-dgkf6yw5.js.map +10 -0
  372. package/dist/chunks/{index-5fmaa0xq.js → index-f9wkb6aq.js} +851 -36
  373. package/dist/chunks/{index-5fmaa0xq.js.map → index-f9wkb6aq.js.map} +2 -2
  374. package/dist/chunks/index-t2mwfbb6.js +1515 -0
  375. package/dist/chunks/index-t2mwfbb6.js.map +15 -0
  376. package/dist/chunks/{index-bg2jsgjq.js → index-vkn82srs.js} +479 -10
  377. package/dist/chunks/{index-bg2jsgjq.js.map → index-vkn82srs.js.map} +2 -2
  378. package/dist/chunks/wasm-ctcc3cma.js +424 -0
  379. package/dist/chunks/wasm-ctcc3cma.js.map +11 -0
  380. package/dist/conformance.js +10941 -563
  381. package/dist/conformance.js.map +2 -2
  382. package/dist/entries/prompt.js +2 -2
  383. package/dist/entries/schema.js +3 -3
  384. package/dist/host/index.js +20 -4
  385. package/dist/host/index.js.map +1 -1
  386. package/dist/index.js +364 -99
  387. package/dist/index.js.map +4 -4
  388. package/dist/types/src/catalog.generated.d.ts +71 -5
  389. package/dist/types/src/host/contract.d.ts +17 -0
  390. package/dist/types/src/host/exposes.d.ts +68 -0
  391. package/dist/types/src/host/index.d.ts +1 -0
  392. package/dist/types/src/host/package.d.ts +8 -0
  393. package/dist/types/src/index.d.ts +2 -0
  394. package/dist/types/src/layout.d.ts +2 -0
  395. package/dist/types/src/limits.d.ts +1 -0
  396. package/dist/types/src/motion/index.d.ts +1 -0
  397. package/dist/types/src/motion/server.d.ts +9 -0
  398. package/dist/types/src/motion/wasm.d.ts +11 -0
  399. package/dist/types/src/web/coerce.d.ts +3 -0
  400. package/dist/types/src/web/focus.d.ts +8 -0
  401. package/dist/types/src/web/index.d.ts +5 -2
  402. package/dist/types/src/web/primitives/carousel.d.ts +17 -0
  403. package/dist/types/src/web/primitives/dock.d.ts +5 -2
  404. package/dist/types/src/web/primitives/index.d.ts +5 -0
  405. package/dist/types/src/web/primitives/mosaic.d.ts +30 -0
  406. package/dist/types/src/web/primitives/motion-paint.d.ts +36 -0
  407. package/dist/types/src/web/primitives/motion.d.ts +162 -0
  408. package/dist/types/src/web/primitives/outline.d.ts +22 -0
  409. package/dist/types/src/web/primitives/zoomable-image.d.ts +158 -0
  410. package/dist/types/src/web/table.d.ts +8 -0
  411. package/dist/types/src/zoom.d.ts +128 -0
  412. package/dist/types/wasm/motion/bytes.d.ts +1 -0
  413. package/dist/web/index.js +171 -230
  414. package/dist/web/index.js.map +9 -10
  415. package/dist/web/primitives/index.js +641 -6
  416. package/dist/web/primitives/index.js.map +9 -5
  417. package/docs/components.generated.json +542 -5
  418. package/docs/package-format.md +56 -1
  419. package/docs/round-6-contract.md +110 -0
  420. package/docs/themes.generated.json +66 -2
  421. package/fixtures/bind-time.json +1468 -0
  422. package/fixtures/catalog-components.json +1026 -16
  423. package/fixtures/catalog-macros.json +1279 -157
  424. package/fixtures/conformance-baseline.json +48893 -47200
  425. package/fixtures/conformance-known.json +140 -134
  426. package/fixtures/host-router.json +539 -1
  427. package/fixtures/kitchen-sink.expanded.json +686 -1
  428. package/fixtures/kitchen-sink.json +102 -1
  429. package/fixtures/layout-geometry-round1.json +42 -42
  430. package/fixtures/motion-frames.json +2618 -0
  431. package/fixtures/motion-playback.json +528 -0
  432. package/fixtures/motion-state.json +722 -0
  433. package/fixtures/motion-validate.json +138 -0
  434. package/fixtures/primitive-specimens.json +4 -0
  435. package/fixtures/prompt-budget.json +16 -16
  436. package/fixtures/specimens.json +839 -21
  437. package/fixtures/theme-recipes.json +32808 -28396
  438. package/fixtures/theme-resolved.json +2114 -286
  439. package/fixtures/zoom.json +1382 -0
  440. package/generated/ExponentialUICatalog.generated.kt +21 -21
  441. package/generated/ExponentialUICatalog.generated.swift +21 -21
  442. package/generated/ExponentialUIThemes.generated.kt +7 -7
  443. package/generated/ExponentialUIThemes.generated.swift +7 -7
  444. package/generated/catalog.descriptions.generated.rs +1 -1
  445. package/generated/catalog.generated.rs +30 -30
  446. package/generated/catalog.themes.generated.rs +8 -8
  447. package/generated/core.descriptions.json +267 -5
  448. package/generated/core.runtime.json +275 -1
  449. package/package.json +1 -1
  450. package/themes/neutral.theme.json +460 -3
  451. package/dist/chunks/index-t6qz1770.js +0 -95
  452. package/dist/chunks/index-t6qz1770.js.map +0 -11
@@ -2070,6 +2070,7 @@
2070
2070
  "display": "flex",
2071
2071
  "flexDirection": "row",
2072
2072
  "alignItems": "stretch",
2073
+ "gap": "$spacing.lg",
2073
2074
  "width": "100%",
2074
2075
  "minHeight": 0
2075
2076
  },
@@ -2170,6 +2171,7 @@
2170
2171
  "display": "flex",
2171
2172
  "flexDirection": "row",
2172
2173
  "alignItems": "stretch",
2174
+ "gap": "$spacing.lg",
2173
2175
  "width": "100%",
2174
2176
  "minHeight": 0
2175
2177
  },
@@ -2270,6 +2272,7 @@
2270
2272
  "display": "flex",
2271
2273
  "flexDirection": "row-reverse",
2272
2274
  "alignItems": "stretch",
2275
+ "gap": "$spacing.lg",
2273
2276
  "width": "100%",
2274
2277
  "minHeight": 0
2275
2278
  },
@@ -2367,6 +2370,7 @@
2367
2370
  "display": "flex",
2368
2371
  "flexDirection": "row",
2369
2372
  "alignItems": "stretch",
2373
+ "gap": "$spacing.lg",
2370
2374
  "width": "100%",
2371
2375
  "minHeight": 0
2372
2376
  },
@@ -2467,6 +2471,7 @@
2467
2471
  "display": "flex",
2468
2472
  "flexDirection": "row",
2469
2473
  "alignItems": "stretch",
2474
+ "gap": "$spacing.lg",
2470
2475
  "width": "100%",
2471
2476
  "minHeight": 0
2472
2477
  },
@@ -2567,6 +2572,7 @@
2567
2572
  "display": "flex",
2568
2573
  "flexDirection": "row",
2569
2574
  "alignItems": "stretch",
2575
+ "gap": "$spacing.lg",
2570
2576
  "width": "100%",
2571
2577
  "minHeight": 0
2572
2578
  },
@@ -2667,6 +2673,7 @@
2667
2673
  "display": "flex",
2668
2674
  "flexDirection": "row",
2669
2675
  "alignItems": "stretch",
2676
+ "gap": "$spacing.lg",
2670
2677
  "width": "100%",
2671
2678
  "minHeight": 0
2672
2679
  },
@@ -2767,6 +2774,7 @@
2767
2774
  "display": "flex",
2768
2775
  "flexDirection": "row",
2769
2776
  "alignItems": "stretch",
2777
+ "gap": "$spacing.lg",
2770
2778
  "width": "100%",
2771
2779
  "minHeight": 0
2772
2780
  },
@@ -2842,6 +2850,7 @@
2842
2850
  "display": "flex",
2843
2851
  "flexDirection": "row",
2844
2852
  "alignItems": "stretch",
2853
+ "gap": "$spacing.lg",
2845
2854
  "width": "100%",
2846
2855
  "minHeight": 0
2847
2856
  },
@@ -2943,6 +2952,7 @@
2943
2952
  "display": "flex",
2944
2953
  "flexDirection": "row",
2945
2954
  "alignItems": "stretch",
2955
+ "gap": "$spacing.lg",
2946
2956
  "width": "100%",
2947
2957
  "minHeight": 0
2948
2958
  },
@@ -7826,237 +7836,525 @@
7826
7836
  }
7827
7837
  },
7828
7838
  {
7829
- "name": "Collapsible/example",
7839
+ "name": "Mosaic/example",
7830
7840
  "input": {
7831
- "id": "collapsible",
7832
- "component": "Collapsible",
7841
+ "id": "mosaic",
7842
+ "component": "Mosaic",
7833
7843
  "props": {
7834
- "title": "Advanced",
7835
- "open": false
7836
- },
7837
- "children": [
7838
- {
7839
- "id": "collapsible-child",
7840
- "component": "Text",
7841
- "props": {
7842
- "text": "Child"
7844
+ "pictures": [
7845
+ {
7846
+ "src": "https://example.com/editor.png",
7847
+ "alt": "Editor"
7848
+ },
7849
+ {
7850
+ "src": "https://example.com/preview.png",
7851
+ "alt": "Preview"
7852
+ },
7853
+ {
7854
+ "src": "https://example.com/data.png",
7855
+ "alt": "Data"
7856
+ },
7857
+ {
7858
+ "src": "https://example.com/versions.png",
7859
+ "alt": "Versions"
7843
7860
  }
7844
- }
7845
- ]
7861
+ ]
7862
+ }
7846
7863
  },
7847
7864
  "expected": {
7848
- "id": "collapsible",
7865
+ "id": "mosaic",
7849
7866
  "component": "Box",
7850
7867
  "props": {},
7851
7868
  "children": [
7852
7869
  {
7853
- "id": "collapsible.trigger",
7870
+ "id": "mosaic.lead",
7854
7871
  "component": "Box",
7855
7872
  "props": {
7856
7873
  "pressable": true
7857
7874
  },
7858
7875
  "children": [
7859
7876
  {
7860
- "id": "collapsible.trigger.chevron",
7861
- "component": "Icon",
7862
- "props": {
7863
- "name": "ui-chevron-right",
7864
- "size": "sm",
7865
- "tone": "neutral"
7866
- },
7867
- "children": [],
7868
- "recipe": {
7869
- "macro": "Collapsible",
7870
- "part": "chevron",
7871
- "props": {
7872
- "open": false
7873
- }
7874
- }
7875
- },
7876
- {
7877
- "id": "collapsible.trigger.title",
7878
- "component": "Text",
7877
+ "id": "mosaic.lead.image",
7878
+ "component": "Image",
7879
7879
  "props": {
7880
- "text": "Advanced",
7881
- "variant": "label",
7882
- "lines": 1
7880
+ "src": "https://example.com/editor.png",
7881
+ "alt": "Editor",
7882
+ "fit": "cover"
7883
7883
  },
7884
7884
  "children": [],
7885
7885
  "style": {
7886
- "flexGrow": 1,
7887
- "minWidth": 0
7886
+ "position": "absolute",
7887
+ "inset": 0,
7888
+ "width": "100%",
7889
+ "height": "100%"
7888
7890
  },
7889
7891
  "recipe": {
7890
- "macro": "Collapsible",
7891
- "part": "title",
7892
+ "macro": "Mosaic",
7893
+ "part": "image",
7892
7894
  "props": {}
7895
+ },
7896
+ "accessibility": {
7897
+ "hidden": true
7893
7898
  }
7894
7899
  }
7895
7900
  ],
7896
7901
  "style": {
7897
- "display": "flex",
7898
- "flexDirection": "row",
7899
- "alignItems": "center",
7900
- "gap": "$spacing.sm",
7901
- "minHeight": "$control.row",
7902
- "paddingHorizontal": "$spacing.sm",
7903
- "borderRadius": "$radius.md"
7902
+ "position": "relative",
7903
+ "overflow": "hidden",
7904
+ "minWidth": 0,
7905
+ "minHeight": 0,
7906
+ "cursor": "pointer",
7907
+ "flexGrow": 0,
7908
+ "flexShrink": 0,
7909
+ "flexBasis": "60%",
7910
+ "height": "100%"
7904
7911
  },
7905
7912
  "recipe": {
7906
- "macro": "Collapsible",
7907
- "part": "trigger",
7913
+ "macro": "Mosaic",
7914
+ "part": "lead",
7908
7915
  "props": {
7909
- "open": false
7916
+ "size": "large"
7910
7917
  }
7911
7918
  },
7912
7919
  "accessibility": {
7913
7920
  "role": "button",
7914
- "expanded": false
7921
+ "label": "Editor"
7915
7922
  }
7916
- }
7917
- ],
7918
- "style": {
7919
- "display": "flex",
7920
- "flexDirection": "column",
7921
- "gap": "$spacing.xs"
7922
- },
7923
- "recipe": {
7924
- "macro": "Collapsible",
7925
- "part": "root",
7926
- "props": {}
7927
- }
7928
- }
7929
- },
7930
- {
7931
- "name": "Collapsible/open=true",
7932
- "input": {
7933
- "id": "collapsible",
7934
- "component": "Collapsible",
7935
- "props": {
7936
- "title": "Advanced",
7937
- "open": true
7938
- },
7939
- "children": [
7940
- {
7941
- "id": "collapsible-child",
7942
- "component": "Text",
7943
- "props": {
7944
- "text": "Child"
7945
- }
7946
- }
7947
- ]
7948
- },
7949
- "expected": {
7950
- "id": "collapsible",
7951
- "component": "Box",
7952
- "props": {},
7953
- "children": [
7923
+ },
7954
7924
  {
7955
- "id": "collapsible.trigger",
7925
+ "id": "mosaic.side",
7956
7926
  "component": "Box",
7957
- "props": {
7958
- "pressable": true
7959
- },
7927
+ "props": {},
7960
7928
  "children": [
7961
7929
  {
7962
- "id": "collapsible.trigger.chevron",
7963
- "component": "Icon",
7930
+ "id": "mosaic.side.top",
7931
+ "component": "Box",
7964
7932
  "props": {
7965
- "name": "ui-chevron-right",
7966
- "size": "sm",
7967
- "tone": "neutral"
7933
+ "pressable": true
7934
+ },
7935
+ "children": [
7936
+ {
7937
+ "id": "mosaic.side.top.image",
7938
+ "component": "Image",
7939
+ "props": {
7940
+ "src": "https://example.com/preview.png",
7941
+ "alt": "Preview",
7942
+ "fit": "cover"
7943
+ },
7944
+ "children": [],
7945
+ "style": {
7946
+ "position": "absolute",
7947
+ "inset": 0,
7948
+ "width": "100%",
7949
+ "height": "100%"
7950
+ },
7951
+ "recipe": {
7952
+ "macro": "Mosaic",
7953
+ "part": "image",
7954
+ "props": {}
7955
+ },
7956
+ "accessibility": {
7957
+ "hidden": true
7958
+ }
7959
+ }
7960
+ ],
7961
+ "style": {
7962
+ "position": "relative",
7963
+ "overflow": "hidden",
7964
+ "minWidth": 0,
7965
+ "minHeight": 0,
7966
+ "cursor": "pointer",
7967
+ "flexGrow": 1,
7968
+ "flexShrink": 1,
7969
+ "flexBasis": 0,
7970
+ "width": "100%"
7968
7971
  },
7969
- "children": [],
7970
7972
  "recipe": {
7971
- "macro": "Collapsible",
7972
- "part": "chevron",
7973
+ "macro": "Mosaic",
7974
+ "part": "top",
7973
7975
  "props": {
7974
- "open": true
7976
+ "size": "small"
7975
7977
  }
7978
+ },
7979
+ "accessibility": {
7980
+ "role": "button",
7981
+ "label": "Preview"
7976
7982
  }
7977
7983
  },
7978
7984
  {
7979
- "id": "collapsible.trigger.title",
7980
- "component": "Text",
7985
+ "id": "mosaic.side.bottom",
7986
+ "component": "Box",
7981
7987
  "props": {
7982
- "text": "Advanced",
7983
- "variant": "label",
7984
- "lines": 1
7988
+ "pressable": true
7985
7989
  },
7986
- "children": [],
7990
+ "children": [
7991
+ {
7992
+ "id": "mosaic.side.bottom.image",
7993
+ "component": "Image",
7994
+ "props": {
7995
+ "src": "https://example.com/data.png",
7996
+ "alt": "Data",
7997
+ "fit": "cover"
7998
+ },
7999
+ "children": [],
8000
+ "style": {
8001
+ "position": "absolute",
8002
+ "inset": 0,
8003
+ "width": "100%",
8004
+ "height": "100%"
8005
+ },
8006
+ "recipe": {
8007
+ "macro": "Mosaic",
8008
+ "part": "image",
8009
+ "props": {}
8010
+ },
8011
+ "accessibility": {
8012
+ "hidden": true
8013
+ }
8014
+ },
8015
+ {
8016
+ "id": "mosaic.side.bottom.more",
8017
+ "component": "Box",
8018
+ "props": {},
8019
+ "children": [
8020
+ {
8021
+ "id": "mosaic.side.bottom.more.moreLabel",
8022
+ "component": "Text",
8023
+ "props": {
8024
+ "text": {
8025
+ "call": "fill",
8026
+ "args": {
8027
+ "template": "$string.morePictures",
8028
+ "params": {
8029
+ "count": 1
8030
+ }
8031
+ }
8032
+ },
8033
+ "lines": 1
8034
+ },
8035
+ "children": [],
8036
+ "recipe": {
8037
+ "macro": "Mosaic",
8038
+ "part": "moreLabel",
8039
+ "props": {}
8040
+ }
8041
+ }
8042
+ ],
8043
+ "style": {
8044
+ "position": "absolute",
8045
+ "inset": 0,
8046
+ "display": "flex",
8047
+ "alignItems": "center",
8048
+ "justifyContent": "center"
8049
+ },
8050
+ "recipe": {
8051
+ "macro": "Mosaic",
8052
+ "part": "more",
8053
+ "props": {}
8054
+ },
8055
+ "accessibility": {
8056
+ "hidden": true
8057
+ }
8058
+ }
8059
+ ],
7987
8060
  "style": {
8061
+ "position": "relative",
8062
+ "overflow": "hidden",
8063
+ "minWidth": 0,
8064
+ "minHeight": 0,
8065
+ "cursor": "pointer",
7988
8066
  "flexGrow": 1,
7989
- "minWidth": 0
8067
+ "flexShrink": 1,
8068
+ "flexBasis": 0,
8069
+ "width": "100%"
7990
8070
  },
7991
8071
  "recipe": {
7992
- "macro": "Collapsible",
7993
- "part": "title",
7994
- "props": {}
7995
- }
7996
- }
7997
- ],
7998
- "style": {
7999
- "display": "flex",
8000
- "flexDirection": "row",
8001
- "alignItems": "center",
8002
- "gap": "$spacing.sm",
8003
- "minHeight": "$control.row",
8004
- "paddingHorizontal": "$spacing.sm",
8005
- "borderRadius": "$radius.md"
8006
- },
8007
- "recipe": {
8008
- "macro": "Collapsible",
8009
- "part": "trigger",
8010
- "props": {
8011
- "open": true
8012
- }
8013
- },
8014
- "accessibility": {
8015
- "role": "button",
8016
- "expanded": true
8017
- }
8018
- },
8019
- {
8020
- "id": "collapsible.body",
8021
- "component": "Box",
8022
- "props": {},
8023
- "children": [
8024
- {
8025
- "id": "collapsible-child",
8026
- "component": "Text",
8027
- "props": {
8028
- "text": "Child"
8072
+ "macro": "Mosaic",
8073
+ "part": "bottom",
8074
+ "props": {
8075
+ "size": "small"
8076
+ }
8029
8077
  },
8030
- "children": []
8078
+ "accessibility": {
8079
+ "role": "button",
8080
+ "label": {
8081
+ "call": "fill",
8082
+ "args": {
8083
+ "template": "$string.morePicturesLabel",
8084
+ "params": {
8085
+ "alt": "Data",
8086
+ "count": 1
8087
+ }
8088
+ }
8089
+ }
8090
+ }
8031
8091
  }
8032
8092
  ],
8033
8093
  "style": {
8034
8094
  "display": "flex",
8035
8095
  "flexDirection": "column",
8036
- "gap": "$spacing.md",
8037
- "paddingHorizontal": "$spacing.sm"
8096
+ "flexGrow": 1,
8097
+ "flexShrink": 1,
8098
+ "flexBasis": 0,
8099
+ "minWidth": 0,
8100
+ "height": "100%"
8038
8101
  },
8039
8102
  "recipe": {
8040
- "macro": "Collapsible",
8041
- "part": "body",
8103
+ "macro": "Mosaic",
8104
+ "part": "side",
8042
8105
  "props": {}
8043
8106
  }
8044
8107
  }
8045
8108
  ],
8046
8109
  "style": {
8047
8110
  "display": "flex",
8048
- "flexDirection": "column",
8049
- "gap": "$spacing.xs"
8111
+ "flexDirection": "row",
8112
+ "width": "100%",
8113
+ "aspectRatio": 1.6,
8114
+ "minWidth": 0
8050
8115
  },
8051
8116
  "recipe": {
8052
- "macro": "Collapsible",
8117
+ "macro": "Mosaic",
8053
8118
  "part": "root",
8054
8119
  "props": {}
8120
+ },
8121
+ "accessibility": {
8122
+ "role": "group"
8055
8123
  }
8056
8124
  }
8057
8125
  },
8058
8126
  {
8059
- "name": "Collapsible/open=false",
8127
+ "name": "Collapsible/example",
8128
+ "input": {
8129
+ "id": "collapsible",
8130
+ "component": "Collapsible",
8131
+ "props": {
8132
+ "title": "Advanced",
8133
+ "open": false
8134
+ },
8135
+ "children": [
8136
+ {
8137
+ "id": "collapsible-child",
8138
+ "component": "Text",
8139
+ "props": {
8140
+ "text": "Child"
8141
+ }
8142
+ }
8143
+ ]
8144
+ },
8145
+ "expected": {
8146
+ "id": "collapsible",
8147
+ "component": "Box",
8148
+ "props": {},
8149
+ "children": [
8150
+ {
8151
+ "id": "collapsible.trigger",
8152
+ "component": "Box",
8153
+ "props": {
8154
+ "pressable": true
8155
+ },
8156
+ "children": [
8157
+ {
8158
+ "id": "collapsible.trigger.chevron",
8159
+ "component": "Icon",
8160
+ "props": {
8161
+ "name": "ui-chevron-right",
8162
+ "size": "sm",
8163
+ "tone": "neutral"
8164
+ },
8165
+ "children": [],
8166
+ "recipe": {
8167
+ "macro": "Collapsible",
8168
+ "part": "chevron",
8169
+ "props": {
8170
+ "open": false
8171
+ }
8172
+ }
8173
+ },
8174
+ {
8175
+ "id": "collapsible.trigger.title",
8176
+ "component": "Text",
8177
+ "props": {
8178
+ "text": "Advanced",
8179
+ "variant": "label",
8180
+ "lines": 1
8181
+ },
8182
+ "children": [],
8183
+ "style": {
8184
+ "flexGrow": 1,
8185
+ "minWidth": 0
8186
+ },
8187
+ "recipe": {
8188
+ "macro": "Collapsible",
8189
+ "part": "title",
8190
+ "props": {}
8191
+ }
8192
+ }
8193
+ ],
8194
+ "style": {
8195
+ "display": "flex",
8196
+ "flexDirection": "row",
8197
+ "alignItems": "center",
8198
+ "gap": "$spacing.sm",
8199
+ "minHeight": "$control.row",
8200
+ "paddingHorizontal": "$spacing.sm",
8201
+ "borderRadius": "$radius.md"
8202
+ },
8203
+ "recipe": {
8204
+ "macro": "Collapsible",
8205
+ "part": "trigger",
8206
+ "props": {
8207
+ "open": false
8208
+ }
8209
+ },
8210
+ "accessibility": {
8211
+ "role": "button",
8212
+ "expanded": false
8213
+ }
8214
+ }
8215
+ ],
8216
+ "style": {
8217
+ "display": "flex",
8218
+ "flexDirection": "column",
8219
+ "gap": "$spacing.xs"
8220
+ },
8221
+ "recipe": {
8222
+ "macro": "Collapsible",
8223
+ "part": "root",
8224
+ "props": {}
8225
+ }
8226
+ }
8227
+ },
8228
+ {
8229
+ "name": "Collapsible/open=true",
8230
+ "input": {
8231
+ "id": "collapsible",
8232
+ "component": "Collapsible",
8233
+ "props": {
8234
+ "title": "Advanced",
8235
+ "open": true
8236
+ },
8237
+ "children": [
8238
+ {
8239
+ "id": "collapsible-child",
8240
+ "component": "Text",
8241
+ "props": {
8242
+ "text": "Child"
8243
+ }
8244
+ }
8245
+ ]
8246
+ },
8247
+ "expected": {
8248
+ "id": "collapsible",
8249
+ "component": "Box",
8250
+ "props": {},
8251
+ "children": [
8252
+ {
8253
+ "id": "collapsible.trigger",
8254
+ "component": "Box",
8255
+ "props": {
8256
+ "pressable": true
8257
+ },
8258
+ "children": [
8259
+ {
8260
+ "id": "collapsible.trigger.chevron",
8261
+ "component": "Icon",
8262
+ "props": {
8263
+ "name": "ui-chevron-right",
8264
+ "size": "sm",
8265
+ "tone": "neutral"
8266
+ },
8267
+ "children": [],
8268
+ "recipe": {
8269
+ "macro": "Collapsible",
8270
+ "part": "chevron",
8271
+ "props": {
8272
+ "open": true
8273
+ }
8274
+ }
8275
+ },
8276
+ {
8277
+ "id": "collapsible.trigger.title",
8278
+ "component": "Text",
8279
+ "props": {
8280
+ "text": "Advanced",
8281
+ "variant": "label",
8282
+ "lines": 1
8283
+ },
8284
+ "children": [],
8285
+ "style": {
8286
+ "flexGrow": 1,
8287
+ "minWidth": 0
8288
+ },
8289
+ "recipe": {
8290
+ "macro": "Collapsible",
8291
+ "part": "title",
8292
+ "props": {}
8293
+ }
8294
+ }
8295
+ ],
8296
+ "style": {
8297
+ "display": "flex",
8298
+ "flexDirection": "row",
8299
+ "alignItems": "center",
8300
+ "gap": "$spacing.sm",
8301
+ "minHeight": "$control.row",
8302
+ "paddingHorizontal": "$spacing.sm",
8303
+ "borderRadius": "$radius.md"
8304
+ },
8305
+ "recipe": {
8306
+ "macro": "Collapsible",
8307
+ "part": "trigger",
8308
+ "props": {
8309
+ "open": true
8310
+ }
8311
+ },
8312
+ "accessibility": {
8313
+ "role": "button",
8314
+ "expanded": true
8315
+ }
8316
+ },
8317
+ {
8318
+ "id": "collapsible.body",
8319
+ "component": "Box",
8320
+ "props": {},
8321
+ "children": [
8322
+ {
8323
+ "id": "collapsible-child",
8324
+ "component": "Text",
8325
+ "props": {
8326
+ "text": "Child"
8327
+ },
8328
+ "children": []
8329
+ }
8330
+ ],
8331
+ "style": {
8332
+ "display": "flex",
8333
+ "flexDirection": "column",
8334
+ "gap": "$spacing.md",
8335
+ "paddingHorizontal": "$spacing.sm"
8336
+ },
8337
+ "recipe": {
8338
+ "macro": "Collapsible",
8339
+ "part": "body",
8340
+ "props": {}
8341
+ }
8342
+ }
8343
+ ],
8344
+ "style": {
8345
+ "display": "flex",
8346
+ "flexDirection": "column",
8347
+ "gap": "$spacing.xs"
8348
+ },
8349
+ "recipe": {
8350
+ "macro": "Collapsible",
8351
+ "part": "root",
8352
+ "props": {}
8353
+ }
8354
+ }
8355
+ },
8356
+ {
8357
+ "name": "Collapsible/open=false",
8060
8358
  "input": {
8061
8359
  "id": "collapsible",
8062
8360
  "component": "Collapsible",
@@ -13492,6 +13790,319 @@
13492
13790
  }
13493
13791
  }
13494
13792
  },
13793
+ {
13794
+ "name": "Outline/example",
13795
+ "input": {
13796
+ "id": "outline",
13797
+ "component": "Outline",
13798
+ "props": {
13799
+ "caption": "Outline",
13800
+ "value": "part-a",
13801
+ "items": [
13802
+ {
13803
+ "id": "current",
13804
+ "title": "Current state"
13805
+ },
13806
+ {
13807
+ "id": "part-a",
13808
+ "title": "Part A: editor-first creation",
13809
+ "count": 5
13810
+ },
13811
+ {
13812
+ "id": "part-b",
13813
+ "title": "Part B: MCP for eApps",
13814
+ "count": 2
13815
+ }
13816
+ ]
13817
+ }
13818
+ },
13819
+ "expected": {
13820
+ "id": "outline",
13821
+ "component": "Box",
13822
+ "props": {},
13823
+ "children": [
13824
+ {
13825
+ "id": "outline.caption",
13826
+ "component": "Text",
13827
+ "props": {
13828
+ "text": "Outline",
13829
+ "variant": "caption",
13830
+ "lines": 1
13831
+ },
13832
+ "children": [],
13833
+ "recipe": {
13834
+ "macro": "Outline",
13835
+ "part": "caption",
13836
+ "props": {}
13837
+ },
13838
+ "accessibility": {
13839
+ "hidden": true
13840
+ }
13841
+ },
13842
+ {
13843
+ "id": "outline.row.0",
13844
+ "component": "Box",
13845
+ "props": {
13846
+ "pressable": true
13847
+ },
13848
+ "children": [
13849
+ {
13850
+ "id": "outline.row.0.title",
13851
+ "component": "Text",
13852
+ "props": {
13853
+ "text": "Current state",
13854
+ "lines": 1
13855
+ },
13856
+ "children": [],
13857
+ "style": {
13858
+ "flexGrow": 1,
13859
+ "flexShrink": 1,
13860
+ "flexBasis": 0,
13861
+ "minWidth": 0
13862
+ },
13863
+ "recipe": {
13864
+ "macro": "Outline",
13865
+ "part": "title",
13866
+ "props": {
13867
+ "active": false
13868
+ }
13869
+ }
13870
+ }
13871
+ ],
13872
+ "style": {
13873
+ "display": "flex",
13874
+ "flexDirection": "row",
13875
+ "alignItems": "center",
13876
+ "gap": "$spacing.xs",
13877
+ "position": "relative",
13878
+ "height": "$control.rowCompact",
13879
+ "paddingHorizontal": "$spacing.sm",
13880
+ "minWidth": 0,
13881
+ "overflow": "hidden",
13882
+ "cursor": "pointer"
13883
+ },
13884
+ "recipe": {
13885
+ "macro": "Outline",
13886
+ "part": "row",
13887
+ "props": {
13888
+ "active": false
13889
+ }
13890
+ },
13891
+ "accessibility": {
13892
+ "role": "link",
13893
+ "label": "Current state",
13894
+ "current": false
13895
+ }
13896
+ },
13897
+ {
13898
+ "id": "outline.row.1",
13899
+ "component": "Box",
13900
+ "props": {
13901
+ "pressable": true
13902
+ },
13903
+ "children": [
13904
+ {
13905
+ "id": "outline.row.1.bar",
13906
+ "component": "Box",
13907
+ "props": {},
13908
+ "children": [],
13909
+ "style": {
13910
+ "position": "absolute",
13911
+ "insetInlineStart": 0,
13912
+ "top": 0,
13913
+ "bottom": 0,
13914
+ "width": 2
13915
+ },
13916
+ "recipe": {
13917
+ "macro": "Outline",
13918
+ "part": "bar",
13919
+ "props": {}
13920
+ },
13921
+ "accessibility": {
13922
+ "hidden": true
13923
+ }
13924
+ },
13925
+ {
13926
+ "id": "outline.row.1.title",
13927
+ "component": "Text",
13928
+ "props": {
13929
+ "text": "Part A: editor-first creation",
13930
+ "lines": 1
13931
+ },
13932
+ "children": [],
13933
+ "style": {
13934
+ "flexGrow": 1,
13935
+ "flexShrink": 1,
13936
+ "flexBasis": 0,
13937
+ "minWidth": 0
13938
+ },
13939
+ "recipe": {
13940
+ "macro": "Outline",
13941
+ "part": "title",
13942
+ "props": {
13943
+ "active": true
13944
+ }
13945
+ }
13946
+ },
13947
+ {
13948
+ "id": "outline.row.1.count",
13949
+ "component": "Text",
13950
+ "props": {
13951
+ "text": "· 5",
13952
+ "variant": "caption",
13953
+ "lines": 1
13954
+ },
13955
+ "children": [],
13956
+ "style": {
13957
+ "flexShrink": 0
13958
+ },
13959
+ "recipe": {
13960
+ "macro": "Outline",
13961
+ "part": "count",
13962
+ "props": {}
13963
+ },
13964
+ "accessibility": {
13965
+ "hidden": true
13966
+ }
13967
+ }
13968
+ ],
13969
+ "style": {
13970
+ "display": "flex",
13971
+ "flexDirection": "row",
13972
+ "alignItems": "center",
13973
+ "gap": "$spacing.xs",
13974
+ "position": "relative",
13975
+ "height": "$control.rowCompact",
13976
+ "paddingHorizontal": "$spacing.sm",
13977
+ "minWidth": 0,
13978
+ "overflow": "hidden",
13979
+ "cursor": "pointer"
13980
+ },
13981
+ "recipe": {
13982
+ "macro": "Outline",
13983
+ "part": "row",
13984
+ "props": {
13985
+ "active": true
13986
+ }
13987
+ },
13988
+ "accessibility": {
13989
+ "role": "link",
13990
+ "label": {
13991
+ "call": "fill",
13992
+ "args": {
13993
+ "template": "$string.outlineRow",
13994
+ "params": {
13995
+ "title": "Part A: editor-first creation",
13996
+ "count": 5
13997
+ }
13998
+ }
13999
+ },
14000
+ "current": "location"
14001
+ }
14002
+ },
14003
+ {
14004
+ "id": "outline.row.2",
14005
+ "component": "Box",
14006
+ "props": {
14007
+ "pressable": true
14008
+ },
14009
+ "children": [
14010
+ {
14011
+ "id": "outline.row.2.title",
14012
+ "component": "Text",
14013
+ "props": {
14014
+ "text": "Part B: MCP for eApps",
14015
+ "lines": 1
14016
+ },
14017
+ "children": [],
14018
+ "style": {
14019
+ "flexGrow": 1,
14020
+ "flexShrink": 1,
14021
+ "flexBasis": 0,
14022
+ "minWidth": 0
14023
+ },
14024
+ "recipe": {
14025
+ "macro": "Outline",
14026
+ "part": "title",
14027
+ "props": {
14028
+ "active": false
14029
+ }
14030
+ }
14031
+ },
14032
+ {
14033
+ "id": "outline.row.2.count",
14034
+ "component": "Text",
14035
+ "props": {
14036
+ "text": "· 2",
14037
+ "variant": "caption",
14038
+ "lines": 1
14039
+ },
14040
+ "children": [],
14041
+ "style": {
14042
+ "flexShrink": 0
14043
+ },
14044
+ "recipe": {
14045
+ "macro": "Outline",
14046
+ "part": "count",
14047
+ "props": {}
14048
+ },
14049
+ "accessibility": {
14050
+ "hidden": true
14051
+ }
14052
+ }
14053
+ ],
14054
+ "style": {
14055
+ "display": "flex",
14056
+ "flexDirection": "row",
14057
+ "alignItems": "center",
14058
+ "gap": "$spacing.xs",
14059
+ "position": "relative",
14060
+ "height": "$control.rowCompact",
14061
+ "paddingHorizontal": "$spacing.sm",
14062
+ "minWidth": 0,
14063
+ "overflow": "hidden",
14064
+ "cursor": "pointer"
14065
+ },
14066
+ "recipe": {
14067
+ "macro": "Outline",
14068
+ "part": "row",
14069
+ "props": {
14070
+ "active": false
14071
+ }
14072
+ },
14073
+ "accessibility": {
14074
+ "role": "link",
14075
+ "label": {
14076
+ "call": "fill",
14077
+ "args": {
14078
+ "template": "$string.outlineRow",
14079
+ "params": {
14080
+ "title": "Part B: MCP for eApps",
14081
+ "count": 2
14082
+ }
14083
+ }
14084
+ },
14085
+ "current": false
14086
+ }
14087
+ }
14088
+ ],
14089
+ "style": {
14090
+ "display": "flex",
14091
+ "flexDirection": "column",
14092
+ "gap": "$spacing.xxs",
14093
+ "minWidth": 0
14094
+ },
14095
+ "recipe": {
14096
+ "macro": "Outline",
14097
+ "part": "root",
14098
+ "props": {}
14099
+ },
14100
+ "accessibility": {
14101
+ "role": "navigation",
14102
+ "label": "Outline"
14103
+ }
14104
+ }
14105
+ },
13495
14106
  {
13496
14107
  "name": "Stepper/example",
13497
14108
  "input": {
@@ -32536,6 +33147,7 @@
32536
33147
  "display": "flex",
32537
33148
  "flexDirection": "row",
32538
33149
  "alignItems": "stretch",
33150
+ "gap": "$spacing.lg",
32539
33151
  "width": "100%",
32540
33152
  "minHeight": 0
32541
33153
  },
@@ -37335,6 +37947,516 @@
37335
37947
  }
37336
37948
  }
37337
37949
  },
37950
+ {
37951
+ "name": "Outline/bound:value",
37952
+ "input": {
37953
+ "id": "outline",
37954
+ "component": "Outline",
37955
+ "props": {
37956
+ "caption": "Outline",
37957
+ "value": {
37958
+ "path": "/value"
37959
+ },
37960
+ "items": [
37961
+ {
37962
+ "id": "current",
37963
+ "title": "Current state"
37964
+ },
37965
+ {
37966
+ "id": "part-a",
37967
+ "title": "Part A: editor-first creation",
37968
+ "count": 5
37969
+ },
37970
+ {
37971
+ "id": "part-b",
37972
+ "title": "Part B: MCP for eApps",
37973
+ "count": 2
37974
+ }
37975
+ ]
37976
+ }
37977
+ },
37978
+ "expected": {
37979
+ "id": "outline",
37980
+ "component": "Box",
37981
+ "props": {},
37982
+ "children": [
37983
+ {
37984
+ "id": "outline.caption",
37985
+ "component": "Text",
37986
+ "props": {
37987
+ "text": "Outline",
37988
+ "variant": "caption",
37989
+ "lines": 1
37990
+ },
37991
+ "children": [],
37992
+ "recipe": {
37993
+ "macro": "Outline",
37994
+ "part": "caption",
37995
+ "props": {}
37996
+ },
37997
+ "accessibility": {
37998
+ "hidden": true
37999
+ }
38000
+ },
38001
+ {
38002
+ "id": "outline.row.0",
38003
+ "component": "Box",
38004
+ "props": {
38005
+ "pressable": true
38006
+ },
38007
+ "children": [
38008
+ {
38009
+ "id": "outline.row.0.bar",
38010
+ "component": "Box",
38011
+ "props": {},
38012
+ "children": [],
38013
+ "style": {
38014
+ "position": "absolute",
38015
+ "insetInlineStart": 0,
38016
+ "top": 0,
38017
+ "bottom": 0,
38018
+ "width": 2
38019
+ },
38020
+ "visible": {
38021
+ "call": "eq",
38022
+ "args": {
38023
+ "a": "current",
38024
+ "b": {
38025
+ "path": "/value"
38026
+ }
38027
+ }
38028
+ },
38029
+ "recipe": {
38030
+ "macro": "Outline",
38031
+ "part": "bar",
38032
+ "props": {}
38033
+ },
38034
+ "accessibility": {
38035
+ "hidden": true
38036
+ }
38037
+ },
38038
+ {
38039
+ "id": "outline.row.0.title",
38040
+ "component": "Text",
38041
+ "props": {
38042
+ "text": "Current state",
38043
+ "lines": 1
38044
+ },
38045
+ "children": [],
38046
+ "style": {
38047
+ "flexGrow": 1,
38048
+ "flexShrink": 1,
38049
+ "flexBasis": 0,
38050
+ "minWidth": 0
38051
+ },
38052
+ "recipe": {
38053
+ "macro": "Outline",
38054
+ "part": "title",
38055
+ "props": {
38056
+ "active": {
38057
+ "call": "eq",
38058
+ "args": {
38059
+ "a": "current",
38060
+ "b": {
38061
+ "path": "/value"
38062
+ }
38063
+ }
38064
+ }
38065
+ }
38066
+ }
38067
+ }
38068
+ ],
38069
+ "style": {
38070
+ "display": "flex",
38071
+ "flexDirection": "row",
38072
+ "alignItems": "center",
38073
+ "gap": "$spacing.xs",
38074
+ "position": "relative",
38075
+ "height": "$control.rowCompact",
38076
+ "paddingHorizontal": "$spacing.sm",
38077
+ "minWidth": 0,
38078
+ "overflow": "hidden",
38079
+ "cursor": "pointer"
38080
+ },
38081
+ "recipe": {
38082
+ "macro": "Outline",
38083
+ "part": "row",
38084
+ "props": {
38085
+ "active": {
38086
+ "call": "eq",
38087
+ "args": {
38088
+ "a": "current",
38089
+ "b": {
38090
+ "path": "/value"
38091
+ }
38092
+ }
38093
+ }
38094
+ }
38095
+ },
38096
+ "on": {
38097
+ "press": {
38098
+ "functionCall": {
38099
+ "call": "set",
38100
+ "args": {
38101
+ "path": "/value",
38102
+ "value": "current"
38103
+ }
38104
+ }
38105
+ }
38106
+ },
38107
+ "accessibility": {
38108
+ "role": "link",
38109
+ "label": "Current state",
38110
+ "current": {
38111
+ "call": "cond",
38112
+ "args": {
38113
+ "if": {
38114
+ "call": "eq",
38115
+ "args": {
38116
+ "a": "current",
38117
+ "b": {
38118
+ "path": "/value"
38119
+ }
38120
+ }
38121
+ },
38122
+ "then": "location",
38123
+ "else": false
38124
+ }
38125
+ }
38126
+ }
38127
+ },
38128
+ {
38129
+ "id": "outline.row.1",
38130
+ "component": "Box",
38131
+ "props": {
38132
+ "pressable": true
38133
+ },
38134
+ "children": [
38135
+ {
38136
+ "id": "outline.row.1.bar",
38137
+ "component": "Box",
38138
+ "props": {},
38139
+ "children": [],
38140
+ "style": {
38141
+ "position": "absolute",
38142
+ "insetInlineStart": 0,
38143
+ "top": 0,
38144
+ "bottom": 0,
38145
+ "width": 2
38146
+ },
38147
+ "visible": {
38148
+ "call": "eq",
38149
+ "args": {
38150
+ "a": "part-a",
38151
+ "b": {
38152
+ "path": "/value"
38153
+ }
38154
+ }
38155
+ },
38156
+ "recipe": {
38157
+ "macro": "Outline",
38158
+ "part": "bar",
38159
+ "props": {}
38160
+ },
38161
+ "accessibility": {
38162
+ "hidden": true
38163
+ }
38164
+ },
38165
+ {
38166
+ "id": "outline.row.1.title",
38167
+ "component": "Text",
38168
+ "props": {
38169
+ "text": "Part A: editor-first creation",
38170
+ "lines": 1
38171
+ },
38172
+ "children": [],
38173
+ "style": {
38174
+ "flexGrow": 1,
38175
+ "flexShrink": 1,
38176
+ "flexBasis": 0,
38177
+ "minWidth": 0
38178
+ },
38179
+ "recipe": {
38180
+ "macro": "Outline",
38181
+ "part": "title",
38182
+ "props": {
38183
+ "active": {
38184
+ "call": "eq",
38185
+ "args": {
38186
+ "a": "part-a",
38187
+ "b": {
38188
+ "path": "/value"
38189
+ }
38190
+ }
38191
+ }
38192
+ }
38193
+ }
38194
+ },
38195
+ {
38196
+ "id": "outline.row.1.count",
38197
+ "component": "Text",
38198
+ "props": {
38199
+ "text": "· 5",
38200
+ "variant": "caption",
38201
+ "lines": 1
38202
+ },
38203
+ "children": [],
38204
+ "style": {
38205
+ "flexShrink": 0
38206
+ },
38207
+ "recipe": {
38208
+ "macro": "Outline",
38209
+ "part": "count",
38210
+ "props": {}
38211
+ },
38212
+ "accessibility": {
38213
+ "hidden": true
38214
+ }
38215
+ }
38216
+ ],
38217
+ "style": {
38218
+ "display": "flex",
38219
+ "flexDirection": "row",
38220
+ "alignItems": "center",
38221
+ "gap": "$spacing.xs",
38222
+ "position": "relative",
38223
+ "height": "$control.rowCompact",
38224
+ "paddingHorizontal": "$spacing.sm",
38225
+ "minWidth": 0,
38226
+ "overflow": "hidden",
38227
+ "cursor": "pointer"
38228
+ },
38229
+ "recipe": {
38230
+ "macro": "Outline",
38231
+ "part": "row",
38232
+ "props": {
38233
+ "active": {
38234
+ "call": "eq",
38235
+ "args": {
38236
+ "a": "part-a",
38237
+ "b": {
38238
+ "path": "/value"
38239
+ }
38240
+ }
38241
+ }
38242
+ }
38243
+ },
38244
+ "on": {
38245
+ "press": {
38246
+ "functionCall": {
38247
+ "call": "set",
38248
+ "args": {
38249
+ "path": "/value",
38250
+ "value": "part-a"
38251
+ }
38252
+ }
38253
+ }
38254
+ },
38255
+ "accessibility": {
38256
+ "role": "link",
38257
+ "label": {
38258
+ "call": "fill",
38259
+ "args": {
38260
+ "template": "$string.outlineRow",
38261
+ "params": {
38262
+ "title": "Part A: editor-first creation",
38263
+ "count": 5
38264
+ }
38265
+ }
38266
+ },
38267
+ "current": {
38268
+ "call": "cond",
38269
+ "args": {
38270
+ "if": {
38271
+ "call": "eq",
38272
+ "args": {
38273
+ "a": "part-a",
38274
+ "b": {
38275
+ "path": "/value"
38276
+ }
38277
+ }
38278
+ },
38279
+ "then": "location",
38280
+ "else": false
38281
+ }
38282
+ }
38283
+ }
38284
+ },
38285
+ {
38286
+ "id": "outline.row.2",
38287
+ "component": "Box",
38288
+ "props": {
38289
+ "pressable": true
38290
+ },
38291
+ "children": [
38292
+ {
38293
+ "id": "outline.row.2.bar",
38294
+ "component": "Box",
38295
+ "props": {},
38296
+ "children": [],
38297
+ "style": {
38298
+ "position": "absolute",
38299
+ "insetInlineStart": 0,
38300
+ "top": 0,
38301
+ "bottom": 0,
38302
+ "width": 2
38303
+ },
38304
+ "visible": {
38305
+ "call": "eq",
38306
+ "args": {
38307
+ "a": "part-b",
38308
+ "b": {
38309
+ "path": "/value"
38310
+ }
38311
+ }
38312
+ },
38313
+ "recipe": {
38314
+ "macro": "Outline",
38315
+ "part": "bar",
38316
+ "props": {}
38317
+ },
38318
+ "accessibility": {
38319
+ "hidden": true
38320
+ }
38321
+ },
38322
+ {
38323
+ "id": "outline.row.2.title",
38324
+ "component": "Text",
38325
+ "props": {
38326
+ "text": "Part B: MCP for eApps",
38327
+ "lines": 1
38328
+ },
38329
+ "children": [],
38330
+ "style": {
38331
+ "flexGrow": 1,
38332
+ "flexShrink": 1,
38333
+ "flexBasis": 0,
38334
+ "minWidth": 0
38335
+ },
38336
+ "recipe": {
38337
+ "macro": "Outline",
38338
+ "part": "title",
38339
+ "props": {
38340
+ "active": {
38341
+ "call": "eq",
38342
+ "args": {
38343
+ "a": "part-b",
38344
+ "b": {
38345
+ "path": "/value"
38346
+ }
38347
+ }
38348
+ }
38349
+ }
38350
+ }
38351
+ },
38352
+ {
38353
+ "id": "outline.row.2.count",
38354
+ "component": "Text",
38355
+ "props": {
38356
+ "text": "· 2",
38357
+ "variant": "caption",
38358
+ "lines": 1
38359
+ },
38360
+ "children": [],
38361
+ "style": {
38362
+ "flexShrink": 0
38363
+ },
38364
+ "recipe": {
38365
+ "macro": "Outline",
38366
+ "part": "count",
38367
+ "props": {}
38368
+ },
38369
+ "accessibility": {
38370
+ "hidden": true
38371
+ }
38372
+ }
38373
+ ],
38374
+ "style": {
38375
+ "display": "flex",
38376
+ "flexDirection": "row",
38377
+ "alignItems": "center",
38378
+ "gap": "$spacing.xs",
38379
+ "position": "relative",
38380
+ "height": "$control.rowCompact",
38381
+ "paddingHorizontal": "$spacing.sm",
38382
+ "minWidth": 0,
38383
+ "overflow": "hidden",
38384
+ "cursor": "pointer"
38385
+ },
38386
+ "recipe": {
38387
+ "macro": "Outline",
38388
+ "part": "row",
38389
+ "props": {
38390
+ "active": {
38391
+ "call": "eq",
38392
+ "args": {
38393
+ "a": "part-b",
38394
+ "b": {
38395
+ "path": "/value"
38396
+ }
38397
+ }
38398
+ }
38399
+ }
38400
+ },
38401
+ "on": {
38402
+ "press": {
38403
+ "functionCall": {
38404
+ "call": "set",
38405
+ "args": {
38406
+ "path": "/value",
38407
+ "value": "part-b"
38408
+ }
38409
+ }
38410
+ }
38411
+ },
38412
+ "accessibility": {
38413
+ "role": "link",
38414
+ "label": {
38415
+ "call": "fill",
38416
+ "args": {
38417
+ "template": "$string.outlineRow",
38418
+ "params": {
38419
+ "title": "Part B: MCP for eApps",
38420
+ "count": 2
38421
+ }
38422
+ }
38423
+ },
38424
+ "current": {
38425
+ "call": "cond",
38426
+ "args": {
38427
+ "if": {
38428
+ "call": "eq",
38429
+ "args": {
38430
+ "a": "part-b",
38431
+ "b": {
38432
+ "path": "/value"
38433
+ }
38434
+ }
38435
+ },
38436
+ "then": "location",
38437
+ "else": false
38438
+ }
38439
+ }
38440
+ }
38441
+ }
38442
+ ],
38443
+ "style": {
38444
+ "display": "flex",
38445
+ "flexDirection": "column",
38446
+ "gap": "$spacing.xxs",
38447
+ "minWidth": 0
38448
+ },
38449
+ "recipe": {
38450
+ "macro": "Outline",
38451
+ "part": "root",
38452
+ "props": {}
38453
+ },
38454
+ "accessibility": {
38455
+ "role": "navigation",
38456
+ "label": "Outline"
38457
+ }
38458
+ }
38459
+ },
37338
38460
  {
37339
38461
  "name": "Stepper/bound:current",
37340
38462
  "input": {