@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
@@ -487,6 +487,44 @@
487
487
  "aspectRatio": 1.7777778
488
488
  }
489
489
  },
490
+ "ZoomableImage": {
491
+ "props": {
492
+ "src": {
493
+ "description": "The image URL."
494
+ },
495
+ "alt": {
496
+ "description": "The accessibility description."
497
+ },
498
+ "naturalWidth": {
499
+ "description": "Pixel width."
500
+ },
501
+ "naturalHeight": {
502
+ "description": "Pixel height."
503
+ },
504
+ "initial": {
505
+ "description": "auto = fitWidth when tall."
506
+ },
507
+ "maxScale": {
508
+ "description": "Largest zoom."
509
+ },
510
+ "controls": {
511
+ "description": "The zoom pill."
512
+ },
513
+ "scale": {
514
+ "description": "1 = 100%."
515
+ },
516
+ "style": {
517
+ "description": "Extra Box styles for the viewport."
518
+ }
519
+ },
520
+ "description": "A picture that zooms (pinch, ⌘-wheel, double-tap) and pans.",
521
+ "example": {
522
+ "src": "https://example.com/screenshot.png",
523
+ "alt": "Screenshot",
524
+ "naturalWidth": 1440,
525
+ "naturalHeight": 900
526
+ }
527
+ },
490
528
  "Icon": {
491
529
  "props": {
492
530
  "name": {
@@ -676,8 +714,8 @@
676
714
  "value": "issue"
677
715
  },
678
716
  {
679
- "label": "Run",
680
- "value": "run"
717
+ "label": "Session",
718
+ "value": "session"
681
719
  }
682
720
  ],
683
721
  "value": "issue"
@@ -1489,10 +1527,10 @@
1489
1527
  "description": "Row height class."
1490
1528
  },
1491
1529
  "stickyHeader": {
1492
- "description": "Keeps the header visible while the rows scroll."
1530
+ "description": "Pins the header while rows scroll."
1493
1531
  }
1494
1532
  },
