@exponential-at/ui 0.0.0-stage → 0.1.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 (251) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +54 -0
  3. package/README.md +360 -2
  4. package/catalog/a11y.json +668 -0
  5. package/catalog/basic-map.json +104 -0
  6. package/catalog/code.json +58 -0
  7. package/catalog/core.catalog.json +4752 -0
  8. package/catalog/core.schema.json +22667 -0
  9. package/catalog/host.json +64 -0
  10. package/catalog/layout.json +20 -0
  11. package/catalog/limits.json +9 -0
  12. package/catalog/locale.json +48 -0
  13. package/catalog/macros.json +3417 -0
  14. package/catalog/recipes.json +61 -0
  15. package/catalog/strings.json +72 -0
  16. package/catalog/style.json +128 -0
  17. package/catalog/theme.schema.json +42543 -0
  18. package/catalog/tokens.json +47 -0
  19. package/conformance/README.md +217 -0
  20. package/conformance/baseline.ts +101 -0
  21. package/conformance/browser-page.ts +146 -0
  22. package/conformance/browser-suites.ts +683 -0
  23. package/conformance/compare.ts +201 -0
  24. package/conformance/dom.ts +96 -0
  25. package/conformance/dump.ts +163 -0
  26. package/conformance/fonts.json +154 -0
  27. package/conformance/manifest.json +224 -0
  28. package/conformance/parity-compare.ts +191 -0
  29. package/conformance/parity-report.schema.json +73 -0
  30. package/conformance/parity.ts +412 -0
  31. package/conformance/pixel.ts +177 -0
  32. package/conformance/primitives-page.ts +49 -0
  33. package/conformance/report.schema.json +66 -0
  34. package/conformance/run.ts +118 -0
  35. package/dist/chunks/index-98npjvsd.js +3940 -0
  36. package/dist/chunks/index-98npjvsd.js.map +27 -0
  37. package/dist/chunks/index-gwkt14w3.js +7314 -0
  38. package/dist/chunks/index-gwkt14w3.js.map +10 -0
  39. package/dist/chunks/index-njt7yzzm.js +134 -0
  40. package/dist/chunks/index-njt7yzzm.js.map +9 -0
  41. package/dist/chunks/index-we7va6v6.js +7984 -0
  42. package/dist/chunks/index-we7va6v6.js.map +15 -0
  43. package/dist/chunks/index-xrm6f7wc.js +2563 -0
  44. package/dist/chunks/index-xrm6f7wc.js.map +10 -0
  45. package/dist/conformance.js +182749 -0
  46. package/dist/conformance.js.map +10 -0
  47. package/dist/entries/prompt.js +251 -0
  48. package/dist/entries/prompt.js.map +11 -0
  49. package/dist/entries/schema.js +1725 -0
  50. package/dist/entries/schema.js.map +11 -0
  51. package/dist/host/index.js +122 -0
  52. package/dist/host/index.js.map +9 -0
  53. package/dist/index.js +3213 -0
  54. package/dist/index.js.map +27 -0
  55. package/dist/types/src/a11y.d.ts +21 -0
  56. package/dist/types/src/animation.d.ts +76 -0
  57. package/dist/types/src/basic-map.d.ts +38 -0
  58. package/dist/types/src/builder.d.ts +50 -0
  59. package/dist/types/src/catalog.d.ts +54 -0
  60. package/dist/types/src/catalog.described.d.ts +33 -0
  61. package/dist/types/src/catalog.generated.d.ts +829 -0
  62. package/dist/types/src/chart.d.ts +46 -0
  63. package/dist/types/src/code.d.ts +44 -0
  64. package/dist/types/src/color.d.ts +20 -0
  65. package/dist/types/src/conformance.d.ts +39 -0
  66. package/dist/types/src/connector/app.d.ts +14 -0
  67. package/dist/types/src/connector/connector.d.ts +77 -0
  68. package/dist/types/src/connector/index.d.ts +4 -0
  69. package/dist/types/src/css.d.ts +29 -0
  70. package/dist/types/src/define.d.ts +66 -0
  71. package/dist/types/src/direction.d.ts +16 -0
  72. package/dist/types/src/dynamic.d.ts +159 -0
  73. package/dist/types/src/entries/prompt.d.ts +11 -0
  74. package/dist/types/src/entries/schema.d.ts +8 -0
  75. package/dist/types/src/expr.d.ts +71 -0
  76. package/dist/types/src/extension.d.ts +4 -0
  77. package/dist/types/src/format.d.ts +112 -0
  78. package/dist/types/src/geometry.d.ts +40 -0
  79. package/dist/types/src/host/contract.d.ts +188 -0
  80. package/dist/types/src/host/decoders.d.ts +61 -0
  81. package/dist/types/src/host/index.d.ts +11 -0
  82. package/dist/types/src/host/package.d.ts +58 -0
  83. package/dist/types/src/host/policy.d.ts +105 -0
  84. package/dist/types/src/host/router.d.ts +34 -0
  85. package/dist/types/src/host/runtime.d.ts +205 -0
  86. package/dist/types/src/host/sources.d.ts +15 -0
  87. package/dist/types/src/host/transports.d.ts +109 -0
  88. package/dist/types/src/index.d.ts +63 -0
  89. package/dist/types/src/layout.d.ts +20 -0
  90. package/dist/types/src/limits.d.ts +21 -0
  91. package/dist/types/src/list.d.ts +133 -0
  92. package/dist/types/src/locale.d.ts +22 -0
  93. package/dist/types/src/macros.d.ts +29 -0
  94. package/dist/types/src/overlay.d.ts +27 -0
  95. package/dist/types/src/prompt.d.ts +44 -0
  96. package/dist/types/src/recipes.d.ts +17 -0
  97. package/dist/types/src/reducer.d.ts +41 -0
  98. package/dist/types/src/resizable.d.ts +38 -0
  99. package/dist/types/src/schema.d.ts +7 -0
  100. package/dist/types/src/strings.d.ts +13 -0
  101. package/dist/types/src/style.d.ts +201 -0
  102. package/dist/types/src/test-preload.d.ts +1 -0
  103. package/dist/types/src/text-shimmer.d.ts +24 -0
  104. package/dist/types/src/theme-types.d.ts +162 -0
  105. package/dist/types/src/theme.d.ts +73 -0
  106. package/dist/types/src/themes.d.ts +22 -0
  107. package/dist/types/src/tree-guides.d.ts +17 -0
  108. package/dist/types/src/types.d.ts +314 -0
  109. package/dist/types/src/validate.d.ts +31 -0
  110. package/dist/types/src/web/base-css.d.ts +1 -0
  111. package/dist/types/src/web/box-css.d.ts +55 -0
  112. package/dist/types/src/web/coerce.d.ts +32 -0
  113. package/dist/types/src/web/data.d.ts +105 -0
  114. package/dist/types/src/web/dates.d.ts +12 -0
  115. package/dist/types/src/web/form.d.ts +44 -0
  116. package/dist/types/src/web/host-types.d.ts +119 -0
  117. package/dist/types/src/web/index.d.ts +28 -0
  118. package/dist/types/src/web/inputs.d.ts +55 -0
  119. package/dist/types/src/web/list.d.ts +13 -0
  120. package/dist/types/src/web/listbox.d.ts +14 -0
  121. package/dist/types/src/web/markdown.d.ts +96 -0
  122. package/dist/types/src/web/media.d.ts +62 -0
  123. package/dist/types/src/web/parts.d.ts +4 -0
  124. package/dist/types/src/web/primitives/alert-dialog.d.ts +10 -0
  125. package/dist/types/src/web/primitives/alert.d.ts +9 -0
  126. package/dist/types/src/web/primitives/avatar-color.d.ts +2 -0
  127. package/dist/types/src/web/primitives/avatar.d.ts +13 -0
  128. package/dist/types/src/web/primitives/badge.d.ts +10 -0
  129. package/dist/types/src/web/primitives/breadcrumb.d.ts +10 -0
  130. package/dist/types/src/web/primitives/button.d.ts +6 -0
  131. package/dist/types/src/web/primitives/calendar.d.ts +43 -0
  132. package/dist/types/src/web/primitives/card.d.ts +9 -0
  133. package/dist/types/src/web/primitives/checkbox.d.ts +5 -0
  134. package/dist/types/src/web/primitives/choice-tiles.d.ts +32 -0
  135. package/dist/types/src/web/primitives/cn.d.ts +3 -0
  136. package/dist/types/src/web/primitives/code-block.d.ts +24 -0
  137. package/dist/types/src/web/primitives/command.d.ts +134 -0
  138. package/dist/types/src/web/primitives/context-ring.d.ts +24 -0
  139. package/dist/types/src/web/primitives/dialog-arms.d.ts +6 -0
  140. package/dist/types/src/web/primitives/dialog.d.ts +24 -0
  141. package/dist/types/src/web/primitives/disclosure-header.d.ts +5 -0
  142. package/dist/types/src/web/primitives/dock.d.ts +42 -0
  143. package/dist/types/src/web/primitives/dropdown-menu.d.ts +14 -0
  144. package/dist/types/src/web/primitives/empty-state.d.ts +15 -0
  145. package/dist/types/src/web/primitives/glass-card.d.ts +4 -0
  146. package/dist/types/src/web/primitives/hover-card.d.ts +7 -0
  147. package/dist/types/src/web/primitives/icon-disc.d.ts +12 -0
  148. package/dist/types/src/web/primitives/index.d.ts +48 -0
  149. package/dist/types/src/web/primitives/input.d.ts +5 -0
  150. package/dist/types/src/web/primitives/kbd.d.ts +4 -0
  151. package/dist/types/src/web/primitives/label.d.ts +3 -0
  152. package/dist/types/src/web/primitives/menu-surface.d.ts +17 -0
  153. package/dist/types/src/web/primitives/meter.d.ts +21 -0
  154. package/dist/types/src/web/primitives/popover.d.ts +3 -0
  155. package/dist/types/src/web/primitives/progress-ring.d.ts +5 -0
  156. package/dist/types/src/web/primitives/progress.d.ts +8 -0
  157. package/dist/types/src/web/primitives/scroll-area.d.ts +49 -0
  158. package/dist/types/src/web/primitives/segmented-control.d.ts +5 -0
  159. package/dist/types/src/web/primitives/select.d.ts +47 -0
  160. package/dist/types/src/web/primitives/separator.d.ts +3 -0
  161. package/dist/types/src/web/primitives/sheet-chrome.d.ts +4 -0
  162. package/dist/types/src/web/primitives/sheet.d.ts +20 -0
  163. package/dist/types/src/web/primitives/skeleton.d.ts +3 -0
  164. package/dist/types/src/web/primitives/spinner.d.ts +3 -0
  165. package/dist/types/src/web/primitives/switch.d.ts +4 -0
  166. package/dist/types/src/web/primitives/table.d.ts +11 -0
  167. package/dist/types/src/web/primitives/tabs.d.ts +13 -0
  168. package/dist/types/src/web/primitives/textarea.d.ts +3 -0
  169. package/dist/types/src/web/primitives/toast.d.ts +163 -0
  170. package/dist/types/src/web/primitives/tooltip.d.ts +3 -0
  171. package/dist/types/src/web/primitives/truncate.d.ts +7 -0
  172. package/dist/types/src/web/primitives/typeahead-portal.d.ts +12 -0
  173. package/dist/types/src/web/share.d.ts +6 -0
  174. package/dist/types/src/web/table.d.ts +20 -0
  175. package/dist/types/src/web/theme-css.d.ts +69 -0
  176. package/dist/types/src/web/urls.d.ts +21 -0
  177. package/dist/web/index.js +2303 -0
  178. package/dist/web/index.js.map +26 -0
  179. package/dist/web/primitives/index.js +1450 -0
  180. package/dist/web/primitives/index.js.map +57 -0
  181. package/docs/components.generated.json +6238 -0
  182. package/docs/round-1-contract.md +679 -0
  183. package/docs/round-2-contract.md +476 -0
  184. package/docs/round-3-contract.md +174 -0
  185. package/docs/themes.generated.json +3503 -0
  186. package/fixtures/animations.json +2890 -0
  187. package/fixtures/bench-list.json +58 -0
  188. package/fixtures/bind-time.json +30664 -0
  189. package/fixtures/catalog-basic-map.json +1692 -0
  190. package/fixtures/catalog-components.json +9323 -0
  191. package/fixtures/catalog-extension.json +620 -0
  192. package/fixtures/catalog-macros.json +36370 -0
  193. package/fixtures/code-tokens.json +1993 -0
  194. package/fixtures/conformance-baseline.json +55544 -0
  195. package/fixtures/conformance-cases.json +49 -0
  196. package/fixtures/conformance-known.json +2123 -0
  197. package/fixtures/control-geometry.json +4200 -0
  198. package/fixtures/dashboard.data.json +74 -0
  199. package/fixtures/dashboard.json +752 -0
  200. package/fixtures/demo-surface.json +47 -0
  201. package/fixtures/format.json +870 -0
  202. package/fixtures/host-policy.json +1067 -0
  203. package/fixtures/host-router.json +1152 -0
  204. package/fixtures/host-transport.json +590 -0
  205. package/fixtures/interactions-round1.json +773 -0
  206. package/fixtures/kitchen-sink.expanded.json +10844 -0
  207. package/fixtures/kitchen-sink.json +3049 -0
  208. package/fixtures/layout-geometry-round1.json +7278 -0
  209. package/fixtures/layout-geometry.json +2072 -0
  210. package/fixtures/overlay-geometry.json +272 -0
  211. package/fixtures/primitive-specimens.json +58 -0
  212. package/fixtures/prompt-budget.json +33 -0
  213. package/fixtures/resizable.json +714 -0
  214. package/fixtures/round4-contract.json +2985 -0
  215. package/fixtures/specimens.json +9832 -0
  216. package/fixtures/style-conditions.json +336 -0
  217. package/fixtures/template-items.json +2215 -0
  218. package/fixtures/text-direction.json +309 -0
  219. package/fixtures/text-shimmer.json +96 -0
  220. package/fixtures/theme-extends.json +573 -0
  221. package/fixtures/theme-invalid.json +1296 -0
  222. package/fixtures/theme-recipes.json +58600 -0
  223. package/fixtures/theme-resolved.json +23949 -0
  224. package/fixtures/toast-stack.json +215 -0
  225. package/fixtures/tree-guides.json +224 -0
  226. package/fixtures/virtual-list.json +733 -0
  227. package/generated/ExponentialUICatalog.generated.kt +67 -0
  228. package/generated/ExponentialUICatalog.generated.swift +67 -0
  229. package/generated/ExponentialUIThemes.generated.kt +23 -0
  230. package/generated/ExponentialUIThemes.generated.swift +23 -0
  231. package/generated/catalog.descriptions.generated.rs +6 -0
  232. package/generated/catalog.generated.rs +80 -0
  233. package/generated/catalog.themes.generated.rs +34 -0
  234. package/generated/core.descriptions.json +2505 -0
  235. package/generated/core.runtime.json +3609 -0
  236. package/package.json +87 -4
  237. package/themes/exponential.recipes.json +49 -0
  238. package/themes/exponential.theme.json +755 -0
  239. package/themes/neutral.theme.json +5676 -0
  240. package/themes/orange.theme.json +43 -0
  241. package/themes/playful.theme.json +219 -0
  242. package/vendor/a2ui/LICENSE.txt +203 -0
  243. package/vendor/a2ui/README.md +27 -0
  244. package/vendor/a2ui/v0_9/basic_catalog.json +1387 -0
  245. package/vendor/a2ui/v0_9/basic_catalog_rules.txt +5 -0
  246. package/vendor/a2ui/v0_9/client_capabilities.json +97 -0
  247. package/vendor/a2ui/v0_9/client_to_server.json +104 -0
  248. package/vendor/a2ui/v0_9/common_types.json +315 -0
  249. package/vendor/a2ui/v0_9/server_to_client.json +132 -0
  250. package/vendor/json-render/LICENSE.txt +201 -0
  251. package/vendor/json-render/README.md +13 -0