1495
- "description": "A data table of typed columns: sorting, selection, widths, alignment, windowed; `slot` columns render components.",
1533
+ "description": "A table of typed columns: sorting, selection, widths, alignment, windowed; `slot` columns render components.",
1496
1534
  "example": {
1497
1535
  "columns": [
1498
1536
  {
@@ -2502,6 +2540,131 @@
2502
2540
  "example": {
2503
2541
  "component": "Gauge"
2504
2542
  }
2543
+ },
2544
+ "Motion": {
2545
+ "props": {
2546
+ "layers": {
2547
+ "description": "The animation, top layer first, in the composition's px (origin top-left). Layer: {type: shape|solid|null|precomp|text, id?, parent?: id, in?/out? ms, transform?: {anchor, position [x,y], scale [100,100] %, rotation deg clockwise, opacity 0–100}, shapes: […], matte?: {source: id, mode: alpha|luma}, masks?: [{path, mode: add|subtract|intersect}]}. Shapes draw top first; a style paints every shape before it in its group: rect {position (centre), size, radius}, ellipse {position, size}, star|polygon {points, outerRadius, innerRadius}, path {d: SVG path data}; fill {color}, stroke {color, width, cap, join, dash: [len, gap]}, gradient-fill {kind: linear|radial, start, end, stops: [[0, colour], [1, colour]]}; trim {start, end, offset} (percent, draw-on lines), repeater {copies, transform}, round-corners {radius}; group {shapes, transform}. Colours: $color.* tokens (follow light/dark), #hex, or {light, dark}. Animate any value: {keys: [{t: ms, v: value, ease: linear|ease-in|ease-out|ease-in-out|hold|[x1,y1,x2,y2]}, …]}; tokens cannot animate. Keep it small; loops end on their first pose. No expressions."
2548
+ },
2549
+ "size": {
2550
+ "description": "The composition [width, height] px (with layers)."
2551
+ },
2552
+ "duration": {
2553
+ "description": "Length in ms (with layers)."
2554
+ },
2555
+ "fps": {
2556
+ "description": "Frames per second."
2557
+ },
2558
+ "assets": {
2559
+ "description": "Precomps {id: {layers}}."
2560
+ },
2561
+ "markers": {
2562
+ "description": "Named segments [{name, time, duration}] ms."
2563
+ },
2564
+ "lottie": {
2565
+ "description": "Lottie JSON instead of layers (no expressions)."
2566
+ },
2567
+ "src": {
2568
+ "description": "An attached .json or .lottie instead of layers."
2569
+ },
2570
+ "autoplay": {
2571
+ "description": "Plays when visible; false shows the poster."
2572
+ },
2573
+ "loop": {
2574
+ "description": "Repeats; false plays once and holds."
2575
+ },
2576
+ "plays": {
2577
+ "description": "Plays this many times (overrides loop)."
2578
+ },
2579
+ "direction": {
2580
+ "description": "Forward, reverse, or back and forth."
2581
+ },
2582
+ "speed": {
2583
+ "description": "Speed multiplier."
2584
+ },
2585
+ "segment": {
2586
+ "description": "Plays only [from, to] ms."
2587
+ },
2588
+ "marker": {
2589
+ "description": "Plays only this marker."
2590
+ },
2591
+ "progress": {
2592
+ "description": "Scrubs (0–1) instead of playing."
2593
+ },
2594
+ "play": {
2595
+ "description": "Pauses while false."
2596
+ },
2597
+ "poster": {
2598
+ "description": "The still frame (ms) for reduced motion and before play."
2599
+ },
2600
+ "fit": {
2601
+ "description": "How it fills the box."
2602
+ },
2603
+ "slots": {
2604
+ "description": "Lottie slot overrides {slotId: value}."
2605
+ },
2606
+ "stateMachine": {
2607
+ "description": "A dotLottie state machine driving playback (a .lottie src brings its own)."
2608
+ },
2609
+ "inputs": {
2610
+ "description": "State-machine inputs {name: value}; bind to drive states from data."
2611
+ },
2612
+ "label": {
2613
+ "description": "What it shows, for screen readers."
2614
+ },
2615
+ "style": {
2616
+ "description": "Extra Box styles for the box."
2617
+ }
2618
+ },
2619
+ "description": "A vector animation (Lottie-compatible) drawn identically everywhere: loaders, success states, illustrated empty states, small explainers.",
2620
+ "example": {
2621
+ "size": [
2622
+ 48,
2623
+ 48
2624
+ ],
2625
+ "duration": 1000,
2626
+ "layers": [
2627
+ {
2628
+ "type": "shape",
2629
+ "transform": {
2630
+ "position": [
2631
+ 24,
2632
+ 24
2633
+ ],
2634
+ "rotation": {
2635
+ "keys": [
2636
+ {
2637
+ "t": 0,
2638
+ "v": 0
2639
+ },
2640
+ {
2641
+ "t": 1000,
2642
+ "v": 360
2643
+ }
2644
+ ]
2645
+ }
2646
+ },
2647
+ "shapes": [
2648
+ {
2649
+ "type": "ellipse",
2650
+ "size": [
2651
+ 36,
2652
+ 36
2653
+ ]
2654
+ },
2655
+ {
2656
+ "type": "trim",
2657
+ "end": 70
2658
+ },
2659
+ {
2660
+ "type": "stroke",
2661
+ "color": "$color.primary",
2662
+ "width": 4
2663
+ }
2664
+ ]
2665
+ }
2666
+ ]
2667
+ }
2505
2668
  }
2506
2669
  },
2507
2670
  "defs": {
@@ -2693,7 +2856,7 @@
2693
2856
  "description": "For `type: slot`: the Table slot whose component renders each cell with the row as its data scope."
2694
2857
  },
2695
2858
  "width": {
2696
- "description": "A fixed width in px; otherwise columns share the width."
2859
+ "description": "A fixed width in px; otherwise columns share the width, never under 120 (a wider table scrolls)."
2697
2860
  },
2698
2861
  "align": {
2699
2862
  "description": "Cell alignment (numbers read best at `end`)."
@@ -2706,6 +2869,9 @@
2706
2869
  },
2707
2870
  "decimals": {
2708
2871
  "description": "Fixed fraction digits of a number, currency or percent column."
2872
+ },
2873
+ "truncate": {
2874
+ "description": "One line with an ellipsis; cells wrap otherwise."
2709
2875
  }
2710
2876
  },
2711
2877
  "description": "One table column."
@@ -318,6 +318,27 @@
318
318
  "running",
319
319
  "done",
320
320
  "declined"
321
+ ],
322
+ "zoomInitial": [
323
+ "auto",
324
+ "fit",
325
+ "fitWidth",
326
+ "actual"
327
+ ],
328
+ "zoomControls": [
329
+ "auto",
330
+ "always",
331
+ "none"
332
+ ],
333
+ "motionDirection": [
334
+ "forward",
335
+ "reverse",
336
+ "alternate"
337
+ ],
338
+ "motionFit": [
339
+ "contain",
340
+ "cover",
341
+ "fill"
321
342
  ]
322
343
  },
323
344
  "defs": {
@@ -556,6 +577,10 @@
556
577
  },
557
578
  "decimals": {
558
579
  "type": "number"
580
+ },
581
+ "truncate": {
582
+ "type": "boolean",
583
+ "default": false
559
584
  }
560
585
  }
561
586
  },
@@ -965,7 +990,10 @@
965
990
  "Toast.icon.success": "ui-success",
966
991
  "Toast.icon.warning": "ui-warning",
967
992
  "Toast.icon.error": "ui-error",
968
- "Unknown.root": "ui-warning"
993
+ "Unknown.root": "ui-warning",
994
+ "ZoomableImage.zoomOut": "ui-minus",
995
+ "ZoomableImage.zoomIn": "ui-add",
996
+ "ZoomableImage.fit": "ui-fullscreen"
969
997
  },
970
998
  "components": {
971
999
  "Box": {
@@ -1593,6 +1621,55 @@
1593
1621
  }
1594
1622
  }
1595
1623
  },
1624
+ "ZoomableImage": {
1625
+ "kind": "native",
1626
+ "group": "media",
1627
+ "lite": false,
1628
+ "children": "none",
1629
+ "props": {
1630
+ "src": {
1631
+ "type": "url",
1632
+ "required": true,
1633
+ "bindable": true
1634
+ },
1635
+ "alt": {
1636
+ "type": "string",
1637
+ "required": true,
1638
+ "bindable": true
1639
+ },
1640
+ "naturalWidth": {
1641
+ "type": "number"
1642
+ },
1643
+ "naturalHeight": {
1644
+ "type": "number"
1645
+ },
1646
+ "initial": {
1647
+ "type": "enum",
1648
+ "enum": "zoomInitial",
1649
+ "default": "auto"
1650
+ },
1651
+ "maxScale": {
1652
+ "type": "number",
1653
+ "default": 8
1654
+ },
1655
+ "controls": {
1656
+ "type": "enum",
1657
+ "enum": "zoomControls",
1658
+ "default": "auto"
1659
+ },
1660
+ "scale": {
1661
+ "type": "number",
1662
+ "bindable": true
1663
+ },
1664
+ "style": {
1665
+ "type": "style"
1666
+ }
1667
+ },
1668
+ "events": [
1669
+ "zoom",
1670
+ "tap"
1671
+ ]
1672
+ },
1596
1673
  "Icon": {
1597
1674
  "kind": "native",
1598
1675
  "group": "media",
@@ -4025,6 +4102,117 @@
4025
4102
  "type": "string"
4026
4103
  }
4027
4104
  }