@@ -0,0 +1,2123 @@
1
+ {
2
+ "$comment": "The desktop conformance RATCHET (apps/desktop/crates/exponential-ui-gpui/tests/conformance.rs): per case, the divergence counts of the gpui painter (headless, gpui's cosmic-text system, the conformance fonts) against the web baseline (fixtures/conformance-baseline.json) today. A case may only go DOWN; rewrite after a fix with EXP_UI_WRITE_FIXTURES=1 cargo test -p exponential-ui-gpui --test conformance. `onlyRef`/`onlyCand` = nodes only the web / only gpui placed (coverage, not compared); `coverageGaps` = each such node with its reason (an unlisted one fails the gate: tests/conformance.rs COVERAGE_GAPS). Round 2 (docs/round-2-contract.md §8): `causes` = the 53 divergence ORIGINS of the 2026-10-08 report (`cases` = how many matrix cases showed it), each with the side the contract says is right (`web`, `gpui`, `neither` or `contract`), who fixes it (`react`, `gpui`, `core`, `contract`; `survivor` = kept, with a `reason`) and the decision; `rules` = the decisions with no origin today. The ratchet only reads `cases`: the gpui writer must carry `causes` and `rules` over when it rewrites this file.",
3
+ "renderer": "gpui-cosmic-headless",
4
+ "causes": [
5
+ {
6
+ "id": "resp-drawer",
7
+ "component": "Drawer",
8
+ "kind": "size",
9
+ "cases": 48,
10
+ "group": "overlay trigger rows",
11
+ "right": "gpui",
12
+ "fix": [
13
+ "react"
14
+ ],
15
+ "decision": "An overlay native (Dialog, Drawer, AlertDialog, Popover, Tooltip, a press Menu with a child trigger) is LAYOUT-TRANSPARENT: its frame is its trigger's frame and the trigger is the flex item; it never fills a column or stretches a row on its own (§8.1)."
16
+ },
17
+ {
18
+ "id": "audio",
19
+ "component": "AudioPlayer",
20
+ "kind": "size",
21
+ "cases": 24,
22
+ "group": "media sizes",
23
+ "right": "gpui",
24
+ "fix": [
25
+ "react"
26
+ ],
27
+ "decision": "AudioPlayer = the title line (`AudioPlayer/track`, when titled) + `$spacing.xs` + a controls row of `AudioPlayer/controls` height (`$control.row`); the browser's <audio> default height is not the contract."
28
+ },
29
+ {
30
+ "id": "chart",
31
+ "component": "Chart",
32
+ "kind": "size",
33
+ "cases": 24,
34
+ "group": "chart heights",
35
+ "right": "gpui",
36
+ "fix": [
37
+ "react"
38
+ ],
39
+ "decision": "Chart `height` is the WHOLE chart box (title, legend, axes inside; the plot takes what is left), so the frame never depends on text metrics or legend wrapping."
40
+ },
41
+ {
42
+ "id": "chart-donut",
43
+ "component": "Chart",
44
+ "kind": "size",
45
+ "cases": 24,
46
+ "group": "chart heights",
47
+ "right": "gpui",
48
+ "fix": [
49
+ "react"
50
+ ],
51
+ "decision": "As `chart`: the frame = `height` (180)."
52
+ },
53
+ {
54
+ "id": "chart-line",
55
+ "component": "Chart",
56
+ "kind": "size",
57
+ "cases": 24,
58
+ "group": "chart heights",
59
+ "right": "gpui",
60
+ "fix": [
61
+ "react"
62
+ ],
63
+ "decision": "As `chart`: the frame = `height` (default 200)."
64
+ },
65
+ {
66
+ "id": "code",
67
+ "component": "CodeBlock",
68
+ "kind": "size",
69
+ "cases": 24,
70
+ "group": "control heights",
71
+ "right": "gpui",
72
+ "fix": [
73
+ "react"
74
+ ],
75
+ "decision": "CodeBlock geometry comes only from its recipes: border + header (`CodeBlock/header` padding + the copy button + hairline) + one `lineHeight` per line, no extra body padding (a theme that wants padding sets it in a recipe)."
76
+ },
77
+ {
78
+ "id": "form-due",
79
+ "component": "DatePicker",
80
+ "kind": "size",
81
+ "cases": 24,
82
+ "group": "picker row widths",
83
+ "right": "web",
84
+ "fix": [
85
+ "gpui"
86
+ ],
87
+ "decision": "Picker triggers (Select, DatePicker, DateRangePicker, TimePicker) size to their content (text + glyph + padding + border); only text fields have the 160 px intrinsic width (catalog/layout.json `fieldIntrinsicWidth`)."
88
+ },
89
+ {
90
+ "id": "form-plan",
91
+ "component": "Radio",
92
+ "kind": "size",
93
+ "cases": 24,
94
+ "group": "control heights",
95
+ "right": "web",
96
+ "fix": [
97
+ "gpui"
98
+ ],
99
+ "decision": "The Radio group's gap is `Radio/root` gap (`$spacing.sm`), and an option row is max(dot, label line) tall."
100
+ },
101
+ {
102
+ "id": "form-volume",
103
+ "component": "Slider",
104
+ "kind": "size",
105
+ "cases": 24,
106
+ "group": "control heights",
107
+ "right": "web",
108
+ "fix": [
109
+ "gpui"
110
+ ],
111
+ "decision": "Slider = header (label + value line) + `$spacing.xs` + a track ROW as tall as the thumb (`Slider/thumb` height); the rail (`Slider/track` height 6) is centred in it. Thumbs are paint parts (not dumped)."
112
+ },
113
+ {
114
+ "id": "hdr-badge",
115
+ "component": "Box",
116
+ "kind": "size",
117
+ "cases": 24,
118
+ "group": "badge and pill widths",
119
+ "right": "web",
120
+ "fix": [
121
+ "gpui"
122
+ ],
123
+ "decision": "A Badge is 2 × paddingHorizontal + its content; a part whose `$if` is false does not exist, so no gap is counted for it."
124
+ },
125
+ {
126
+ "id": "hdr-sub",
127
+ "component": "Text",
128
+ "kind": "size",
129
+ "cases": 24,
130
+ "group": "badge and pill widths",
131
+ "right": "web",
132
+ "fix": [
133
+ "gpui"
134
+ ],
135
+ "decision": "Cascade of `hdr-badge` (the wider badge takes the text column's width)."
136
+ },
137
+ {
138
+ "id": "hdr-title",
139
+ "component": "Text",
140
+ "kind": "size",
141
+ "cases": 24,
142
+ "group": "badge and pill widths",
143
+ "right": "web",
144
+ "fix": [
145
+ "gpui"
146
+ ],
147
+ "decision": "Cascade of `hdr-badge`."
148
+ },
149
+ {
150
+ "id": "list-item.body.title",
151
+ "component": "Text",
152
+ "kind": "size",
153
+ "cases": 24,
154
+ "group": "empty and number text",
155
+ "right": "web",
156
+ "fix": [
157
+ "contract",
158
+ "gpui"
159
+ ],
160
+ "decision": "The template node no longer renders in place (lifted into `templates`, §4); an empty Text lays out ZERO lines (0 height plus its padding) everywhere."
161
+ },
162
+ {
163
+ "id": "list-item.body.title.0",
164
+ "component": "Text",
165
+ "kind": "size",
166
+ "cases": 24,
167
+ "group": "empty and number text",
168
+ "right": "web",
169
+ "fix": [
170
+ "gpui"
171
+ ],
172
+ "decision": "Cascade of `list-item.meta.0` (0 px wide on gpui)."
173
+ },
174
+ {
175
+ "id": "list-item.body.title.1",
176
+ "component": "Text",
177
+ "kind": "size",
178
+ "cases": 24,
179
+ "group": "empty and number text",
180
+ "right": "web",
181
+ "fix": [
182
+ "gpui"
183
+ ],
184
+ "decision": "Cascade of `list-item.meta.1`."
185
+ },
186
+ {
187
+ "id": "list-item.body.title.2",
188
+ "component": "Text",
189
+ "kind": "size",
190
+ "cases": 24,
191
+ "group": "empty and number text",
192
+ "right": "web",
193
+ "fix": [
194
+ "gpui"
195
+ ],
196
+ "decision": "Cascade of `list-item.meta.2`."
197
+ },
198
+ {
199
+ "id": "list-item.meta.0",
200
+ "component": "Text",
201
+ "kind": "size",
202
+ "cases": 24,
203
+ "group": "empty and number text",
204
+ "right": "web",
205
+ "fix": [
206
+ "core",
207
+ "gpui"
208
+ ],
209
+ "decision": "A number bound into a text prop SHOWS its displayString (`412`); the core's reconcile and gpui's events/paint stop reading it with as_str (fixtures/format.json `display`)."
210
+ },
211
+ {
212
+ "id": "list-item.meta.1",
213
+ "component": "Text",
214
+ "kind": "size",
215
+ "cases": 24,
216
+ "group": "empty and number text",
217
+ "right": "web",
218
+ "fix": [
219
+ "core",
220
+ "gpui"
221
+ ],
222
+ "decision": "As `list-item.meta.0`."
223
+ },
224
+ {
225
+ "id": "list-item.meta.2",
226
+ "component": "Text",
227
+ "kind": "size",
228
+ "cases": 24,
229
+ "group": "empty and number text",
230
+ "right": "web",
231
+ "fix": [
232
+ "core",
233
+ "gpui"
234
+ ],
235
+ "decision": "As `list-item.meta.0`."
236
+ },
237
+ {
238
+ "id": "menu",
239
+ "component": "Menu",
240
+ "kind": "size",
241
+ "cases": 24,
242
+ "group": "overlay trigger rows",
243
+ "right": "gpui",
244
+ "fix": [
245
+ "react"
246
+ ],
247
+ "decision": "The default Menu trigger (no child) is an outline button with `icon` (when set) and `label`, NO chevron; the menu is layout-transparent like every overlay."
248
+ },
249
+ {
250
+ "id": "nav-inbox.count",
251
+ "component": "Box",
252
+ "kind": "size",
253
+ "cases": 24,
254
+ "group": "badge and pill widths",
255
+ "right": "web",
256
+ "fix": [
257
+ "gpui"
258
+ ],
259
+ "decision": "As `hdr-badge`: the Row's trailing count Badge = padding + its text."
260
+ },
261
+ {
262
+ "id": "nav-inbox.label",
263
+ "component": "Text",
264
+ "kind": "size",
265
+ "cases": 24,
266
+ "group": "badge and pill widths",
267
+ "right": "web",
268
+ "fix": [
269
+ "gpui"
270
+ ],
271
+ "decision": "Cascade of `nav-inbox.count`."
272
+ },
273
+ {
274
+ "id": "nf-files",
275
+ "component": "FileUpload",
276
+ "kind": "size",
277
+ "cases": 24,
278
+ "group": "control heights",
279
+ "right": "gpui",
280
+ "fix": [
281
+ "react"
282
+ ],
283
+ "decision": "The drop zone holds icon, title, hint (when set) AND the Browse button (`$string.browse`, an outline `$control.buttonSm` button), each `FileUpload/dropzone` gap apart."
284
+ },
285
+ {
286
+ "id": "page-1",
287
+ "component": "Image",
288
+ "kind": "size",
289
+ "cases": 24,
290
+ "group": "media sizes",
291
+ "right": "web",
292
+ "fix": [
293
+ "gpui"
294
+ ],
295
+ "decision": "An Image's box takes its `aspectRatio` (else 16:9 without a height): height = width / ratio, before and after the picture loads (no layout shift)."
296
+ },
297
+ {
298
+ "id": "progress-bound.label",
299
+ "component": "Text",
300
+ "kind": "size",
301
+ "cases": 24,
302
+ "group": "sparkline shrink",
303
+ "right": "web",
304
+ "fix": [
305
+ "gpui"
306
+ ],
307
+ "decision": "Cascade of `sparkline`."
308
+ },
309
+ {
310
+ "id": "progress-bound.track.fill",
311
+ "component": "Box",
312
+ "kind": "size",
313
+ "cases": 24,
314
+ "group": "sparkline shrink",
315
+ "right": "web",
316
+ "fix": [
317
+ "gpui"
318
+ ],
319
+ "decision": "Cascade of `sparkline`."
320
+ },
321
+ {
322
+ "id": "resp-nav-inbox.count",
323
+ "component": "Box",
324
+ "kind": "size",
325
+ "cases": 24,
326
+ "group": "badge and pill widths",
327
+ "right": "web",
328
+ "fix": [
329
+ "gpui"
330
+ ],
331
+ "decision": "As `nav-inbox.count`."
332
+ },
333
+ {
334
+ "id": "resp-nav-inbox.label",
335
+ "component": "Text",
336
+ "kind": "size",
337
+ "cases": 24,
338
+ "group": "badge and pill widths",
339
+ "right": "web",
340
+ "fix": [
341
+ "gpui"
342
+ ],
343
+ "decision": "Cascade of `resp-nav-inbox.count`."
344
+ },
345
+ {
346
+ "id": "spark-label",
347
+ "component": "Text",
348
+ "kind": "size",
349
+ "cases": 24,
350
+ "group": "sparkline shrink",
351
+ "right": "web",
352
+ "fix": [
353
+ "gpui"
354
+ ],
355
+ "decision": "Cascade of `sparkline`."
356
+ },
357
+ {
358
+ "id": "sparkline",
359
+ "component": "Chart",
360
+ "kind": "size",
361
+ "cases": 24,
362
+ "group": "sparkline shrink",
363
+ "right": "web",
364
+ "fix": [
365
+ "gpui"
366
+ ],
367
+ "decision": "Flex items shrink (CSS flexShrink 1 = taffy's): a Chart's min-content width is 0, so a Sparkline with `width: 96` shrinks in a crowded row."
368
+ },
369
+ {
370
+ "id": "table",
371
+ "component": "Table",
372
+ "kind": "size",
373
+ "cases": 24,
374
+ "group": "control heights",
375
+ "right": "gpui",
376
+ "fix": [
377
+ "react"
378
+ ],
379
+ "decision": "Table = header (cell height + hairline) + one (cell height + hairline) per row + the caption (its line + 2 × `Table/caption` paddingVertical); the checkbox column is a cell like any other; no table-layout spacing."
380
+ },
381
+ {
382
+ "id": "toggles",
383
+ "component": "Segmented",
384
+ "kind": "size",
385
+ "cases": 24,
386
+ "group": "toggle group stretch",
387
+ "right": "web",
388
+ "fix": [
389
+ "gpui"
390
+ ],
391
+ "decision": "A Segmented is content-sized (align-self start) unless `fill` or `variant: bar`; it never stretches across a column."
392
+ },
393
+ {
394
+ "id": "tree-guides",
395
+ "component": "TreeGuides",
396
+ "kind": "size",
397
+ "cases": 24,
398
+ "group": "tree guides",
399
+ "right": "gpui",
400
+ "fix": [
401
+ "react"
402
+ ],
403
+ "decision": "TreeGuides (a Row's `guides` part, round 3) = depth × 14 px columns (`treeGuideColumn`), stretched to its row's height; the `TreeGuides/line` recipe `width` is the STROKE, not the column."
404
+ },
405
+ {
406
+ "id": "video",
407
+ "component": "Video",
408
+ "kind": "size",
409
+ "cases": 24,
410
+ "group": "media sizes",
411
+ "right": "neither",
412
+ "fix": [
413
+ "react",
414
+ "gpui",
415
+ "contract"
416
+ ],
417
+ "decision": "Video gets an explicit `aspectRatio` prop (default 16:9 = `mediaAspectRatio`): height = width / ratio. The web's 300×150 browser default and gpui's fixed 180 are both gone."
418
+ },
419
+ {
420
+ "id": "hover-card-trigger",
421
+ "component": "Link",
422
+ "kind": "size",
423
+ "cases": 20,
424
+ "group": "overlay trigger rows",
425
+ "right": "web",
426
+ "fix": [
427
+ "gpui"
428
+ ],
429
+ "decision": "Layout-transparent overlays: the trigger IS the flex item, so a Link trigger stretches in a stretch row like any Text."
430
+ },
431
+ {
432
+ "id": "pill-1",
433
+ "component": "Box",
434
+ "kind": "size",
435
+ "cases": 16,
436
+ "group": "badge and pill widths",
437
+ "right": "web",
438
+ "fix": [
439
+ "gpui"
440
+ ],
441
+ "decision": "As `hdr-badge`: no gap for the absent dot/icon parts."
442
+ },
443
+ {
444
+ "id": "alert-dialog",
445
+ "component": "Dialog",
446
+ "kind": "size",
447
+ "cases": 14,
448
+ "group": "overlay trigger rows",
449
+ "right": "gpui",
450
+ "fix": [
451
+ "react"
452
+ ],
453
+ "decision": "Layout-transparent: the frame is the trigger Button's (32/36/40 px), never the row's height."
454
+ },
455
+ {
456
+ "id": "card-row.body.subtitle",
457
+ "component": "Text",
458
+ "kind": "size",
459
+ "cases": 12,
460
+ "group": "card row",
461
+ "right": "web",
462
+ "fix": [
463
+ "gpui"
464
+ ],
465
+ "decision": "CSS flex: the card Row's icon and meta parts are content-sized; gpui gives a sibling part 30 px more (find it with `--details` once React marks every Row part)."
466
+ },
467
+ {
468
+ "id": "card-row.body.title",
469
+ "component": "Text",
470
+ "kind": "size",
471
+ "cases": 12,
472
+ "group": "card row",
473
+ "right": "web",
474
+ "fix": [
475
+ "gpui"
476
+ ],
477
+ "decision": "As `card-row.body.subtitle`."
478
+ },
479
+ {
480
+ "id": "dialog",
481
+ "component": "Dialog",
482
+ "kind": "size",
483
+ "cases": 12,
484
+ "group": "overlay trigger rows",
485
+ "right": "gpui",
486
+ "fix": [
487
+ "react"
488
+ ],
489
+ "decision": "As `alert-dialog`."
490
+ },
491
+ {
492
+ "id": "drawer",
493
+ "component": "Drawer",
494
+ "kind": "size",
495
+ "cases": 12,
496
+ "group": "overlay trigger rows",
497
+ "right": "gpui",
498
+ "fix": [
499
+ "react"
500
+ ],
501
+ "decision": "As `alert-dialog`."
502
+ },
503
+ {
504
+ "id": "form-sub",
505
+ "component": "Select",
506
+ "kind": "size",
507
+ "cases": 12,
508
+ "group": "picker row widths",
509
+ "right": "web",
510
+ "fix": [
511
+ "gpui"
512
+ ],
513
+ "decision": "Cascade of `form-due` (the 160 px DatePicker floor wraps the row)."
514
+ },
515
+ {
516
+ "id": "main-md",
517
+ "component": "Markdown",
518
+ "kind": "size",
519
+ "cases": 12,
520
+ "group": "markdown lines",
521
+ "right": "web",
522
+ "fix": [
523
+ "gpui"
524
+ ],
525
+ "decision": "A Markdown paragraph lays out like a Text of the same runs: no extra line for the bold run or the trailing newline (one line at 900/1280)."
526
+ },
527
+ {
528
+ "id": "nav-card",
529
+ "component": "Box",
530
+ "kind": "size",
531
+ "cases": 12,
532
+ "group": "markdown lines",
533
+ "right": "web",
534
+ "fix": [
535
+ "gpui"
536
+ ],
537
+ "decision": "Cascade of `main-md` (same grid row)."
538
+ },
539
+ {
540
+ "id": "popover",
541
+ "component": "Popover",
542
+ "kind": "size",
543
+ "cases": 12,
544
+ "group": "overlay trigger rows",
545
+ "right": "gpui",
546
+ "fix": [
547
+ "react"
548
+ ],
549
+ "decision": "As `alert-dialog`."
550
+ },
551
+ {
552
+ "id": "sheet",
553
+ "component": "Drawer",
554
+ "kind": "size",
555
+ "cases": 12,
556
+ "group": "overlay trigger rows",
557
+ "right": "gpui",
558
+ "fix": [
559
+ "react"
560
+ ],
561
+ "decision": "As `alert-dialog`."
562
+ },
563
+ {
564
+ "id": "tooltip",
565
+ "component": "Tooltip",
566
+ "kind": "size",
567
+ "cases": 12,
568
+ "group": "overlay trigger rows",
569
+ "right": "gpui",
570
+ "fix": [
571
+ "react"
572
+ ],
573
+ "decision": "As `alert-dialog`."
574
+ },
575
+ {
576
+ "id": "footer-spacer",
577
+ "component": "Box",
578
+ "kind": "size",
579
+ "cases": 8,
580
+ "group": "badge and pill widths",
581
+ "right": "web",
582
+ "fix": [
583
+ "gpui"
584
+ ],
585
+ "decision": "Cascade of `pill-1`."
586
+ },
587
+ {
588
+ "id": "pill-2",
589
+ "component": "Box",
590
+ "kind": "position",
591
+ "cases": 8,
592
+ "group": "badge and pill widths",
593
+ "right": "web",
594
+ "fix": [
595
+ "gpui"
596
+ ],
597
+ "decision": "Cascade of `pill-1`."
598
+ },
599
+ {
600
+ "id": "pill-3",
601
+ "component": "Box",
602
+ "kind": "position",
603
+ "cases": 8,
604
+ "group": "badge and pill widths",
605
+ "right": "web",
606
+ "fix": [
607
+ "gpui"
608
+ ],
609
+ "decision": "Cascade of `pill-1`."
610
+ },
611
+ {
612
+ "id": "pill-4",
613
+ "component": "Box",
614
+ "kind": "position",
615
+ "cases": 8,
616
+ "group": "badge and pill widths",
617
+ "right": "web",
618
+ "fix": [
619
+ "gpui"
620
+ ],
621
+ "decision": "Cascade of `pill-1`."
622
+ },
623
+ {
624
+ "id": "tab-bar.item.1.icon",
625
+ "component": "Icon",
626
+ "kind": "size",
627
+ "cases": 8,
628
+ "group": "transforms",
629
+ "right": "gpui",
630
+ "fix": [
631
+ "contract"
632
+ ],
633
+ "decision": "`transform` is paint-only: the selected icon's scale(1.15) never changes its 20 px box. The web dump now measures with transforms off (conformance/dom.ts LAYOUT_ONLY_CSS)."
634
+ },
635
+ {
636
+ "id": "hover-card",
637
+ "component": "Popover",
638
+ "kind": "size",
639
+ "cases": 4,
640
+ "group": "overlay trigger rows",
641
+ "right": "web",
642
+ "fix": [
643
+ "gpui"
644
+ ],
645
+ "decision": "As `hover-card-trigger` (the overlay's frame = its stretched Link trigger)."
646
+ }
647
+ ],
648
+ "rules": [
649
+ {
650
+ "group": "switch order",
651
+ "right": "gpui",
652
+ "fix": [
653
+ "react"
654
+ ],
655
+ "decision": "Switch = [label + description column][switch], label first, the track at the END (trailing edge in rtl), like iOS/shadcn settings rows; the whole row toggles. Checkbox and Radio keep the control first."
656
+ },
657
+ {
658
+ "group": "checkbox label overlap",
659
+ "right": "gpui",
660
+ "fix": [
661
+ "react"
662
+ ],
663
+ "decision": "Checkbox = [box][`Checkbox/root` gap][label + description column]; the label never overlaps the box."
664
+ },
665
+ {
666
+ "group": "input placeholder inset",
667
+ "right": "web",
668
+ "fix": [
669
+ "gpui"
670
+ ],
671
+ "decision": "Text inside a field starts at the field's border + `paddingHorizontal` (14 = 1 + 12 + rounding under neutral); no painter padding of its own."
672
+ },
673
+ {
674
+ "group": "accordion count",
675
+ "right": "web",
676
+ "fix": [
677
+ "gpui",
678
+ "react"
679
+ ],
680
+ "decision": "An accordion item's `count` is its own part `Accordion/count` after the title (muted), never concatenated into the title text (`History · 4`)."
681
+ },
682
+ {
683
+ "group": "image fallbacks",
684
+ "right": "contract",
685
+ "fix": [
686
+ "react",
687
+ "gpui"
688
+ ],
689
+ "decision": "`Image/fallback` fills the image box (its recipe colours) with the glyph (`fallback` or `Image.fallback`) at `$control.iconLg`, centred."
690
+ },
691
+ {
692
+ "group": "carousel pages",
693
+ "right": "gpui",
694
+ "fix": [
695
+ "react",
696
+ "contract"
697
+ ],
698
+ "decision": "Only the ACTIVE carousel page is placed; inactive pages are aria-hidden and inert, may stay mounted for swiping, and carry `data-xui-inactive` (the web dump skips them)."
699
+ },
700
+ {
701
+ "group": "rtl bidi",
702
+ "right": "web",
703
+ "fix": [
704
+ "gpui"
705
+ ],
706
+ "decision": "Text shapes with the Unicode Bidi Algorithm, paragraph direction = the NODE's direction (`Hello!` in an rtl box shows `!Hello`)."
707
+ },
708
+ {
709
+ "group": "resp-states line breaks",
710
+ "right": "contract",
711
+ "fix": [
712
+ "survivor"
713
+ ],
714
+ "decision": "Line breaking = UAX #14 on both sides.",
715
+ "reason": "No origin in the 2026-10-08 report; kept as a watch item: two text engines may still break one word differently near a box edge, which the ±1 line tolerance absorbs."
716
+ },
717
+ {
718
+ "group": "coverage",
719
+ "right": "contract",
720
+ "fix": [
721
+ "react"
722
+ ],
723
+ "decision": "Every part a painter lays out is a recipes.json part and carries `data-xui-id=\"<node id>.<part>[.<index or row key>]\"` + `data-xui-part` (the 110 gpui-only ids per kitchen-sink case are those parts); thumbs, the Slider range and decorations are paint parts and are not dumped."
724
+ }
725
+ ],
726
+ "cases": {
727
+ "kitchen-sink/exponential/dark/390/ltr": {
728
+ "size": 0,
729
+ "position": 0,
730
+ "wrap": 0,
731
+ "onlyRef": 6,
732
+ "onlyCand": 0
733
+ },
734
+ "kitchen-sink/exponential/dark/390/rtl": {
735
+ "size": 0,
736
+ "position": 0,
737
+ "wrap": 0,
738
+ "onlyRef": 6,
739
+ "onlyCand": 0
740
+ },
741
+ "kitchen-sink/exponential/dark/600/ltr": {
742
+ "size": 0,
743
+ "position": 0,
744
+ "wrap": 0,
745
+ "onlyRef": 7,
746
+ "onlyCand": 0
747
+ },
748
+ "kitchen-sink/exponential/dark/600/rtl": {
749
+ "size": 0,
750
+ "position": 0,
751
+ "wrap": 0,
752
+ "onlyRef": 7,
753
+ "onlyCand": 0
754
+ },
755
+ "kitchen-sink/exponential/dark/900/ltr": {
756
+ "size": 0,
757
+ "position": 0,
758
+ "wrap": 0,
759
+ "onlyRef": 8,
760
+ "onlyCand": 0
761
+ },
762
+ "kitchen-sink/exponential/dark/900/rtl": {
763
+ "size": 0,
764
+ "position": 0,
765
+ "wrap": 0,
766
+ "onlyRef": 8,
767
+ "onlyCand": 0
768
+ },
769
+ "kitchen-sink/exponential/dark/1280/ltr": {
770
+ "size": 0,
771
+ "position": 0,
772
+ "wrap": 0,
773
+ "onlyRef": 7,
774
+ "onlyCand": 0
775
+ },
776
+ "kitchen-sink/exponential/dark/1280/rtl": {
777
+ "size": 0,
778
+ "position": 0,
779
+ "wrap": 0,
780
+ "onlyRef": 7,
781
+ "onlyCand": 0
782
+ },
783
+ "kitchen-sink/exponential/light/390/ltr": {
784
+ "size": 0,
785
+ "position": 0,
786
+ "wrap": 0,
787
+ "onlyRef": 6,
788
+ "onlyCand": 0
789
+ },
790
+ "kitchen-sink/exponential/light/390/rtl": {
791
+ "size": 0,
792
+ "position": 0,
793
+ "wrap": 0,
794
+ "onlyRef": 6,
795
+ "onlyCand": 0
796
+ },
797
+ "kitchen-sink/exponential/light/600/ltr": {
798
+ "size": 0,
799
+ "position": 0,
800
+ "wrap": 0,
801
+ "onlyRef": 7,
802
+ "onlyCand": 0
803
+ },
804
+ "kitchen-sink/exponential/light/600/rtl": {
805
+ "size": 0,
806
+ "position": 0,
807
+ "wrap": 0,
808
+ "onlyRef": 7,
809
+ "onlyCand": 0
810
+ },
811
+ "kitchen-sink/exponential/light/900/ltr": {
812
+ "size": 0,
813
+ "position": 0,
814
+ "wrap": 0,
815
+ "onlyRef": 8,
816
+ "onlyCand": 0
817
+ },
818
+ "kitchen-sink/exponential/light/900/rtl": {
819
+ "size": 0,
820
+ "position": 0,
821
+ "wrap": 0,
822
+ "onlyRef": 8,
823
+ "onlyCand": 0
824
+ },
825
+ "kitchen-sink/exponential/light/1280/ltr": {
826
+ "size": 0,
827
+ "position": 0,
828
+ "wrap": 0,
829
+ "onlyRef": 7,
830
+ "onlyCand": 0
831
+ },
832
+ "kitchen-sink/exponential/light/1280/rtl": {
833
+ "size": 0,
834
+ "position": 0,
835
+ "wrap": 0,
836
+ "onlyRef": 7,
837
+ "onlyCand": 0
838
+ },
839
+ "kitchen-sink/neutral/dark/390/ltr": {
840
+ "size": 0,
841
+ "position": 0,
842
+ "wrap": 0,
843
+ "onlyRef": 6,
844
+ "onlyCand": 0
845
+ },
846
+ "kitchen-sink/neutral/dark/390/rtl": {
847
+ "size": 0,
848
+ "position": 0,
849
+ "wrap": 0,
850
+ "onlyRef": 6,
851
+ "onlyCand": 0
852
+ },
853
+ "kitchen-sink/neutral/dark/600/ltr": {
854
+ "size": 0,
855
+ "position": 0,
856
+ "wrap": 0,
857
+ "onlyRef": 6,
858
+ "onlyCand": 0
859
+ },
860
+ "kitchen-sink/neutral/dark/600/rtl": {
861
+ "size": 0,
862
+ "position": 0,
863
+ "wrap": 0,
864
+ "onlyRef": 6,
865
+ "onlyCand": 0
866
+ },
867
+ "kitchen-sink/neutral/dark/900/ltr": {
868
+ "size": 0,
869
+ "position": 0,
870
+ "wrap": 0,
871
+ "onlyRef": 7,
872
+ "onlyCand": 0
873
+ },
874
+ "kitchen-sink/neutral/dark/900/rtl": {
875
+ "size": 0,
876
+ "position": 0,
877
+ "wrap": 0,
878
+ "onlyRef": 7,
879
+ "onlyCand": 0
880
+ },
881
+ "kitchen-sink/neutral/dark/1280/ltr": {
882
+ "size": 0,
883
+ "position": 0,
884
+ "wrap": 0,
885
+ "onlyRef": 6,
886
+ "onlyCand": 0
887
+ },
888
+ "kitchen-sink/neutral/dark/1280/rtl": {
889
+ "size": 0,
890
+ "position": 0,
891
+ "wrap": 0,
892
+ "onlyRef": 6,
893
+ "onlyCand": 0
894
+ },
895
+ "kitchen-sink/neutral/light/390/ltr": {
896
+ "size": 0,
897
+ "position": 0,
898
+ "wrap": 0,
899
+ "onlyRef": 6,
900
+ "onlyCand": 0
901
+ },
902
+ "kitchen-sink/neutral/light/390/rtl": {
903
+ "size": 0,
904
+ "position": 0,
905
+ "wrap": 0,
906
+ "onlyRef": 6,
907
+ "onlyCand": 0
908
+ },
909
+ "kitchen-sink/neutral/light/600/ltr": {
910
+ "size": 0,
911
+ "position": 0,
912
+ "wrap": 0,
913
+ "onlyRef": 6,
914
+ "onlyCand": 0
915
+ },
916
+ "kitchen-sink/neutral/light/600/rtl": {
917
+ "size": 0,
918
+ "position": 0,
919
+ "wrap": 0,
920
+ "onlyRef": 6,
921
+ "onlyCand": 0
922
+ },
923
+ "kitchen-sink/neutral/light/900/ltr": {
924
+ "size": 0,
925
+ "position": 0,
926
+ "wrap": 0,
927
+ "onlyRef": 7,
928
+ "onlyCand": 0
929
+ },
930
+ "kitchen-sink/neutral/light/900/rtl": {
931
+ "size": 0,
932
+ "position": 0,
933
+ "wrap": 0,
934
+ "onlyRef": 7,
935
+ "onlyCand": 0
936
+ },
937
+ "kitchen-sink/neutral/light/1280/ltr": {
938
+ "size": 0,
939
+ "position": 0,
940
+ "wrap": 0,
941
+ "onlyRef": 6,
942
+ "onlyCand": 0
943
+ },
944
+ "kitchen-sink/neutral/light/1280/rtl": {
945
+ "size": 0,
946
+ "position": 0,
947
+ "wrap": 0,
948
+ "onlyRef": 6,
949
+ "onlyCand": 0
950
+ },
951
+ "kitchen-sink/playful/dark/390/ltr": {
952
+ "size": 0,
953
+ "position": 0,
954
+ "wrap": 0,
955
+ "onlyRef": 6,
956
+ "onlyCand": 0
957
+ },
958
+ "kitchen-sink/playful/dark/390/rtl": {
959
+ "size": 0,
960
+ "position": 0,
961
+ "wrap": 0,
962
+ "onlyRef": 6,
963
+ "onlyCand": 0
964
+ },
965
+ "kitchen-sink/playful/dark/600/ltr": {
966
+ "size": 0,
967
+ "position": 0,
968
+ "wrap": 0,
969
+ "onlyRef": 6,
970
+ "onlyCand": 0
971
+ },
972
+ "kitchen-sink/playful/dark/600/rtl": {
973
+ "size": 0,
974
+ "position": 0,
975
+ "wrap": 0,
976
+ "onlyRef": 6,
977
+ "onlyCand": 0
978
+ },
979
+ "kitchen-sink/playful/dark/900/ltr": {
980
+ "size": 0,
981
+ "position": 0,
982
+ "wrap": 0,
983
+ "onlyRef": 6,
984
+ "onlyCand": 0
985
+ },
986
+ "kitchen-sink/playful/dark/900/rtl": {
987
+ "size": 0,
988
+ "position": 0,
989
+ "wrap": 0,
990
+ "onlyRef": 6,
991
+ "onlyCand": 0
992
+ },
993
+ "kitchen-sink/playful/dark/1280/ltr": {
994
+ "size": 0,
995
+ "position": 0,
996
+ "wrap": 0,
997
+ "onlyRef": 6,
998
+ "onlyCand": 0
999
+ },
1000
+ "kitchen-sink/playful/dark/1280/rtl": {
1001
+ "size": 0,
1002
+ "position": 0,
1003
+ "wrap": 0,
1004
+ "onlyRef": 6,
1005
+ "onlyCand": 0
1006
+ },
1007
+ "kitchen-sink/playful/light/390/ltr": {
1008
+ "size": 0,
1009
+ "position": 0,
1010
+ "wrap": 0,
1011
+ "onlyRef": 6,
1012
+ "onlyCand": 0
1013
+ },
1014
+ "kitchen-sink/playful/light/390/rtl": {
1015
+ "size": 0,
1016
+ "position": 0,
1017
+ "wrap": 0,
1018
+ "onlyRef": 6,
1019
+ "onlyCand": 0
1020
+ },
1021
+ "kitchen-sink/playful/light/600/ltr": {
1022
+ "size": 0,
1023
+ "position": 0,
1024
+ "wrap": 0,
1025
+ "onlyRef": 6,
1026
+ "onlyCand": 0
1027
+ },
1028
+ "kitchen-sink/playful/light/600/rtl": {
1029
+ "size": 0,
1030
+ "position": 0,
1031
+ "wrap": 0,
1032
+ "onlyRef": 6,
1033
+ "onlyCand": 0
1034
+ },
1035
+ "kitchen-sink/playful/light/900/ltr": {
1036
+ "size": 0,
1037
+ "position": 0,
1038
+ "wrap": 0,
1039
+ "onlyRef": 6,
1040
+ "onlyCand": 0
1041
+ },
1042
+ "kitchen-sink/playful/light/900/rtl": {
1043
+ "size": 0,
1044
+ "position": 0,
1045
+ "wrap": 0,
1046
+ "onlyRef": 6,
1047
+ "onlyCand": 0
1048
+ },
1049
+ "kitchen-sink/playful/light/1280/ltr": {
1050
+ "size": 0,
1051
+ "position": 0,
1052
+ "wrap": 0,
1053
+ "onlyRef": 6,
1054
+ "onlyCand": 0
1055
+ },
1056
+ "kitchen-sink/playful/light/1280/rtl": {
1057
+ "size": 0,
1058
+ "position": 0,
1059
+ "wrap": 0,
1060
+ "onlyRef": 6,
1061
+ "onlyCand": 0
1062
+ },
1063
+ "kitchen-sink/orange/dark/390/ltr": {
1064
+ "size": 0,
1065
+ "position": 0,
1066
+ "wrap": 0,
1067
+ "onlyRef": 6,
1068
+ "onlyCand": 0
1069
+ },
1070
+ "kitchen-sink/orange/dark/390/rtl": {
1071
+ "size": 0,
1072
+ "position": 0,
1073
+ "wrap": 0,
1074
+ "onlyRef": 6,
1075
+ "onlyCand": 0
1076
+ },
1077
+ "kitchen-sink/orange/dark/600/ltr": {
1078
+ "size": 0,
1079
+ "position": 0,
1080
+ "wrap": 0,
1081
+ "onlyRef": 7,
1082
+ "onlyCand": 0
1083
+ },
1084
+ "kitchen-sink/orange/dark/600/rtl": {
1085
+ "size": 0,
1086
+ "position": 0,
1087
+ "wrap": 0,
1088
+ "onlyRef": 7,
1089
+ "onlyCand": 0
1090
+ },
1091
+ "kitchen-sink/orange/dark/900/ltr": {
1092
+ "size": 0,
1093
+ "position": 0,
1094
+ "wrap": 0,
1095
+ "onlyRef": 8,
1096
+ "onlyCand": 0
1097
+ },
1098
+ "kitchen-sink/orange/dark/900/rtl": {
1099
+ "size": 0,
1100
+ "position": 0,
1101
+ "wrap": 0,
1102
+ "onlyRef": 8,
1103
+ "onlyCand": 0
1104
+ },
1105
+ "kitchen-sink/orange/dark/1280/ltr": {
1106
+ "size": 0,
1107
+ "position": 0,
1108
+ "wrap": 0,
1109
+ "onlyRef": 7,
1110
+ "onlyCand": 0
1111
+ },
1112
+ "kitchen-sink/orange/dark/1280/rtl": {
1113
+ "size": 0,
1114
+ "position": 0,
1115
+ "wrap": 0,
1116
+ "onlyRef": 7,
1117
+ "onlyCand": 0
1118
+ },
1119
+ "kitchen-sink/orange/light/390/ltr": {
1120
+ "size": 0,
1121
+ "position": 0,
1122
+ "wrap": 0,
1123
+ "onlyRef": 6,
1124
+ "onlyCand": 0
1125
+ },
1126
+ "kitchen-sink/orange/light/390/rtl": {
1127
+ "size": 0,
1128
+ "position": 0,
1129
+ "wrap": 0,
1130
+ "onlyRef": 6,
1131
+ "onlyCand": 0
1132
+ },
1133
+ "kitchen-sink/orange/light/600/ltr": {
1134
+ "size": 0,
1135
+ "position": 0,
1136
+ "wrap": 0,
1137
+ "onlyRef": 7,
1138
+ "onlyCand": 0
1139
+ },
1140
+ "kitchen-sink/orange/light/600/rtl": {
1141
+ "size": 0,
1142
+ "position": 0,
1143
+ "wrap": 0,
1144
+ "onlyRef": 7,
1145
+ "onlyCand": 0
1146
+ },
1147
+ "kitchen-sink/orange/light/900/ltr": {
1148
+ "size": 0,
1149
+ "position": 0,
1150
+ "wrap": 0,
1151
+ "onlyRef": 8,
1152
+ "onlyCand": 0
1153
+ },
1154
+ "kitchen-sink/orange/light/900/rtl": {
1155
+ "size": 0,
1156
+ "position": 0,
1157
+ "wrap": 0,
1158
+ "onlyRef": 8,
1159
+ "onlyCand": 0
1160
+ },
1161
+ "kitchen-sink/orange/light/1280/ltr": {
1162
+ "size": 0,
1163
+ "position": 0,
1164
+ "wrap": 0,
1165
+ "onlyRef": 7,
1166
+ "onlyCand": 0
1167
+ },
1168
+ "kitchen-sink/orange/light/1280/rtl": {
1169
+ "size": 0,
1170
+ "position": 0,
1171
+ "wrap": 0,
1172
+ "onlyRef": 7,
1173
+ "onlyCand": 0
1174
+ },
1175
+ "responsive/exponential/dark/390/ltr": {
1176
+ "size": 0,
1177
+ "position": 0,
1178
+ "wrap": 0,
1179
+ "onlyRef": 0,
1180
+ "onlyCand": 0
1181
+ },
1182
+ "responsive/exponential/dark/390/rtl": {
1183
+ "size": 0,
1184
+ "position": 0,
1185
+ "wrap": 0,
1186
+ "onlyRef": 0,
1187
+ "onlyCand": 0
1188
+ },
1189
+ "responsive/exponential/dark/600/ltr": {
1190
+ "size": 0,
1191
+ "position": 0,
1192
+ "wrap": 0,
1193
+ "onlyRef": 0,
1194
+ "onlyCand": 0
1195
+ },
1196
+ "responsive/exponential/dark/600/rtl": {
1197
+ "size": 0,
1198
+ "position": 0,
1199
+ "wrap": 0,
1200
+ "onlyRef": 0,
1201
+ "onlyCand": 0
1202
+ },
1203
+ "responsive/exponential/dark/900/ltr": {
1204
+ "size": 0,
1205
+ "position": 0,
1206
+ "wrap": 0,
1207
+ "onlyRef": 0,
1208
+ "onlyCand": 0
1209
+ },
1210
+ "responsive/exponential/dark/900/rtl": {
1211
+ "size": 0,
1212
+ "position": 0,
1213
+ "wrap": 0,
1214
+ "onlyRef": 0,
1215
+ "onlyCand": 0
1216
+ },
1217
+ "responsive/exponential/dark/1280/ltr": {
1218
+ "size": 0,
1219
+ "position": 0,
1220
+ "wrap": 0,
1221
+ "onlyRef": 0,
1222
+ "onlyCand": 0
1223
+ },
1224
+ "responsive/exponential/dark/1280/rtl": {
1225
+ "size": 0,
1226
+ "position": 0,
1227
+ "wrap": 0,
1228
+ "onlyRef": 0,
1229
+ "onlyCand": 0
1230
+ },
1231
+ "responsive/exponential/light/390/ltr": {
1232
+ "size": 0,
1233
+ "position": 0,
1234
+ "wrap": 0,
1235
+ "onlyRef": 0,
1236
+ "onlyCand": 0
1237
+ },
1238
+ "responsive/exponential/light/390/rtl": {
1239
+ "size": 0,
1240
+ "position": 0,
1241
+ "wrap": 0,
1242
+ "onlyRef": 0,
1243
+ "onlyCand": 0
1244
+ },
1245
+ "responsive/exponential/light/600/ltr": {
1246
+ "size": 0,
1247
+ "position": 0,
1248
+ "wrap": 0,
1249
+ "onlyRef": 0,
1250
+ "onlyCand": 0
1251
+ },
1252
+ "responsive/exponential/light/600/rtl": {
1253
+ "size": 0,
1254
+ "position": 0,
1255
+ "wrap": 0,
1256
+ "onlyRef": 0,
1257
+ "onlyCand": 0
1258
+ },
1259
+ "responsive/exponential/light/900/ltr": {
1260
+ "size": 0,
1261
+ "position": 0,
1262
+ "wrap": 0,
1263
+ "onlyRef": 0,
1264
+ "onlyCand": 0
1265
+ },
1266
+ "responsive/exponential/light/900/rtl": {
1267
+ "size": 0,
1268
+ "position": 0,
1269
+ "wrap": 0,
1270
+ "onlyRef": 0,
1271
+ "onlyCand": 0
1272
+ },
1273
+ "responsive/exponential/light/1280/ltr": {
1274
+ "size": 0,
1275
+ "position": 0,
1276
+ "wrap": 0,
1277
+ "onlyRef": 0,
1278
+ "onlyCand": 0
1279
+ },
1280
+ "responsive/exponential/light/1280/rtl": {
1281
+ "size": 0,
1282
+ "position": 0,
1283
+ "wrap": 0,
1284
+ "onlyRef": 0,
1285
+ "onlyCand": 0
1286
+ },
1287
+ "responsive/neutral/dark/390/ltr": {
1288
+ "size": 0,
1289
+ "position": 0,
1290
+ "wrap": 0,
1291
+ "onlyRef": 0,
1292
+ "onlyCand": 0
1293
+ },
1294
+ "responsive/neutral/dark/390/rtl": {
1295
+ "size": 0,
1296
+ "position": 0,
1297
+ "wrap": 0,
1298
+ "onlyRef": 0,
1299
+ "onlyCand": 0
1300
+ },
1301
+ "responsive/neutral/dark/600/ltr": {
1302
+ "size": 0,
1303
+ "position": 0,
1304
+ "wrap": 0,
1305
+ "onlyRef": 0,
1306
+ "onlyCand": 0
1307
+ },
1308
+ "responsive/neutral/dark/600/rtl": {
1309
+ "size": 0,
1310
+ "position": 0,
1311
+ "wrap": 0,
1312
+ "onlyRef": 0,
1313
+ "onlyCand": 0
1314
+ },
1315
+ "responsive/neutral/dark/900/ltr": {
1316
+ "size": 0,
1317
+ "position": 0,
1318
+ "wrap": 0,
1319
+ "onlyRef": 0,
1320
+ "onlyCand": 0
1321
+ },
1322
+ "responsive/neutral/dark/900/rtl": {
1323
+ "size": 0,
1324
+ "position": 0,
1325
+ "wrap": 0,
1326
+ "onlyRef": 0,
1327
+ "onlyCand": 0
1328
+ },
1329
+ "responsive/neutral/dark/1280/ltr": {
1330
+ "size": 0,
1331
+ "position": 0,
1332
+ "wrap": 0,
1333
+ "onlyRef": 0,
1334
+ "onlyCand": 0
1335
+ },
1336
+ "responsive/neutral/dark/1280/rtl": {
1337
+ "size": 0,
1338
+ "position": 0,
1339
+ "wrap": 0,
1340
+ "onlyRef": 0,
1341
+ "onlyCand": 0
1342
+ },
1343
+ "responsive/neutral/light/390/ltr": {
1344
+ "size": 0,
1345
+ "position": 0,
1346
+ "wrap": 0,
1347
+ "onlyRef": 0,
1348
+ "onlyCand": 0
1349
+ },
1350
+ "responsive/neutral/light/390/rtl": {
1351
+ "size": 0,
1352
+ "position": 0,
1353
+ "wrap": 0,
1354
+ "onlyRef": 0,
1355
+ "onlyCand": 0
1356
+ },
1357
+ "responsive/neutral/light/600/ltr": {
1358
+ "size": 0,
1359
+ "position": 0,
1360
+ "wrap": 0,
1361
+ "onlyRef": 0,
1362
+ "onlyCand": 0
1363
+ },
1364
+ "responsive/neutral/light/600/rtl": {
1365
+ "size": 0,
1366
+ "position": 0,
1367
+ "wrap": 0,
1368
+ "onlyRef": 0,
1369
+ "onlyCand": 0
1370
+ },
1371
+ "responsive/neutral/light/900/ltr": {
1372
+ "size": 0,
1373
+ "position": 0,
1374
+ "wrap": 0,
1375
+ "onlyRef": 0,
1376
+ "onlyCand": 0
1377
+ },
1378
+ "responsive/neutral/light/900/rtl": {
1379
+ "size": 0,
1380
+ "position": 0,
1381
+ "wrap": 0,
1382
+ "onlyRef": 0,
1383
+ "onlyCand": 0
1384
+ },
1385
+ "responsive/neutral/light/1280/ltr": {
1386
+ "size": 0,
1387
+ "position": 0,
1388
+ "wrap": 0,
1389
+ "onlyRef": 0,
1390
+ "onlyCand": 0
1391
+ },
1392
+ "responsive/neutral/light/1280/rtl": {
1393
+ "size": 0,
1394
+ "position": 0,
1395
+ "wrap": 0,
1396
+ "onlyRef": 0,
1397
+ "onlyCand": 0
1398
+ },
1399
+ "responsive/playful/dark/390/ltr": {
1400
+ "size": 0,
1401
+ "position": 0,
1402
+ "wrap": 0,
1403
+ "onlyRef": 0,
1404
+ "onlyCand": 0
1405
+ },
1406
+ "responsive/playful/dark/390/rtl": {
1407
+ "size": 0,
1408
+ "position": 0,
1409
+ "wrap": 0,
1410
+ "onlyRef": 0,
1411
+ "onlyCand": 0
1412
+ },
1413
+ "responsive/playful/dark/600/ltr": {
1414
+ "size": 0,
1415
+ "position": 0,
1416
+ "wrap": 0,
1417
+ "onlyRef": 0,
1418
+ "onlyCand": 0
1419
+ },
1420
+ "responsive/playful/dark/600/rtl": {
1421
+ "size": 0,
1422
+ "position": 0,
1423
+ "wrap": 0,
1424
+ "onlyRef": 0,
1425
+ "onlyCand": 0
1426
+ },
1427
+ "responsive/playful/dark/900/ltr": {
1428
+ "size": 0,
1429
+ "position": 0,
1430
+ "wrap": 0,
1431
+ "onlyRef": 0,
1432
+ "onlyCand": 0
1433
+ },
1434
+ "responsive/playful/dark/900/rtl": {
1435
+ "size": 0,
1436
+ "position": 0,
1437
+ "wrap": 0,
1438
+ "onlyRef": 0,
1439
+ "onlyCand": 0
1440
+ },
1441
+ "responsive/playful/dark/1280/ltr": {
1442
+ "size": 0,
1443
+ "position": 0,
1444
+ "wrap": 0,
1445
+ "onlyRef": 0,
1446
+ "onlyCand": 0
1447
+ },
1448
+ "responsive/playful/dark/1280/rtl": {
1449
+ "size": 0,
1450
+ "position": 0,
1451
+ "wrap": 0,
1452
+ "onlyRef": 0,
1453
+ "onlyCand": 0
1454
+ },
1455
+ "responsive/playful/light/390/ltr": {
1456
+ "size": 0,
1457
+ "position": 0,
1458
+ "wrap": 0,
1459
+ "onlyRef": 0,
1460
+ "onlyCand": 0
1461
+ },
1462
+ "responsive/playful/light/390/rtl": {
1463
+ "size": 0,
1464
+ "position": 0,
1465
+ "wrap": 0,
1466
+ "onlyRef": 0,
1467
+ "onlyCand": 0
1468
+ },
1469
+ "responsive/playful/light/600/ltr": {
1470
+ "size": 0,
1471
+ "position": 0,
1472
+ "wrap": 0,
1473
+ "onlyRef": 0,
1474
+ "onlyCand": 0
1475
+ },
1476
+ "responsive/playful/light/600/rtl": {
1477
+ "size": 0,
1478
+ "position": 0,
1479
+ "wrap": 0,
1480
+ "onlyRef": 0,
1481
+ "onlyCand": 0
1482
+ },
1483
+ "responsive/playful/light/900/ltr": {
1484
+ "size": 0,
1485
+ "position": 0,
1486
+ "wrap": 0,
1487
+ "onlyRef": 0,
1488
+ "onlyCand": 0
1489
+ },
1490
+ "responsive/playful/light/900/rtl": {
1491
+ "size": 0,
1492
+ "position": 0,
1493
+ "wrap": 0,
1494
+ "onlyRef": 0,
1495
+ "onlyCand": 0
1496
+ },
1497
+ "responsive/playful/light/1280/ltr": {
1498
+ "size": 0,
1499
+ "position": 0,
1500
+ "wrap": 0,
1501
+ "onlyRef": 0,
1502
+ "onlyCand": 0
1503
+ },
1504
+ "responsive/playful/light/1280/rtl": {
1505
+ "size": 0,
1506
+ "position": 0,
1507
+ "wrap": 0,
1508
+ "onlyRef": 0,
1509
+ "onlyCand": 0
1510
+ },
1511
+ "responsive/orange/dark/390/ltr": {
1512
+ "size": 0,
1513
+ "position": 0,
1514
+ "wrap": 0,
1515
+ "onlyRef": 0,
1516
+ "onlyCand": 0
1517
+ },
1518
+ "responsive/orange/dark/390/rtl": {
1519
+ "size": 0,
1520
+ "position": 0,
1521
+ "wrap": 0,
1522
+ "onlyRef": 0,
1523
+ "onlyCand": 0
1524
+ },
1525
+ "responsive/orange/dark/600/ltr": {
1526
+ "size": 0,
1527
+ "position": 0,
1528
+ "wrap": 0,
1529
+ "onlyRef": 0,
1530
+ "onlyCand": 0
1531
+ },
1532
+ "responsive/orange/dark/600/rtl": {
1533
+ "size": 0,
1534
+ "position": 0,
1535
+ "wrap": 0,
1536
+ "onlyRef": 0,
1537
+ "onlyCand": 0
1538
+ },
1539
+ "responsive/orange/dark/900/ltr": {
1540
+ "size": 0,
1541
+ "position": 0,
1542
+ "wrap": 0,
1543
+ "onlyRef": 0,
1544
+ "onlyCand": 0
1545
+ },
1546
+ "responsive/orange/dark/900/rtl": {
1547
+ "size": 0,
1548
+ "position": 0,
1549
+ "wrap": 0,
1550
+ "onlyRef": 0,
1551
+ "onlyCand": 0
1552
+ },
1553
+ "responsive/orange/dark/1280/ltr": {
1554
+ "size": 0,
1555
+ "position": 0,
1556
+ "wrap": 0,
1557
+ "onlyRef": 0,
1558
+ "onlyCand": 0
1559
+ },
1560
+ "responsive/orange/dark/1280/rtl": {
1561
+ "size": 0,
1562
+ "position": 0,
1563
+ "wrap": 0,
1564
+ "onlyRef": 0,
1565
+ "onlyCand": 0
1566
+ },
1567
+ "responsive/orange/light/390/ltr": {
1568
+ "size": 0,
1569
+ "position": 0,
1570
+ "wrap": 0,
1571
+ "onlyRef": 0,
1572
+ "onlyCand": 0
1573
+ },
1574
+ "responsive/orange/light/390/rtl": {
1575
+ "size": 0,
1576
+ "position": 0,
1577
+ "wrap": 0,
1578
+ "onlyRef": 0,
1579
+ "onlyCand": 0
1580
+ },
1581
+ "responsive/orange/light/600/ltr": {
1582
+ "size": 0,
1583
+ "position": 0,
1584
+ "wrap": 0,
1585
+ "onlyRef": 0,
1586
+ "onlyCand": 0
1587
+ },
1588
+ "responsive/orange/light/600/rtl": {
1589
+ "size": 0,
1590
+ "position": 0,
1591
+ "wrap": 0,
1592
+ "onlyRef": 0,
1593
+ "onlyCand": 0
1594
+ },
1595
+ "responsive/orange/light/900/ltr": {
1596
+ "size": 0,
1597
+ "position": 0,
1598
+ "wrap": 0,
1599
+ "onlyRef": 0,
1600
+ "onlyCand": 0
1601
+ },
1602
+ "responsive/orange/light/900/rtl": {
1603
+ "size": 0,
1604
+ "position": 0,
1605
+ "wrap": 0,
1606
+ "onlyRef": 0,
1607
+ "onlyCand": 0
1608
+ },
1609
+ "responsive/orange/light/1280/ltr": {
1610
+ "size": 0,
1611
+ "position": 0,
1612
+ "wrap": 0,
1613
+ "onlyRef": 0,
1614
+ "onlyCand": 0
1615
+ },
1616
+ "responsive/orange/light/1280/rtl": {
1617
+ "size": 0,
1618
+ "position": 0,
1619
+ "wrap": 0,
1620
+ "onlyRef": 0,
1621
+ "onlyCand": 0
1622
+ },
1623
+ "dashboard/exponential/dark/390/ltr": {
1624
+ "size": 0,
1625
+ "position": 0,
1626
+ "wrap": 0,
1627
+ "onlyRef": 0,
1628
+ "onlyCand": 0
1629
+ },
1630
+ "dashboard/exponential/dark/390/rtl": {
1631
+ "size": 0,
1632
+ "position": 0,
1633
+ "wrap": 0,
1634
+ "onlyRef": 0,
1635
+ "onlyCand": 0
1636
+ },
1637
+ "dashboard/exponential/dark/600/ltr": {
1638
+ "size": 0,
1639
+ "position": 0,
1640
+ "wrap": 0,
1641
+ "onlyRef": 0,
1642
+ "onlyCand": 0
1643
+ },
1644
+ "dashboard/exponential/dark/600/rtl": {
1645
+ "size": 0,
1646
+ "position": 0,
1647
+ "wrap": 0,
1648
+ "onlyRef": 0,
1649
+ "onlyCand": 0
1650
+ },
1651
+ "dashboard/exponential/dark/900/ltr": {
1652
+ "size": 0,
1653
+ "position": 0,
1654
+ "wrap": 0,
1655
+ "onlyRef": 0,
1656
+ "onlyCand": 0
1657
+ },
1658
+ "dashboard/exponential/dark/900/rtl": {
1659
+ "size": 0,
1660
+ "position": 0,
1661
+ "wrap": 0,
1662
+ "onlyRef": 0,
1663
+ "onlyCand": 0
1664
+ },
1665
+ "dashboard/exponential/dark/1280/ltr": {
1666
+ "size": 0,
1667
+ "position": 0,
1668
+ "wrap": 0,
1669
+ "onlyRef": 0,
1670
+ "onlyCand": 0
1671
+ },
1672
+ "dashboard/exponential/dark/1280/rtl": {
1673
+ "size": 0,
1674
+ "position": 0,
1675
+ "wrap": 0,
1676
+ "onlyRef": 0,
1677
+ "onlyCand": 0
1678
+ },
1679
+ "dashboard/exponential/light/390/ltr": {
1680
+ "size": 0,
1681
+ "position": 0,
1682
+ "wrap": 0,
1683
+ "onlyRef": 0,
1684
+ "onlyCand": 0
1685
+ },
1686
+ "dashboard/exponential/light/390/rtl": {
1687
+ "size": 0,
1688
+ "position": 0,
1689
+ "wrap": 0,
1690
+ "onlyRef": 0,
1691
+ "onlyCand": 0
1692
+ },
1693
+ "dashboard/exponential/light/600/ltr": {
1694
+ "size": 0,
1695
+ "position": 0,
1696
+ "wrap": 0,
1697
+ "onlyRef": 0,
1698
+ "onlyCand": 0
1699
+ },
1700
+ "dashboard/exponential/light/600/rtl": {
1701
+ "size": 0,
1702
+ "position": 0,
1703
+ "wrap": 0,
1704
+ "onlyRef": 0,
1705
+ "onlyCand": 0
1706
+ },
1707
+ "dashboard/exponential/light/900/ltr": {
1708
+ "size": 0,
1709
+ "position": 0,
1710
+ "wrap": 0,
1711
+ "onlyRef": 0,
1712
+ "onlyCand": 0
1713
+ },
1714
+ "dashboard/exponential/light/900/rtl": {
1715
+ "size": 0,
1716
+ "position": 0,
1717
+ "wrap": 0,
1718
+ "onlyRef": 0,
1719
+ "onlyCand": 0
1720
+ },
1721
+ "dashboard/exponential/light/1280/ltr": {
1722
+ "size": 0,
1723
+ "position": 0,
1724
+ "wrap": 0,
1725
+ "onlyRef": 0,
1726
+ "onlyCand": 0
1727
+ },
1728
+ "dashboard/exponential/light/1280/rtl": {
1729
+ "size": 0,
1730
+ "position": 0,
1731
+ "wrap": 0,
1732
+ "onlyRef": 0,
1733
+ "onlyCand": 0
1734
+ },
1735
+ "dashboard/neutral/dark/390/ltr": {
1736
+ "size": 0,
1737
+ "position": 0,
1738
+ "wrap": 0,
1739
+ "onlyRef": 0,
1740
+ "onlyCand": 0
1741
+ },
1742
+ "dashboard/neutral/dark/390/rtl": {
1743
+ "size": 0,
1744
+ "position": 0,
1745
+ "wrap": 0,
1746
+ "onlyRef": 0,
1747
+ "onlyCand": 0
1748
+ },
1749
+ "dashboard/neutral/dark/600/ltr": {
1750
+ "size": 0,
1751
+ "position": 0,
1752
+ "wrap": 0,
1753
+ "onlyRef": 0,
1754
+ "onlyCand": 0
1755
+ },
1756
+ "dashboard/neutral/dark/600/rtl": {
1757
+ "size": 0,
1758
+ "position": 0,
1759
+ "wrap": 0,
1760
+ "onlyRef": 0,
1761
+ "onlyCand": 0
1762
+ },
1763
+ "dashboard/neutral/dark/900/ltr": {
1764
+ "size": 0,
1765
+ "position": 0,
1766
+ "wrap": 0,
1767
+ "onlyRef": 0,
1768
+ "onlyCand": 0
1769
+ },
1770
+ "dashboard/neutral/dark/900/rtl": {
1771
+ "size": 0,
1772
+ "position": 0,
1773
+ "wrap": 0,
1774
+ "onlyRef": 0,
1775
+ "onlyCand": 0
1776
+ },
1777
+ "dashboard/neutral/dark/1280/ltr": {
1778
+ "size": 0,
1779
+ "position": 0,
1780
+ "wrap": 0,
1781
+ "onlyRef": 0,
1782
+ "onlyCand": 0
1783
+ },
1784
+ "dashboard/neutral/dark/1280/rtl": {
1785
+ "size": 0,
1786
+ "position": 0,
1787
+ "wrap": 0,
1788
+ "onlyRef": 0,
1789
+ "onlyCand": 0
1790
+ },
1791
+ "dashboard/neutral/light/390/ltr": {
1792
+ "size": 0,
1793
+ "position": 0,
1794
+ "wrap": 0,
1795
+ "onlyRef": 0,
1796
+ "onlyCand": 0
1797
+ },
1798
+ "dashboard/neutral/light/390/rtl": {
1799
+ "size": 0,
1800
+ "position": 0,
1801
+ "wrap": 0,
1802
+ "onlyRef": 0,
1803
+ "onlyCand": 0
1804
+ },
1805
+ "dashboard/neutral/light/600/ltr": {
1806
+ "size": 0,
1807
+ "position": 0,
1808
+ "wrap": 0,
1809
+ "onlyRef": 0,
1810
+ "onlyCand": 0
1811
+ },
1812
+ "dashboard/neutral/light/600/rtl": {
1813
+ "size": 0,
1814
+ "position": 0,
1815
+ "wrap": 0,
1816
+ "onlyRef": 0,
1817
+ "onlyCand": 0
1818
+ },
1819
+ "dashboard/neutral/light/900/ltr": {
1820
+ "size": 0,
1821
+ "position": 0,
1822
+ "wrap": 0,
1823
+ "onlyRef": 0,
1824
+ "onlyCand": 0
1825
+ },
1826
+ "dashboard/neutral/light/900/rtl": {
1827
+ "size": 0,
1828
+ "position": 0,
1829
+ "wrap": 0,
1830
+ "onlyRef": 0,
1831
+ "onlyCand": 0
1832
+ },
1833
+ "dashboard/neutral/light/1280/ltr": {
1834
+ "size": 0,
1835
+ "position": 0,
1836
+ "wrap": 0,
1837
+ "onlyRef": 0,
1838
+ "onlyCand": 0
1839
+ },
1840
+ "dashboard/neutral/light/1280/rtl": {
1841
+ "size": 0,
1842
+ "position": 0,
1843
+ "wrap": 0,
1844
+ "onlyRef": 0,
1845
+ "onlyCand": 0
1846
+ },
1847
+ "dashboard/playful/dark/390/ltr": {
1848
+ "size": 0,
1849
+ "position": 0,
1850
+ "wrap": 0,
1851
+ "onlyRef": 0,
1852
+ "onlyCand": 0
1853
+ },
1854
+ "dashboard/playful/dark/390/rtl": {
1855
+ "size": 0,
1856
+ "position": 0,
1857
+ "wrap": 0,
1858
+ "onlyRef": 0,
1859
+ "onlyCand": 0
1860
+ },
1861
+ "dashboard/playful/dark/600/ltr": {
1862
+ "size": 0,
1863
+ "position": 0,
1864
+ "wrap": 0,
1865
+ "onlyRef": 0,
1866
+ "onlyCand": 0
1867
+ },
1868
+ "dashboard/playful/dark/600/rtl": {
1869
+ "size": 0,
1870
+ "position": 0,
1871
+ "wrap": 0,
1872
+ "onlyRef": 0,
1873
+ "onlyCand": 0
1874
+ },
1875
+ "dashboard/playful/dark/900/ltr": {
1876
+ "size": 0,
1877
+ "position": 0,
1878
+ "wrap": 0,
1879
+ "onlyRef": 0,
1880
+ "onlyCand": 0
1881
+ },
1882
+ "dashboard/playful/dark/900/rtl": {
1883
+ "size": 0,
1884
+ "position": 0,
1885
+ "wrap": 0,
1886
+ "onlyRef": 0,
1887
+ "onlyCand": 0
1888
+ },
1889
+ "dashboard/playful/dark/1280/ltr": {
1890
+ "size": 0,
1891
+ "position": 0,
1892
+ "wrap": 0,
1893
+ "onlyRef": 0,
1894
+ "onlyCand": 0
1895
+ },
1896
+ "dashboard/playful/dark/1280/rtl": {
1897
+ "size": 0,
1898
+ "position": 0,
1899
+ "wrap": 0,
1900
+ "onlyRef": 0,
1901
+ "onlyCand": 0
1902
+ },
1903
+ "dashboard/playful/light/390/ltr": {
1904
+ "size": 0,
1905
+ "position": 0,
1906
+ "wrap": 0,
1907
+ "onlyRef": 0,
1908
+ "onlyCand": 0
1909
+ },
1910
+ "dashboard/playful/light/390/rtl": {
1911
+ "size": 0,
1912
+ "position": 0,
1913
+ "wrap": 0,
1914
+ "onlyRef": 0,
1915
+ "onlyCand": 0
1916
+ },
1917
+ "dashboard/playful/light/600/ltr": {
1918
+ "size": 0,
1919
+ "position": 0,
1920
+ "wrap": 0,
1921
+ "onlyRef": 0,
1922
+ "onlyCand": 0
1923
+ },
1924
+ "dashboard/playful/light/600/rtl": {
1925
+ "size": 0,
1926
+ "position": 0,
1927
+ "wrap": 0,
1928
+ "onlyRef": 0,
1929
+ "onlyCand": 0
1930
+ },
1931
+ "dashboard/playful/light/900/ltr": {
1932
+ "size": 0,
1933
+ "position": 0,
1934
+ "wrap": 0,
1935
+ "onlyRef": 0,
1936
+ "onlyCand": 0
1937
+ },
1938
+ "dashboard/playful/light/900/rtl": {
1939
+ "size": 0,
1940
+ "position": 0,
1941
+ "wrap": 0,
1942
+ "onlyRef": 0,
1943
+ "onlyCand": 0
1944
+ },
1945
+ "dashboard/playful/light/1280/ltr": {
1946
+ "size": 0,
1947
+ "position": 0,
1948
+ "wrap": 0,
1949
+ "onlyRef": 0,
1950
+ "onlyCand": 0
1951
+ },
1952
+ "dashboard/playful/light/1280/rtl": {
1953
+ "size": 0,
1954
+ "position": 0,
1955
+ "wrap": 0,
1956
+ "onlyRef": 0,
1957
+ "onlyCand": 0
1958
+ },
1959
+ "dashboard/orange/dark/390/ltr": {
1960
+ "size": 0,
1961
+ "position": 0,
1962
+ "wrap": 0,
1963
+ "onlyRef": 0,
1964
+ "onlyCand": 0
1965
+ },
1966
+ "dashboard/orange/dark/390/rtl": {
1967
+ "size": 0,
1968
+ "position": 0,
1969
+ "wrap": 0,
1970
+ "onlyRef": 0,
1971
+ "onlyCand": 0
1972
+ },
1973
+ "dashboard/orange/dark/600/ltr": {
1974
+ "size": 0,
1975
+ "position": 0,
1976
+ "wrap": 0,
1977
+ "onlyRef": 0,
1978
+ "onlyCand": 0
1979
+ },
1980
+ "dashboard/orange/dark/600/rtl": {
1981
+ "size": 0,
1982
+ "position": 0,
1983
+ "wrap": 0,
1984
+ "onlyRef": 0,
1985
+ "onlyCand": 0
1986
+ },
1987
+ "dashboard/orange/dark/900/ltr": {
1988
+ "size": 0,
1989
+ "position": 0,
1990
+ "wrap": 0,
1991
+ "onlyRef": 0,
1992
+ "onlyCand": 0
1993
+ },
1994
+ "dashboard/orange/dark/900/rtl": {
1995
+ "size": 0,
1996
+ "position": 0,
1997
+ "wrap": 0,
1998
+ "onlyRef": 0,
1999
+ "onlyCand": 0
2000
+ },
2001
+ "dashboard/orange/dark/1280/ltr": {
2002
+ "size": 0,
2003
+ "position": 0,
2004
+ "wrap": 0,
2005
+ "onlyRef": 0,
2006
+ "onlyCand": 0
2007
+ },
2008
+ "dashboard/orange/dark/1280/rtl": {
2009
+ "size": 0,
2010
+ "position": 0,
2011
+ "wrap": 0,
2012
+ "onlyRef": 0,
2013
+ "onlyCand": 0
2014
+ },
2015
+ "dashboard/orange/light/390/ltr": {
2016
+ "size": 0,
2017
+ "position": 0,
2018
+ "wrap": 0,
2019
+ "onlyRef": 0,
2020
+ "onlyCand": 0
2021
+ },
2022
+ "dashboard/orange/light/390/rtl": {
2023
+ "size": 0,
2024
+ "position": 0,
2025
+ "wrap": 0,
2026
+ "onlyRef": 0,
2027
+ "onlyCand": 0
2028
+ },
2029
+ "dashboard/orange/light/600/ltr": {
2030
+ "size": 0,
2031
+ "position": 0,
2032
+ "wrap": 0,
2033
+ "onlyRef": 0,
2034
+ "onlyCand": 0
2035
+ },
2036
+ "dashboard/orange/light/600/rtl": {
2037
+ "size": 0,
2038
+ "position": 0,
2039
+ "wrap": 0,
2040
+ "onlyRef": 0,
2041
+ "onlyCand": 0
2042
+ },
2043
+ "dashboard/orange/light/900/ltr": {
2044
+ "size": 0,
2045
+ "position": 0,
2046
+ "wrap": 0,
2047
+ "onlyRef": 0,
2048
+ "onlyCand": 0
2049
+ },
2050
+ "dashboard/orange/light/900/rtl": {
2051
+ "size": 0,
2052
+ "position": 0,
2053
+ "wrap": 0,
2054
+ "onlyRef": 0,
2055
+ "onlyCand": 0
2056
+ },
2057
+ "dashboard/orange/light/1280/ltr": {
2058
+ "size": 0,
2059
+ "position": 0,
2060
+ "wrap": 0,
2061
+ "onlyRef": 0,
2062
+ "onlyCand": 0
2063
+ },
2064
+ "dashboard/orange/light/1280/rtl": {
2065
+ "size": 0,
2066
+ "position": 0,
2067
+ "wrap": 0,
2068
+ "onlyRef": 0,
2069
+ "onlyCand": 0
2070
+ }
2071
+ },
2072
+ "survivors": [],
2073
+ "coverageGaps": [
2074
+ {
2075
+ "id": "accordion.count.1",
2076
+ "only": "ref",
2077
+ "cases": 64,
2078
+ "reason": "Accordion count: painted inside the trigger leaf; its room is measured (round2.rs an_accordion_count_is_measured_after_the_title)."
2079
+ },
2080
+ {
2081
+ "id": "audio.controls",
2082
+ "only": "ref",
2083
+ "cases": 64,
2084
+ "reason": "AudioPlayer controls row: painted inside the AudioPlayer leaf (its height is the core's)."
2085
+ },
2086
+ {
2087
+ "id": "audio.track",
2088
+ "only": "ref",
2089
+ "cases": 64,
2090
+ "reason": "AudioPlayer title line: painted inside the AudioPlayer leaf (its height is the core's)."
2091
+ },
2092
+ {
2093
+ "id": "chip-user.image.fallback",
2094
+ "only": "ref",
2095
+ "cases": 28,
2096
+ "reason": "Avatar initials inside a Chip: painted inside the image leaf (the box is compared)."
2097
+ },
2098
+ {
2099
+ "id": "media-img.fallback",
2100
+ "only": "ref",
2101
+ "cases": 64,
2102
+ "reason": "Image/fallback: gpui paints the broken-picture glyph inside the Image leaf (the box is compared)."
2103
+ },
2104
+ {
2105
+ "id": "page-1.fallback",
2106
+ "only": "ref",
2107
+ "cases": 8,
2108
+ "reason": "Image/fallback of a Carousel page: painted inside the Image leaf; shows only where the web's load fails first."
2109
+ },
2110
+ {
2111
+ "id": "ring.label",
2112
+ "only": "ref",
2113
+ "cases": 64,
2114
+ "reason": "Ring centre label: painted inside the Ring leaf."
2115
+ },
2116
+ {
2117
+ "id": "video.controls",
2118
+ "only": "ref",
2119
+ "cases": 64,
2120
+ "reason": "Video controls bar: painted inside the Video leaf (16:9 box compared)."
2121
+ }
2122
+ ]
2123
+ }