4105
+ },
4106
+ "Motion": {
4107
+ "kind": "native",
4108
+ "group": "media",
4109
+ "lite": true,
4110
+ "children": "none",
4111
+ "props": {
4112
+ "layers": {
4113
+ "type": "array",
4114
+ "items": {
4115
+ "type": "object"
4116
+ }
4117
+ },
4118
+ "size": {
4119
+ "type": "array",
4120
+ "items": {
4121
+ "type": "number"
4122
+ }
4123
+ },
4124
+ "duration": {
4125
+ "type": "number"
4126
+ },
4127
+ "fps": {
4128
+ "type": "number",
4129
+ "default": 60
4130
+ },
4131
+ "assets": {
4132
+ "type": "object"
4133
+ },
4134
+ "markers": {
4135
+ "type": "array",
4136
+ "items": {
4137
+ "type": "object"
4138
+ }
4139
+ },
4140
+ "lottie": {
4141
+ "type": "object"
4142
+ },
4143
+ "src": {
4144
+ "type": "url"
4145
+ },
4146
+ "autoplay": {
4147
+ "type": "boolean",
4148
+ "default": true
4149
+ },
4150
+ "loop": {
4151
+ "type": "boolean",
4152
+ "default": true
4153
+ },
4154
+ "plays": {
4155
+ "type": "number"
4156
+ },
4157
+ "direction": {
4158
+ "type": "enum",
4159
+ "enum": "motionDirection",
4160
+ "default": "forward"
4161
+ },
4162
+ "speed": {
4163
+ "type": "number",
4164
+ "default": 1
4165
+ },
4166
+ "segment": {
4167
+ "type": "array",
4168
+ "items": {
4169
+ "type": "number"
4170
+ }
4171
+ },
4172
+ "marker": {
4173
+ "type": "string"
4174
+ },
4175
+ "progress": {
4176
+ "type": "number",
4177
+ "bindable": true
4178
+ },
4179
+ "play": {
4180
+ "type": "boolean",
4181
+ "bindable": true,
4182
+ "default": true
4183
+ },
4184
+ "poster": {
4185
+ "type": "number"
4186
+ },
4187
+ "fit": {
4188
+ "type": "enum",
4189
+ "enum": "motionFit",
4190
+ "default": "contain"
4191
+ },
4192
+ "slots": {
4193
+ "type": "object"
4194
+ },
4195
+ "stateMachine": {
4196
+ "type": "object"
4197
+ },
4198
+ "inputs": {
4199
+ "type": "object",
4200
+ "bindable": true
4201
+ },
4202
+ "label": {
4203
+ "type": "string"
4204
+ },
4205
+ "style": {
4206
+ "type": "style"
4207
+ }
4208
+ },
4209
+ "events": [
4210
+ "press",
4211
+ "hover",
4212
+ "visible",
4213
+ "complete",
4214
+ "state"
4215
+ ]
4028
4216
  }
4029
4217
  }
4030
4218
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exponential_app/eui",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "Exponential UI: the core A2UI catalog (components, macros, model descriptions, token names), the A2UI basic catalog map, the TypeScript reference reducer, the runtime theme format with the built-in themes, and the theme builder.",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://exponential.at/ui/",
@@ -735,6 +735,174 @@
735
735
  }
736
736
  ]
737
737
  },
738
+ "ZoomableImage": {
739
+ "root": [
740
+ {
741
+ "style": {
742
+ "backgroundColor": "#00000000"
743
+ }
744
+ }
745
+ ],
746
+ "image": [
747
+ {
748
+ "style": {
749
+ "borderRadius": "$radius.md"
750
+ }
751
+ }
752
+ ],
753
+ "pill": [
754
+ {
755
+ "style": {
756
+ "padding": 4,
757
+ "gap": 2,
758
+ "borderRadius": "$radius.full",
759
+ "backgroundColor": "$color.popover",
760
+ "borderWidth": "$border.hairline",
761
+ "borderColor": "$color.border",
762
+ "boxShadow": "$shadow.lg",
763
+ "backdropBlur": "$blur.lg"
764
+ }
765
+ }
766
+ ],
767
+ "zoomOut": [
768
+ {
769
+ "style": {
770
+ "width": 28,
771
+ "height": 28,
772
+ "borderRadius": "$radius.full",
773
+ "color": "$color.foreground",
774
+ "backgroundColor": "#00000000",
775
+ "transition": "$motion.fast"
776
+ }
777
+ },
778
+ {
779
+ "when": {
780
+ "state": "hover"
781
+ },
782
+ "style": {
783
+ "backgroundColor": "$color.accent",
784
+ "color": "$color.accentForeground"
785
+ }
786
+ },
787
+ {
788
+ "when": {
789
+ "state": "disabled"
790
+ },
791
+ "style": {
792
+ "opacity": "$opacity.disabled"
793
+ }
794
+ }
795
+ ],
796
+ "percent": [
797
+ {
798
+ "style": {
799
+ "height": 28,
800
+ "paddingHorizontal": "$spacing.md",
801
+ "borderRadius": "$radius.full",
802
+ "color": "$color.foreground",
803
+ "backgroundColor": "#00000000",
804
+ "fontFamily": "$type.family.sans",
805
+ "fontSize": "$type.size.sm",
806
+ "lineHeight": "$type.lineHeight.sm",
807
+ "fontWeight": "$type.weight.medium",
808
+ "transition": "$motion.fast"
809
+ }
810
+ },
811
+ {
812
+ "when": {
813
+ "state": "hover"
814
+ },
815
+ "style": {
816
+ "backgroundColor": "$color.accent",
817
+ "color": "$color.accentForeground"
818
+ }
819
+ },
820
+ {
821
+ "when": {
822
+ "state": "disabled"
823
+ },
824
+ "style": {
825
+ "opacity": "$opacity.disabled"
826
+ }
827
+ }
828
+ ],
829
+ "zoomIn": [
830
+ {
831
+ "style": {
832
+ "width": 28,
833
+ "height": 28,
834
+ "borderRadius": "$radius.full",
835
+ "color": "$color.foreground",
836
+ "backgroundColor": "#00000000",
837
+ "transition": "$motion.fast"
838
+ }
839
+ },
840
+ {
841
+ "when": {
842
+ "state": "hover"
843
+ },
844
+ "style": {
845
+ "backgroundColor": "$color.accent",
846
+ "color": "$color.accentForeground"
847
+ }
848
+ },
849
+ {
850
+ "when": {
851
+ "state": "disabled"
852
+ },
853
+ "style": {
854
+ "opacity": "$opacity.disabled"
855
+ }
856
+ }
857
+ ],
858
+ "divider": [
859
+ {
860
+ "style": {
861
+ "width": 1,
862
+ "height": 16,
863
+ "backgroundColor": "$color.border"
864
+ }
865
+ }
866
+ ],
867
+ "fit": [
868
+ {
869
+ "style": {
870
+ "width": 28,
871
+ "height": 28,
872
+ "borderRadius": "$radius.full",
873
+ "color": "$color.foreground",
874
+ "backgroundColor": "#00000000",
875
+ "transition": "$motion.fast"
876
+ }
877
+ },
878
+ {
879
+ "when": {
880
+ "state": "hover"
881
+ },
882
+ "style": {
883
+ "backgroundColor": "$color.accent",
884
+ "color": "$color.accentForeground"
885
+ }
886
+ },
887
+ {
888
+ "when": {
889
+ "state": "disabled"
890
+ },
891
+ "style": {
892
+ "opacity": "$opacity.disabled"
893
+ }
894
+ },
895
+ {
896
+ "when": {
897
+ "state": "selected"
898
+ },
899
+ "style": {
900
+ "backgroundColor": "$color.accent",
901
+ "color": "$color.accentForeground"
902
+ }
903
+ }
904
+ ]
905
+ },
738
906
  "QrCode": {
739
907
  "root": [
740
908
  {
@@ -4620,8 +4788,9 @@
4620
4788
  "cell": [
4621
4789
  {
4622
4790
  "style": {
4623
- "height": "$control.row",
4624
- "paddingHorizontal": "$spacing.sm"
4791
+ "minHeight": "$control.row",
4792
+ "paddingHorizontal": "$spacing.sm",
4793
+ "paddingVertical": "$spacing.xs"
4625
4794
  }
4626
4795
  },
4627
4796
  {
@@ -4629,7 +4798,7 @@
4629
4798
  "density": "compact"
4630
4799
  },
4631
4800
  "style": {
4632
- "height": "$control.rowCompact"
4801
+ "minHeight": "$control.rowCompact"
4633
4802
  }
4634
4803
  }
4635
4804
  ],