@supersoniks/concorde 5.1.0 → 5.1.2

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 (628) hide show
  1. package/.agents/skills/concorde-docs/SKILL.md +153 -0
  2. package/.agents/skills/{concorde-component-docs/template.md → concorde-docs/templates/component.md} +6 -2
  3. package/.agents/skills/concorde-docs/templates/decorator.md +43 -0
  4. package/.agents/skills/concorde-docs/templates/guide.md +25 -0
  5. package/.claude/launch.json +15 -0
  6. package/.claude/vite.http.config.mjs +7 -0
  7. package/.taste-skill/after/desktop-fold.jpg +0 -0
  8. package/.taste-skill/after/desktop-page-01.jpg +0 -0
  9. package/.taste-skill/after/desktop-page-02.jpg +0 -0
  10. package/.taste-skill/after/desktop-page-03.jpg +0 -0
  11. package/.taste-skill/after/mobile-fold.jpg +0 -0
  12. package/.taste-skill/after/mobile-page-01.jpg +0 -0
  13. package/.taste-skill/after/report.json +4103 -0
  14. package/.taste-skill/after/tablet-fold.jpg +0 -0
  15. package/.taste-skill/after/tablet-page-01.jpg +0 -0
  16. package/.taste-skill/after/tablet-page-02.jpg +0 -0
  17. package/.taste-skill/before/desktop-fold.jpg +0 -0
  18. package/.taste-skill/before/desktop-page-01.jpg +0 -0
  19. package/.taste-skill/before/desktop-page-02.jpg +0 -0
  20. package/.taste-skill/before/mobile-fold.jpg +0 -0
  21. package/.taste-skill/before/mobile-page-01.jpg +0 -0
  22. package/.taste-skill/before/report.json +2556 -0
  23. package/.taste-skill/before/tablet-fold.jpg +0 -0
  24. package/.taste-skill/before/tablet-page-01.jpg +0 -0
  25. package/.taste-skill/direction.json +510 -0
  26. package/.taste-skill/notes.md +84 -0
  27. package/.taste-skill/prod/desktop-fold.jpg +0 -0
  28. package/.taste-skill/prod/desktop-page-01.jpg +0 -0
  29. package/.taste-skill/prod/desktop-page-02.jpg +0 -0
  30. package/.taste-skill/prod/desktop-page-03.jpg +0 -0
  31. package/.taste-skill/prod/mobile-fold.jpg +0 -0
  32. package/.taste-skill/prod/mobile-page-01.jpg +0 -0
  33. package/.taste-skill/prod/mobile-page-02.jpg +0 -0
  34. package/.taste-skill/prod/report.json +1973 -0
  35. package/.taste-skill/prod/tablet-fold.jpg +0 -0
  36. package/.taste-skill/prod/tablet-page-01.jpg +0 -0
  37. package/.taste-skill/prod/tablet-page-02.jpg +0 -0
  38. package/.tmp-cem/custom-elements.json +2013 -2013
  39. package/AUDIT.md +228 -0
  40. package/PLAN-AMELIORATION.md +220 -0
  41. package/PLAN-DOCS-AGENTS.md +80 -0
  42. package/README.md +3 -3
  43. package/ai/skills/concorde/SKILL.md +1 -1
  44. package/ai/skills/concorde-get-set-dp/SKILL.md +3 -3
  45. package/ai/skills/concorde-theme/SKILL.md +1 -1
  46. package/build-infos.json +1 -1
  47. package/concorde-core.bundle.js +16 -16
  48. package/concorde-core.es.js +235 -233
  49. package/dist/concorde-core.bundle.js +16 -16
  50. package/dist/concorde-core.es.js +235 -233
  51. package/dist/img/archive/concorde-001-2cv.webp +0 -0
  52. package/dist/img/archive/concorde-red-arrows-2002-poster.jpg +0 -0
  53. package/dist/img/archive/concorde-red-arrows-2002.webm +0 -0
  54. package/dist/img/archive/credits.json +28 -0
  55. package/docs/.htaccess +75 -0
  56. package/docs/404.html +15 -0
  57. package/docs/404.md +5 -0
  58. package/docs/assets/index-BgG6FFPt.js +11765 -0
  59. package/docs/assets/index-x89XINSG.css +1 -0
  60. package/docs/core/components/functional/date/date.html +211 -0
  61. package/docs/core/components/functional/date/date.md +150 -0
  62. package/docs/core/components/functional/fetch/fetch.html +180 -0
  63. package/docs/core/components/functional/fetch/fetch.md +108 -0
  64. package/docs/core/components/functional/if/if.html +65 -0
  65. package/docs/core/components/functional/if/if.md +34 -0
  66. package/docs/core/components/functional/jsonata/jsonata.html +110 -0
  67. package/docs/core/components/functional/jsonata/jsonata.md +61 -0
  68. package/docs/core/components/functional/list/list.html +198 -0
  69. package/docs/core/components/functional/list/list.md +121 -0
  70. package/docs/core/components/functional/mix/mix.html +78 -0
  71. package/docs/core/components/functional/mix/mix.md +46 -0
  72. package/docs/core/components/functional/queue/queue.html +155 -0
  73. package/docs/core/components/functional/queue/queue.md +51 -0
  74. package/docs/core/components/functional/router/router.html +154 -0
  75. package/docs/core/components/functional/router/router.md +93 -0
  76. package/docs/core/components/functional/sdui/sdui-extension-points.html +127 -0
  77. package/docs/core/components/functional/sdui/sdui-extension-points.md +94 -0
  78. package/docs/core/components/functional/sdui/sdui.html +397 -0
  79. package/docs/core/components/functional/sdui/sdui.md +307 -0
  80. package/docs/core/components/functional/states/states.html +141 -0
  81. package/docs/core/components/functional/states/states.md +112 -0
  82. package/docs/core/components/functional/submit/submit.html +178 -0
  83. package/docs/core/components/functional/submit/submit.md +106 -0
  84. package/docs/{crawl/core → core}/components/functional/subscriber/subscriber.html +6 -5
  85. package/docs/core/components/functional/subscriber/subscriber.md +91 -0
  86. package/docs/core/components/functional/translation/translation.html +60 -0
  87. package/docs/core/components/functional/translation/translation.md +38 -0
  88. package/docs/core/components/functional/value/value.html +81 -0
  89. package/docs/core/components/functional/value/value.md +47 -0
  90. package/docs/core/components/ui/alert/alert.html +201 -0
  91. package/docs/core/components/ui/alert/alert.md +186 -0
  92. package/docs/core/components/ui/alert-messages/alert-messages.html +132 -0
  93. package/docs/core/components/ui/alert-messages/alert-messages.md +85 -0
  94. package/docs/core/components/ui/badge/badge.html +197 -0
  95. package/docs/core/components/ui/badge/badge.md +181 -0
  96. package/docs/core/components/ui/button/button.html +309 -0
  97. package/docs/core/components/ui/button/button.md +216 -0
  98. package/docs/core/components/ui/captcha/captcha.html +80 -0
  99. package/docs/core/components/ui/captcha/captcha.md +56 -0
  100. package/docs/core/components/ui/card/card.html +254 -0
  101. package/docs/core/components/ui/card/card.md +215 -0
  102. package/docs/core/components/ui/divider/divider.html +144 -0
  103. package/docs/core/components/ui/divider/divider.md +126 -0
  104. package/docs/core/components/ui/form/checkbox/checkbox.html +200 -0
  105. package/docs/core/components/ui/form/checkbox/checkbox.md +125 -0
  106. package/docs/core/components/ui/form/fieldset/fieldset.html +238 -0
  107. package/docs/core/components/ui/form/fieldset/fieldset.md +161 -0
  108. package/docs/core/components/ui/form/form-actions/form-actions.html +122 -0
  109. package/docs/core/components/ui/form/form-actions/form-actions.md +98 -0
  110. package/docs/core/components/ui/form/form-layout/form-layout.html +115 -0
  111. package/docs/core/components/ui/form/form-layout/form-layout.md +109 -0
  112. package/docs/core/components/ui/form/input/input.html +235 -0
  113. package/docs/core/components/ui/form/input/input.md +142 -0
  114. package/docs/core/components/ui/form/radio/radio.html +144 -0
  115. package/docs/core/components/ui/form/radio/radio.md +78 -0
  116. package/docs/core/components/ui/form/select/select.html +178 -0
  117. package/docs/core/components/ui/form/select/select.md +86 -0
  118. package/docs/core/components/ui/form/switch/switch.html +146 -0
  119. package/docs/core/components/ui/form/switch/switch.md +80 -0
  120. package/docs/core/components/ui/form/textarea/textarea.html +162 -0
  121. package/docs/core/components/ui/form/textarea/textarea.md +82 -0
  122. package/docs/core/components/ui/group/group.html +113 -0
  123. package/docs/core/components/ui/group/group.md +77 -0
  124. package/docs/core/components/ui/icon/icon.html +223 -0
  125. package/docs/core/components/ui/icon/icon.md +214 -0
  126. package/docs/core/components/ui/image/image.html +194 -0
  127. package/docs/core/components/ui/image/image.md +167 -0
  128. package/docs/core/components/ui/link/link.html +101 -0
  129. package/docs/core/components/ui/link/link.md +81 -0
  130. package/docs/core/components/ui/loader/loader.html +114 -0
  131. package/docs/core/components/ui/loader/loader.md +87 -0
  132. package/docs/{crawl/core → core}/components/ui/menu/menu.html +189 -116
  133. package/docs/core/components/ui/menu/menu.md +370 -0
  134. package/docs/core/components/ui/modal/modal.html +324 -0
  135. package/docs/core/components/ui/modal/modal.md +211 -0
  136. package/docs/core/components/ui/pop/pop.html +250 -0
  137. package/docs/core/components/ui/pop/pop.md +216 -0
  138. package/docs/core/components/ui/progress/progress.html +132 -0
  139. package/docs/core/components/ui/progress/progress.md +109 -0
  140. package/docs/core/components/ui/table/table.html +333 -0
  141. package/docs/core/components/ui/table/table.md +267 -0
  142. package/docs/core/components/ui/theme/theme.html +116 -0
  143. package/docs/core/components/ui/theme/theme.md +97 -0
  144. package/docs/core/components/ui/toast/toast.html +185 -0
  145. package/docs/core/components/ui/toast/toast.md +147 -0
  146. package/docs/core/components/ui/tooltip/tooltip.html +112 -0
  147. package/docs/core/components/ui/tooltip/tooltip.md +89 -0
  148. package/docs/docs/decorators/ancestor-attribute.html +71 -0
  149. package/docs/docs/decorators/ancestor-attribute.md +59 -0
  150. package/docs/docs/decorators/auto-subscribe.html +61 -0
  151. package/docs/docs/decorators/auto-subscribe.md +40 -0
  152. package/docs/docs/decorators/bind.html +86 -0
  153. package/docs/docs/decorators/bind.md +77 -0
  154. package/docs/docs/decorators/get.html +166 -0
  155. package/docs/docs/decorators/get.md +160 -0
  156. package/docs/docs/decorators/handle.html +139 -0
  157. package/docs/docs/decorators/handle.md +119 -0
  158. package/docs/docs/decorators/on-assign.html +72 -0
  159. package/docs/docs/decorators/on-assign.md +63 -0
  160. package/docs/docs/decorators/patch.html +76 -0
  161. package/docs/docs/decorators/patch.md +44 -0
  162. package/docs/docs/decorators/post.html +150 -0
  163. package/docs/docs/decorators/post.md +134 -0
  164. package/docs/docs/decorators/publish.html +74 -0
  165. package/docs/docs/decorators/publish.md +56 -0
  166. package/docs/docs/decorators/put.html +83 -0
  167. package/docs/docs/decorators/put.md +51 -0
  168. package/docs/docs/decorators/subscribe.html +91 -0
  169. package/docs/docs/decorators/subscribe.md +87 -0
  170. package/docs/docs/decorators/wait-for-ancestors.html +82 -0
  171. package/docs/docs/decorators/wait-for-ancestors.md +76 -0
  172. package/docs/docs/directives/sub.html +79 -0
  173. package/docs/docs/directives/sub.md +75 -0
  174. package/docs/docs/directives/t.html +91 -0
  175. package/docs/docs/directives/t.md +73 -0
  176. package/docs/{crawl/docs/_getting-started → docs/getting-started}/ai-agents.html +12 -11
  177. package/{src/docs/_getting-started → docs/docs/getting-started}/ai-agents.md +3 -3
  178. package/docs/docs/getting-started/components.html +27 -0
  179. package/docs/docs/getting-started/components.md +5 -0
  180. package/docs/{crawl/docs/_getting-started → docs/getting-started}/create-a-component.html +11 -14
  181. package/docs/{src/docs/_getting-started → docs/getting-started}/create-a-component.md +3 -6
  182. package/docs/{crawl/docs/_core-concept → docs/getting-started}/dataFlow.html +26 -29
  183. package/docs/{src/docs/_core-concept → docs/getting-started}/dataFlow.md +17 -18
  184. package/docs/docs/getting-started/installation.html +69 -0
  185. package/docs/docs/getting-started/installation.md +36 -0
  186. package/docs/{crawl/docs/_getting-started → docs/getting-started}/my-first-component.html +13 -22
  187. package/docs/{src/docs/_getting-started → docs/getting-started}/my-first-component.md +5 -14
  188. package/docs/docs/getting-started/start.html +47 -0
  189. package/{src/docs/_getting-started → docs/docs/getting-started}/start.md +1 -13
  190. package/docs/docs/getting-started/theming.html +334 -0
  191. package/{src/docs/_getting-started → docs/docs/getting-started}/theming.md +2 -2
  192. package/docs/docs/index.html +99 -0
  193. package/docs/{crawl/docs/_misc → docs/misc}/api-configuration.html +18 -18
  194. package/docs/{src/docs/_misc → docs/misc}/api-configuration.md +10 -12
  195. package/docs/{crawl/docs/_misc → docs/misc}/dataProviderKey.html +12 -11
  196. package/{src/docs/_misc → docs/docs/misc}/dataProviderKey.md +4 -4
  197. package/docs/{crawl/docs/_misc → docs/misc}/docs-mock-api.html +25 -28
  198. package/docs/{src/docs/_misc → docs/misc}/docs-mock-api.md +12 -13
  199. package/docs/{crawl/docs/_misc → docs/misc}/dynamic-path.html +16 -15
  200. package/{src/docs/_misc → docs/docs/misc}/dynamic-path.md +8 -8
  201. package/docs/{crawl/docs/_misc → docs/misc}/endpoint.html +16 -15
  202. package/{src/docs/_misc → docs/docs/misc}/endpoint.md +8 -8
  203. package/docs/{crawl/docs/_misc → docs/misc}/html-integration.html +12 -15
  204. package/docs/{src/docs/_misc → docs/misc}/html-integration.md +4 -5
  205. package/docs/docs-mock-api-sw.js +60 -223
  206. package/docs/docs-mock-api-sw.js.map +4 -4
  207. package/docs/hubs/decorators.html +443 -0
  208. package/docs/hubs/form-components.html +404 -0
  209. package/docs/hubs/remote-data.html +371 -0
  210. package/docs/img/archive/concorde-001-2cv.webp +0 -0
  211. package/docs/img/archive/concorde-red-arrows-2002-poster.jpg +0 -0
  212. package/docs/img/archive/concorde-red-arrows-2002.webm +0 -0
  213. package/docs/img/archive/credits.json +28 -0
  214. package/docs/img/concorde/plane_01.jpg +0 -0
  215. package/docs/img/concorde/plane_02.jpg +0 -0
  216. package/docs/img/concorde/plane_03.jpg +0 -0
  217. package/docs/img/concorde/plane_04.jpg +0 -0
  218. package/docs/img/concorde/plane_05.jpg +0 -0
  219. package/docs/img/concorde/plane_06.jpg +0 -0
  220. package/docs/img/concorde/plane_07.jpg +0 -0
  221. package/docs/img/concorde/plane_08.jpg +0 -0
  222. package/docs/img/concorde/plane_09.jpg +0 -0
  223. package/docs/img/concorde/plane_10.jpg +0 -0
  224. package/docs/img/concorde/plane_11.jpg +0 -0
  225. package/docs/img/concorde/plane_12.jpg +0 -0
  226. package/docs/img/concorde/plane_13.jpg +0 -0
  227. package/docs/index.html +96 -67
  228. package/docs/index.md +22 -0
  229. package/docs/llms-full.txt +3329 -3295
  230. package/docs/llms.txt +94 -92
  231. package/docs/robots.txt +11 -10
  232. package/docs/sitemap.xml +78 -78
  233. package/docs/src/core/components/functional/date/date.md +91 -231
  234. package/docs/src/core/components/functional/fetch/fetch.md +66 -83
  235. package/docs/src/core/components/functional/if/if.md +28 -3
  236. package/docs/src/core/components/functional/jsonata/jsonata.md +42 -37
  237. package/docs/src/core/components/functional/list/list.md +99 -43
  238. package/docs/src/core/components/functional/mix/mix.md +31 -26
  239. package/docs/src/core/components/functional/queue/queue.md +40 -61
  240. package/docs/src/core/components/functional/router/router.md +64 -65
  241. package/docs/src/core/components/functional/sdui/component-catalog.gaps.json +511 -0
  242. package/docs/src/core/components/functional/sdui/component-catalog.json +3103 -0
  243. package/docs/src/core/components/functional/sdui/example.json +19 -86
  244. package/docs/src/core/components/functional/sdui/sdui-extension-points.md +94 -0
  245. package/docs/src/core/components/functional/sdui/sdui.md +196 -245
  246. package/docs/src/core/components/functional/states/states.md +86 -61
  247. package/docs/src/core/components/functional/submit/submit.md +64 -72
  248. package/docs/src/core/components/functional/translation/translation.md +38 -0
  249. package/docs/src/core/components/functional/value/value.md +34 -22
  250. package/docs/src/core/components/ui/alert/alert.md +139 -74
  251. package/docs/src/core/components/ui/alert-messages/alert-messages.md +85 -0
  252. package/docs/src/core/components/ui/badge/badge.md +137 -83
  253. package/docs/src/core/components/ui/button/button.md +139 -105
  254. package/docs/src/core/components/ui/captcha/captcha.md +50 -6
  255. package/docs/src/core/components/ui/card/card.md +183 -65
  256. package/docs/src/core/components/ui/divider/divider.md +104 -13
  257. package/docs/src/core/components/ui/form/checkbox/checkbox.md +90 -42
  258. package/docs/src/core/components/ui/form/fieldset/fieldset.md +135 -103
  259. package/docs/src/core/components/ui/form/form-actions/form-actions.md +71 -50
  260. package/docs/src/core/components/ui/form/form-layout/form-layout.md +99 -34
  261. package/docs/src/core/components/ui/form/input/input.md +95 -95
  262. package/docs/src/core/components/ui/form/radio/radio.md +55 -34
  263. package/docs/src/core/components/ui/form/select/select.md +60 -45
  264. package/docs/src/core/components/ui/form/switch/switch.md +57 -34
  265. package/docs/src/core/components/ui/form/textarea/textarea.md +55 -38
  266. package/docs/src/core/components/ui/group/group.md +49 -47
  267. package/docs/src/core/components/ui/icon/icon.md +132 -43
  268. package/docs/src/core/components/ui/image/image.md +132 -72
  269. package/docs/src/core/components/ui/link/link.md +46 -8
  270. package/docs/src/core/components/ui/loader/loader.md +55 -23
  271. package/docs/src/core/components/ui/menu/menu.md +155 -114
  272. package/docs/src/core/components/ui/modal/modal.md +154 -62
  273. package/docs/src/core/components/ui/pop/pop.md +185 -65
  274. package/docs/src/core/components/ui/progress/progress.md +76 -30
  275. package/docs/src/core/components/ui/table/table.md +146 -334
  276. package/docs/src/core/components/ui/theme/theme.md +97 -0
  277. package/docs/src/core/components/ui/toast/toast.md +80 -99
  278. package/docs/src/core/components/ui/tooltip/tooltip.md +52 -45
  279. package/docs/src/docs/decorators/ancestor-attribute.md +59 -0
  280. package/docs/src/docs/decorators/auto-subscribe.md +40 -0
  281. package/docs/src/docs/decorators/bind.md +77 -0
  282. package/docs/src/docs/decorators/get.md +160 -0
  283. package/docs/src/docs/decorators/handle.md +119 -0
  284. package/docs/src/docs/decorators/on-assign.md +63 -0
  285. package/docs/src/docs/decorators/patch.md +44 -0
  286. package/docs/src/docs/decorators/post.md +134 -0
  287. package/docs/src/docs/decorators/publish.md +56 -0
  288. package/docs/src/docs/decorators/put.md +51 -0
  289. package/docs/src/docs/decorators/subscribe.md +87 -0
  290. package/docs/src/docs/decorators/wait-for-ancestors.md +76 -0
  291. package/docs/src/docs/directives/sub.md +75 -0
  292. package/docs/src/docs/directives/t.md +73 -0
  293. package/docs/src/docs/{_getting-started → getting-started}/ai-agents.md +3 -3
  294. package/docs/src/docs/getting-started/components.md +5 -0
  295. package/{src/docs/_getting-started → docs/src/docs/getting-started}/create-a-component.md +3 -6
  296. package/{src/docs/_core-concept → docs/src/docs/getting-started}/dataFlow.md +17 -18
  297. package/docs/src/docs/getting-started/installation.md +36 -0
  298. package/{src/docs/_getting-started → docs/src/docs/getting-started}/my-first-component.md +5 -14
  299. package/docs/src/docs/getting-started/start.md +35 -0
  300. package/docs/src/docs/getting-started/theming.md +253 -0
  301. package/{src/docs/_misc → docs/src/docs/misc}/api-configuration.md +10 -12
  302. package/docs/src/docs/{_misc → misc}/dataProviderKey.md +4 -4
  303. package/{src/docs/_misc → docs/src/docs/misc}/docs-mock-api.md +12 -13
  304. package/docs/src/docs/{_misc → misc}/dynamic-path.md +8 -8
  305. package/docs/src/docs/{_misc → misc}/endpoint.md +8 -8
  306. package/{src/docs/_misc → docs/src/docs/misc}/html-integration.md +4 -5
  307. package/docs/src/docs/search/docs-search.json +3729 -2949
  308. package/docs/src/tsconfig.json +176 -5
  309. package/index.html +94 -67
  310. package/package.json +11 -4
  311. package/public/docs-mock-api-sw.js +58 -223
  312. package/public/docs-mock-api-sw.js.map +4 -4
  313. package/public/img/archive/concorde-001-2cv.webp +0 -0
  314. package/public/img/archive/concorde-red-arrows-2002-poster.jpg +0 -0
  315. package/public/img/archive/concorde-red-arrows-2002.webm +0 -0
  316. package/public/img/archive/credits.json +28 -0
  317. package/public/img/concorde/plane_01.jpg +0 -0
  318. package/public/img/concorde/plane_02.jpg +0 -0
  319. package/public/img/concorde/plane_03.jpg +0 -0
  320. package/public/img/concorde/plane_04.jpg +0 -0
  321. package/public/img/concorde/plane_05.jpg +0 -0
  322. package/public/img/concorde/plane_06.jpg +0 -0
  323. package/public/img/concorde/plane_07.jpg +0 -0
  324. package/public/img/concorde/plane_08.jpg +0 -0
  325. package/public/img/concorde/plane_09.jpg +0 -0
  326. package/public/img/concorde/plane_10.jpg +0 -0
  327. package/public/img/concorde/plane_11.jpg +0 -0
  328. package/public/img/concorde/plane_12.jpg +0 -0
  329. package/public/img/concorde/plane_13.jpg +0 -0
  330. package/public/robots.txt +11 -10
  331. package/scripts/docs-markdown-vite-plugin.ts +37 -0
  332. package/scripts/docs-public-url.mjs +50 -0
  333. package/scripts/docs.htaccess +75 -0
  334. package/scripts/generate-crawl-docs.mjs +207 -116
  335. package/scripts/generate-crawl-docs.test.mjs +124 -0
  336. package/scripts/post-build-docs.js +34 -50
  337. package/scripts/post-build.mjs +0 -0
  338. package/src/core/components/functional/date/date.md +91 -231
  339. package/src/core/components/functional/fetch/fetch.md +66 -83
  340. package/src/core/components/functional/if/if.md +28 -3
  341. package/src/core/components/functional/if/if.ts +0 -0
  342. package/src/core/components/functional/jsonata/jsonata.md +42 -37
  343. package/src/core/components/functional/list/list.demo.ts +0 -0
  344. package/src/core/components/functional/list/list.md +99 -43
  345. package/src/core/components/functional/mix/mix.md +31 -26
  346. package/src/core/components/functional/queue/queue.demo.ts +10 -7
  347. package/src/core/components/functional/queue/queue.md +40 -61
  348. package/src/core/components/functional/router/router.demo.ts +16 -16
  349. package/src/core/components/functional/router/router.md +64 -65
  350. package/src/core/components/functional/router/router.ts +0 -0
  351. package/src/core/components/functional/sdui/SDUIDescriptorTransformer.ts +0 -0
  352. package/src/core/components/functional/sdui/component-catalog.gaps.json +1 -1
  353. package/src/core/components/functional/sdui/component-catalog.json +1 -1
  354. package/src/core/components/functional/sdui/example.json +19 -86
  355. package/src/core/components/functional/sdui/sdui-extension-points.md +1 -1
  356. package/src/core/components/functional/sdui/sdui.md +187 -358
  357. package/src/core/components/functional/sdui/types.ts +0 -0
  358. package/src/core/components/functional/states/states.demo.ts +21 -22
  359. package/src/core/components/functional/states/states.md +86 -61
  360. package/src/core/components/functional/states/states.ts +1 -1
  361. package/src/core/components/functional/submit/submit.md +64 -72
  362. package/src/core/components/functional/subscriber/subscriber.ts +0 -0
  363. package/src/core/components/functional/translation/translation.md +38 -0
  364. package/src/core/components/functional/value/value.md +34 -22
  365. package/src/core/components/functional/value/value.ts +0 -0
  366. package/src/core/components/ui/_css/size.ts +0 -0
  367. package/src/core/components/ui/alert/alert.md +48 -58
  368. package/src/core/components/ui/badge/badge.md +27 -34
  369. package/src/core/components/ui/button/button.md +139 -106
  370. package/src/core/components/ui/captcha/altchaStyles.ts +0 -0
  371. package/src/core/components/ui/captcha/captcha.md +17 -32
  372. package/src/core/components/ui/card/card.md +6 -6
  373. package/src/core/components/ui/divider/divider.md +8 -11
  374. package/src/core/components/ui/form/checkbox/checkbox.md +90 -42
  375. package/src/core/components/ui/form/fieldset/fieldset.md +31 -75
  376. package/src/core/components/ui/form/form-actions/form-actions.md +14 -16
  377. package/src/core/components/ui/form/form-layout/form-layout.md +19 -29
  378. package/src/core/components/ui/form/input/input.md +95 -95
  379. package/src/core/components/ui/form/radio/radio.md +55 -34
  380. package/src/core/components/ui/form/select/select.md +60 -45
  381. package/src/core/components/ui/form/switch/switch.md +57 -34
  382. package/src/core/components/ui/form/textarea/textarea.md +55 -38
  383. package/src/core/components/ui/group/group.md +35 -33
  384. package/src/core/components/ui/icon/icon.md +4 -4
  385. package/src/core/components/ui/image/image.md +41 -107
  386. package/src/core/components/ui/link/link.md +6 -6
  387. package/src/core/components/ui/loader/loader.md +30 -55
  388. package/src/core/components/ui/menu/menu.md +27 -27
  389. package/src/core/components/ui/modal/modal.md +72 -96
  390. package/src/core/components/ui/modal/modal.ts +14 -11
  391. package/src/core/components/ui/pop/pop.md +80 -158
  392. package/src/core/components/ui/progress/progress.md +2 -2
  393. package/src/core/components/ui/table/table.md +91 -255
  394. package/src/core/components/ui/theme/theme.md +11 -36
  395. package/src/core/components/ui/toast/toast.md +48 -117
  396. package/src/core/components/ui/tooltip/tooltip.md +27 -62
  397. package/src/core/mixins/Subscriber.ts +0 -0
  398. package/src/core/utils/DataBindObserver.ts +0 -0
  399. package/src/core/utils/LocationHandler.spec.ts +80 -0
  400. package/src/core/utils/LocationHandler.ts +5 -9
  401. package/src/core/utils/Objects.ts +0 -0
  402. package/src/core/utils/route.ts +0 -0
  403. package/src/docs/code.ts +88 -75
  404. package/src/docs/components/docs-demo-sources.ts +70 -147
  405. package/src/docs/components/docs-lit-demo.ts +20 -40
  406. package/src/docs/components/docs-source-link.ts +0 -82
  407. package/src/docs/decorators/ancestor-attribute.md +59 -0
  408. package/src/docs/decorators/auto-subscribe.md +40 -0
  409. package/src/docs/decorators/bind.md +77 -0
  410. package/src/docs/decorators/get.md +160 -0
  411. package/src/docs/decorators/handle.md +119 -0
  412. package/src/docs/decorators/on-assign.md +63 -0
  413. package/src/docs/decorators/patch.md +44 -0
  414. package/src/docs/decorators/post.md +134 -0
  415. package/src/docs/decorators/publish.md +56 -0
  416. package/src/docs/decorators/put.md +51 -0
  417. package/src/docs/decorators/subscribe.md +87 -0
  418. package/src/docs/decorators/wait-for-ancestors.md +76 -0
  419. package/src/docs/directives/sub.md +75 -0
  420. package/src/docs/directives/t.md +73 -0
  421. package/src/docs/docs-location.spec.ts +46 -0
  422. package/src/docs/docs-location.ts +123 -32
  423. package/src/docs/docs.ts +6 -2
  424. package/src/docs/example/decorators-demo-bind-demos.ts +81 -116
  425. package/src/docs/example/decorators-demo-geo.ts +30 -19
  426. package/src/docs/example/decorators-demo-post.ts +88 -186
  427. package/src/docs/example/decorators-demo-subscribe-publish-get-demos.ts +165 -268
  428. package/src/docs/example/decorators-demo.ts +85 -98
  429. package/src/docs/example/docs-api-config-demos.ts +19 -20
  430. package/src/docs/example/docs-boarding-pass-demo.ts +134 -0
  431. package/src/docs/example/docs-flight-demos.ts +147 -0
  432. package/src/docs/example/docs-jsonata-demos.ts +52 -52
  433. package/src/docs/example/docs-list-demos.ts +43 -123
  434. package/src/docs/example/docs-provider-keys.ts +33 -28
  435. package/src/docs/example/docs-queue-demos.ts +37 -77
  436. package/src/docs/example/docs-router-demos.ts +20 -25
  437. package/src/docs/example/docs-submit-demos.ts +48 -48
  438. package/src/docs/example/docs-toggle-demos.ts +4 -3
  439. package/src/docs/example/users.ts +0 -0
  440. package/src/docs/getting-started/ai-agents.md +76 -0
  441. package/src/docs/getting-started/components.md +5 -0
  442. package/src/docs/getting-started/create-a-component.md +136 -0
  443. package/src/docs/getting-started/dataFlow.md +87 -0
  444. package/src/docs/getting-started/installation.md +36 -0
  445. package/src/docs/getting-started/my-first-component.md +227 -0
  446. package/src/docs/getting-started/start.md +35 -0
  447. package/src/docs/getting-started/theming.md +253 -0
  448. package/src/docs/header/header.ts +240 -71
  449. package/src/docs/home/catalog.ts +44 -0
  450. package/src/docs/home/home.ts +520 -0
  451. package/src/docs/home/mach-stage.ts +389 -0
  452. package/src/docs/layout.ts +12 -11
  453. package/src/docs/misc/api-configuration.md +79 -0
  454. package/src/docs/misc/dataProviderKey.md +168 -0
  455. package/src/docs/misc/docs-mock-api.md +62 -0
  456. package/src/docs/misc/dynamic-path.md +71 -0
  457. package/src/docs/misc/endpoint.md +45 -0
  458. package/src/docs/misc/html-integration.md +14 -0
  459. package/src/docs/mock-api/api-config-mock.ts +5 -0
  460. package/src/docs/mock-api/fixtures.ts +0 -278
  461. package/src/docs/mock-api/flights.ts +89 -0
  462. package/src/docs/mock-api/router.ts +3 -4
  463. package/src/docs/mock-api/urls.ts +1 -2
  464. package/src/docs/navigation/components-index.ts +56 -0
  465. package/src/docs/navigation/navigation.ts +219 -232
  466. package/src/docs/navigation/pager.ts +67 -0
  467. package/src/docs/navigation/toc.ts +101 -0
  468. package/src/docs/search/docs-search.json +2419 -4374
  469. package/src/docs/search/markdown-renderer.ts +33 -7
  470. package/src/docs/search/page.ts +9 -6
  471. package/src/docs/search/search.ts +154 -122
  472. package/src/docs/shiki/index.ts +109 -0
  473. package/src/docs/tailwind/css/base/scrollbar.css +22 -0
  474. package/src/docs/tailwind/css/base/theme.css +96 -0
  475. package/src/docs/tailwind/css/base/typography.css +4 -0
  476. package/src/docs/tailwind/css/docs/boarding-pass.css +65 -0
  477. package/src/docs/tailwind/css/docs/content.css +32 -0
  478. package/src/docs/tailwind/css/docs/page.css +10 -0
  479. package/src/docs/tailwind/css/docs.css +9 -0
  480. package/src/docs/tailwind/css/home/hero.css +210 -0
  481. package/src/docs/tailwind/css/home/motion.css +84 -0
  482. package/src/docs/tailwind/css/home/sections.css +416 -0
  483. package/src/docs/tailwind/css/tailwind.css +7 -185
  484. package/src/tsconfig.json +23 -2
  485. package/src/tsconfig.tsbuildinfo +1 -1
  486. package/tailwind.config.js +8 -4
  487. package/vite.config.mts +11 -2
  488. package/.agents/skills/concorde-component-docs/SKILL.md +0 -194
  489. package/.github/workflows/ci.yml +0 -21
  490. package/.github-export-ignore +0 -30
  491. package/CONTRIBUTING.md +0 -59
  492. package/DEV.md +0 -54
  493. package/LICENSE +0 -21
  494. package/OPEN_SOURCE_CHECKPOINT.md +0 -133
  495. package/concorde-3d.bundle.js +0 -3960
  496. package/concorde-3d.es.js +0 -33433
  497. package/concorde-hugging-face-infer.bundle.js +0 -32
  498. package/concorde-hugging-face-infer.es.js +0 -2952
  499. package/concorde-interactive.bundle.js +0 -1157
  500. package/concorde-interactive.es.js +0 -10734
  501. package/concorde-shader.bundle.js +0 -116
  502. package/concorde-shader.es.js +0 -8353
  503. package/concorde-webgpu.bundle.js +0 -307
  504. package/concorde-webgpu.es.js +0 -8627
  505. package/docs/assets/index-D8MVWqY6.js +0 -12251
  506. package/docs/assets/index-DiD0qYvE.css +0 -1
  507. package/docs/crawl/core/components/functional/date/date.html +0 -190
  508. package/docs/crawl/core/components/functional/fetch/fetch.html +0 -109
  509. package/docs/crawl/core/components/functional/if/if.html +0 -27
  510. package/docs/crawl/core/components/functional/jsonata/jsonata.html +0 -79
  511. package/docs/crawl/core/components/functional/list/list.html +0 -70
  512. package/docs/crawl/core/components/functional/mix/mix.html +0 -45
  513. package/docs/crawl/core/components/functional/queue/queue.html +0 -96
  514. package/docs/crawl/core/components/functional/router/router.html +0 -106
  515. package/docs/crawl/core/components/functional/sdui/sdui.html +0 -269
  516. package/docs/crawl/core/components/functional/states/states.html +0 -66
  517. package/docs/crawl/core/components/functional/submit/submit.html +0 -160
  518. package/docs/crawl/core/components/functional/value/value.html +0 -51
  519. package/docs/crawl/core/components/ui/alert/alert.html +0 -110
  520. package/docs/crawl/core/components/ui/alert-messages/alert-messages.html +0 -23
  521. package/docs/crawl/core/components/ui/badge/badge.html +0 -119
  522. package/docs/crawl/core/components/ui/button/button.html +0 -149
  523. package/docs/crawl/core/components/ui/captcha/captcha.html +0 -30
  524. package/docs/crawl/core/components/ui/card/card.html +0 -99
  525. package/docs/crawl/core/components/ui/divider/divider.html +0 -58
  526. package/docs/crawl/core/components/ui/form/checkbox/checkbox.html +0 -73
  527. package/docs/crawl/core/components/ui/form/fieldset/fieldset.html +0 -135
  528. package/docs/crawl/core/components/ui/form/form-actions/form-actions.html +0 -79
  529. package/docs/crawl/core/components/ui/form/form-layout/form-layout.html +0 -62
  530. package/docs/crawl/core/components/ui/form/input/input.html +0 -109
  531. package/docs/crawl/core/components/ui/form/input-autocomplete/input-autocomplete.html +0 -38
  532. package/docs/crawl/core/components/ui/form/radio/radio.html +0 -56
  533. package/docs/crawl/core/components/ui/form/select/select.html +0 -73
  534. package/docs/crawl/core/components/ui/form/switch/switch.html +0 -56
  535. package/docs/crawl/core/components/ui/form/textarea/textarea.html +0 -59
  536. package/docs/crawl/core/components/ui/group/group.html +0 -82
  537. package/docs/crawl/core/components/ui/icon/icon.html +0 -133
  538. package/docs/crawl/core/components/ui/image/image.html +0 -110
  539. package/docs/crawl/core/components/ui/link/link.html +0 -42
  540. package/docs/crawl/core/components/ui/loader/loader.html +0 -50
  541. package/docs/crawl/core/components/ui/modal/modal.html +0 -117
  542. package/docs/crawl/core/components/ui/pop/pop.html +0 -102
  543. package/docs/crawl/core/components/ui/progress/progress.html +0 -58
  544. package/docs/crawl/core/components/ui/table/table.html +0 -413
  545. package/docs/crawl/core/components/ui/toast/toast.html +0 -122
  546. package/docs/crawl/core/components/ui/tooltip/tooltip.html +0 -79
  547. package/docs/crawl/docs/_core-concept/overview.html +0 -66
  548. package/docs/crawl/docs/_core-concept/subscriber.html +0 -75
  549. package/docs/crawl/docs/_decorators/ancestor-attribute.html +0 -116
  550. package/docs/crawl/docs/_decorators/auto-subscribe.html +0 -202
  551. package/docs/crawl/docs/_decorators/bind.html +0 -141
  552. package/docs/crawl/docs/_decorators/get.html +0 -149
  553. package/docs/crawl/docs/_decorators/handle.html +0 -165
  554. package/docs/crawl/docs/_decorators/on-assign.html +0 -355
  555. package/docs/crawl/docs/_decorators/patch.html +0 -78
  556. package/docs/crawl/docs/_decorators/post.html +0 -139
  557. package/docs/crawl/docs/_decorators/publish.html +0 -61
  558. package/docs/crawl/docs/_decorators/put.html +0 -78
  559. package/docs/crawl/docs/_decorators/subscribe.html +0 -109
  560. package/docs/crawl/docs/_decorators/wait-for-ancestors.html +0 -137
  561. package/docs/crawl/docs/_directives/sub.html +0 -93
  562. package/docs/crawl/docs/_getting-started/concorde-manual-install.html +0 -100
  563. package/docs/crawl/docs/_getting-started/concorde-outside.html +0 -58
  564. package/docs/crawl/docs/_getting-started/my-first-subscriber.html +0 -110
  565. package/docs/crawl/docs/_getting-started/pubsub.html +0 -62
  566. package/docs/crawl/docs/_getting-started/start.html +0 -76
  567. package/docs/crawl/docs/_getting-started/theming.html +0 -85
  568. package/docs/crawl/docs/_misc/formelement-subscriber-removal.html +0 -138
  569. package/docs/crawl/hubs/decorators.html +0 -547
  570. package/docs/crawl/hubs/form-components.html +0 -359
  571. package/docs/crawl/hubs/remote-data.html +0 -452
  572. package/docs/crawl/index.html +0 -101
  573. package/docs/src/core/components/ui/form/input-autocomplete/input-autocomplete.md +0 -29
  574. package/docs/src/docs/_core-concept/overview.md +0 -57
  575. package/docs/src/docs/_core-concept/subscriber.md +0 -75
  576. package/docs/src/docs/_decorators/ancestor-attribute.md +0 -127
  577. package/docs/src/docs/_decorators/auto-subscribe.md +0 -202
  578. package/docs/src/docs/_decorators/bind.md +0 -167
  579. package/docs/src/docs/_decorators/get.md +0 -162
  580. package/docs/src/docs/_decorators/handle.md +0 -175
  581. package/docs/src/docs/_decorators/on-assign.md +0 -390
  582. package/docs/src/docs/_decorators/patch.md +0 -70
  583. package/docs/src/docs/_decorators/post.md +0 -146
  584. package/docs/src/docs/_decorators/publish.md +0 -55
  585. package/docs/src/docs/_decorators/put.md +0 -70
  586. package/docs/src/docs/_decorators/subscribe.md +0 -100
  587. package/docs/src/docs/_decorators/wait-for-ancestors.md +0 -163
  588. package/docs/src/docs/_directives/sub.md +0 -91
  589. package/docs/src/docs/_getting-started/concorde-manual-install.md +0 -133
  590. package/docs/src/docs/_getting-started/concorde-outside.md +0 -33
  591. package/docs/src/docs/_getting-started/my-first-subscriber.md +0 -120
  592. package/docs/src/docs/_getting-started/pubsub.md +0 -37
  593. package/docs/src/docs/_getting-started/start.md +0 -47
  594. package/docs/src/docs/_getting-started/theming.md +0 -91
  595. package/docs/src/docs/_misc/formelement-subscriber-removal.md +0 -115
  596. package/docs/src/tsconfig.declarations.json +0 -22
  597. package/docs/src/tsconfig.emit.json +0 -23
  598. package/gitlab/job_github_mirror.sh +0 -39
  599. package/scripts/github-export.mjs +0 -150
  600. package/src/core/components/ui/form/input-autocomplete/input-autocomplete.md +0 -29
  601. package/src/css.d.ts +0 -19
  602. package/src/docs/_core-concept/overview.md +0 -57
  603. package/src/docs/_core-concept/subscriber.md +0 -75
  604. package/src/docs/_decorators/ancestor-attribute.md +0 -128
  605. package/src/docs/_decorators/auto-subscribe.md +0 -202
  606. package/src/docs/_decorators/bind.md +0 -167
  607. package/src/docs/_decorators/get.md +0 -162
  608. package/src/docs/_decorators/handle.md +0 -175
  609. package/src/docs/_decorators/on-assign.md +0 -390
  610. package/src/docs/_decorators/patch.md +0 -70
  611. package/src/docs/_decorators/post.md +0 -146
  612. package/src/docs/_decorators/publish.md +0 -55
  613. package/src/docs/_decorators/put.md +0 -70
  614. package/src/docs/_decorators/subscribe.md +0 -100
  615. package/src/docs/_decorators/wait-for-ancestors.md +0 -163
  616. package/src/docs/_directives/sub.md +0 -91
  617. package/src/docs/_getting-started/concorde-manual-install.md +0 -133
  618. package/src/docs/_getting-started/concorde-outside.md +0 -33
  619. package/src/docs/_getting-started/my-first-subscriber.md +0 -120
  620. package/src/docs/_getting-started/pubsub.md +0 -37
  621. package/src/docs/_misc/formelement-subscriber-removal.md +0 -115
  622. package/src/docs/example/docs-input-autocomplete-demos.ts +0 -110
  623. package/src/docs/example/docs-joke-demos.ts +0 -297
  624. package/src/docs/prism/index.ts +0 -6
  625. package/src/docs/prism/prism.css +0 -158
  626. package/src/docs/prism/prism.js +0 -1022
  627. package/src/tsconfig.declarations.json +0 -22
  628. package/src/tsconfig.emit.json +0 -23
@@ -0,0 +1,4103 @@
1
+ {
2
+ "url": "http://localhost:3010/",
3
+ "at": "2026-10-25T21:38:17.016Z",
4
+ "allow": [],
5
+ "viewports": [
6
+ {
7
+ "width": 1440,
8
+ "height": 900,
9
+ "load": "load",
10
+ "screens": 9,
11
+ "filled": [
12
+ 0.5,
13
+ 0.51,
14
+ 0.35,
15
+ 0.4,
16
+ 0.37,
17
+ 0.24,
18
+ 0.74,
19
+ 0.38,
20
+ 0.31
21
+ ],
22
+ "motion": {
23
+ "elements": 21,
24
+ "css": 7,
25
+ "transitions": 14,
26
+ "scripted": 0,
27
+ "videos": 1,
28
+ "playingVideos": 1
29
+ },
30
+ "metrics": {
31
+ "viewport": {
32
+ "w": 1440,
33
+ "h": 900
34
+ },
35
+ "page": {
36
+ "height": 7435,
37
+ "screens": 8.3,
38
+ "words": 462,
39
+ "img": 1,
40
+ "video": 1,
41
+ "canvas": 0,
42
+ "svg": 0,
43
+ "sections": 6,
44
+ "horizontalOverflow": 0,
45
+ "overflowCulprits": [],
46
+ "uiFragments": 3,
47
+ "uiAbuse": false,
48
+ "realPictures": 2,
49
+ "videoCount": 1,
50
+ "uiPictures": 2,
51
+ "pictureSamples": [
52
+ "concorde-001-2cv.webp"
53
+ ],
54
+ "blendText": 0,
55
+ "sideScrollers": 0,
56
+ "brokenImages": [],
57
+ "emoji": [],
58
+ "videosNoPoster": 0
59
+ },
60
+ "hero": {
61
+ "text": "Web components for every stack.",
62
+ "words": 5,
63
+ "chars": 31,
64
+ "lines": 2,
65
+ "size": 68.3,
66
+ "vw": 4.7,
67
+ "font": "Schibsted Grotesk",
68
+ "weight": 800,
69
+ "tracking": -0.05,
70
+ "leading": 0.88,
71
+ "upper": false,
72
+ "italic": false,
73
+ "mono": false,
74
+ "align": "left",
75
+ "position": "left",
76
+ "widthRatio": 0.44,
77
+ "top": 342,
78
+ "tag": "h1",
79
+ "kind": "heading"
80
+ },
81
+ "h1": {
82
+ "text": "Web components for every stack.",
83
+ "words": 5,
84
+ "lines": 2,
85
+ "size": 68.3,
86
+ "font": "Schibsted Grotesk"
87
+ },
88
+ "headings": [
89
+ {
90
+ "text": "Web components for every stack.",
91
+ "words": 5,
92
+ "chars": 31,
93
+ "lines": 2,
94
+ "size": 68.3,
95
+ "vw": 4.7,
96
+ "font": "Schibsted Grotesk",
97
+ "weight": 800,
98
+ "tracking": -0.05,
99
+ "leading": 0.88,
100
+ "upper": false,
101
+ "italic": false,
102
+ "mono": false,
103
+ "align": "left",
104
+ "position": "left",
105
+ "widthRatio": 0.44,
106
+ "top": 342,
107
+ "tag": "h1",
108
+ "kind": "heading"
109
+ },
110
+ {
111
+ "text": "CDG",
112
+ "words": 1,
113
+ "chars": 3,
114
+ "lines": 1,
115
+ "size": 48,
116
+ "vw": 3.3,
117
+ "font": "Schibsted Grotesk",
118
+ "weight": 400,
119
+ "tracking": 0,
120
+ "leading": 1,
121
+ "upper": true,
122
+ "italic": false,
123
+ "mono": false,
124
+ "align": "left",
125
+ "position": "right",
126
+ "widthRatio": 0.07,
127
+ "top": 523,
128
+ "tag": "div",
129
+ "kind": "heading"
130
+ },
131
+ {
132
+ "text": "JFK",
133
+ "words": 1,
134
+ "chars": 3,
135
+ "lines": 1,
136
+ "size": 48,
137
+ "vw": 3.3,
138
+ "font": "Schibsted Grotesk",
139
+ "weight": 400,
140
+ "tracking": 0,
141
+ "leading": 1,
142
+ "upper": true,
143
+ "italic": false,
144
+ "mono": false,
145
+ "align": "right",
146
+ "position": "right",
147
+ "widthRatio": 0.06,
148
+ "top": 523,
149
+ "tag": "div",
150
+ "kind": "heading"
151
+ },
152
+ {
153
+ "text": "Concorde is a Lit library of 41 web components. They bind data, call APIs and theme themselves from plain HTML, in React, Vue, PHP or a static page.",
154
+ "words": 28,
155
+ "chars": 148,
156
+ "lines": 3,
157
+ "size": 36,
158
+ "vw": 2.5,
159
+ "font": "Schibsted Grotesk",
160
+ "weight": 600,
161
+ "tracking": -0.02,
162
+ "leading": 1.12,
163
+ "upper": false,
164
+ "italic": false,
165
+ "mono": false,
166
+ "align": "left",
167
+ "position": "left",
168
+ "widthRatio": 0.71,
169
+ "top": 1004,
170
+ "tag": "p",
171
+ "kind": "statement"
172
+ },
173
+ {
174
+ "text": "41 components, one tag each.",
175
+ "words": 5,
176
+ "chars": 28,
177
+ "lines": 2,
178
+ "size": 68,
179
+ "vw": 4.7,
180
+ "font": "Schibsted Grotesk",
181
+ "weight": 800,
182
+ "tracking": -0.045,
183
+ "leading": 0.95,
184
+ "upper": false,
185
+ "italic": false,
186
+ "mono": false,
187
+ "align": "left",
188
+ "position": "left",
189
+ "widthRatio": 0.34,
190
+ "top": 1303,
191
+ "tag": "h2",
192
+ "kind": "heading"
193
+ },
194
+ {
195
+ "text": "Alert /",
196
+ "words": 2,
197
+ "chars": 7,
198
+ "lines": 1,
199
+ "size": 47.4,
200
+ "vw": 3.3,
201
+ "font": "Schibsted Grotesk",
202
+ "weight": 800,
203
+ "tracking": -0.03,
204
+ "leading": 1.08,
205
+ "upper": false,
206
+ "italic": false,
207
+ "mono": false,
208
+ "align": "left",
209
+ "position": "left",
210
+ "widthRatio": 0.11,
211
+ "top": 1476,
212
+ "tag": "span",
213
+ "kind": "statement"
214
+ },
215
+ {
216
+ "text": "Badge /",
217
+ "words": 2,
218
+ "chars": 7,
219
+ "lines": 1,
220
+ "size": 47.4,
221
+ "vw": 3.3,
222
+ "font": "Schibsted Grotesk",
223
+ "weight": 800,
224
+ "tracking": -0.03,
225
+ "leading": 1.08,
226
+ "upper": false,
227
+ "italic": false,
228
+ "mono": false,
229
+ "align": "left",
230
+ "position": "left",
231
+ "widthRatio": 0.12,
232
+ "top": 1476,
233
+ "tag": "span",
234
+ "kind": "statement"
235
+ },
236
+ {
237
+ "text": "Button /",
238
+ "words": 2,
239
+ "chars": 8,
240
+ "lines": 1,
241
+ "size": 47.4,
242
+ "vw": 3.3,
243
+ "font": "Schibsted Grotesk",
244
+ "weight": 800,
245
+ "tracking": -0.03,
246
+ "leading": 1.08,
247
+ "upper": false,
248
+ "italic": false,
249
+ "mono": false,
250
+ "align": "left",
251
+ "position": "left",
252
+ "widthRatio": 0.13,
253
+ "top": 1476,
254
+ "tag": "span",
255
+ "kind": "statement"
256
+ },
257
+ {
258
+ "text": "Captcha /",
259
+ "words": 2,
260
+ "chars": 9,
261
+ "lines": 1,
262
+ "size": 47.4,
263
+ "vw": 3.3,
264
+ "font": "Schibsted Grotesk",
265
+ "weight": 800,
266
+ "tracking": -0.03,
267
+ "leading": 1.08,
268
+ "upper": false,
269
+ "italic": false,
270
+ "mono": false,
271
+ "align": "left",
272
+ "position": "center",
273
+ "widthRatio": 0.16,
274
+ "top": 1476,
275
+ "tag": "span",
276
+ "kind": "statement"
277
+ },
278
+ {
279
+ "text": "Card /",
280
+ "words": 2,
281
+ "chars": 6,
282
+ "lines": 1,
283
+ "size": 47.4,
284
+ "vw": 3.3,
285
+ "font": "Schibsted Grotesk",
286
+ "weight": 800,
287
+ "tracking": -0.03,
288
+ "leading": 1.08,
289
+ "upper": false,
290
+ "italic": false,
291
+ "mono": false,
292
+ "align": "left",
293
+ "position": "right",
294
+ "widthRatio": 0.1,
295
+ "top": 1476,
296
+ "tag": "span",
297
+ "kind": "statement"
298
+ },
299
+ {
300
+ "text": "Checkbox /",
301
+ "words": 2,
302
+ "chars": 10,
303
+ "lines": 1,
304
+ "size": 47.4,
305
+ "vw": 3.3,
306
+ "font": "Schibsted Grotesk",
307
+ "weight": 800,
308
+ "tracking": -0.03,
309
+ "leading": 1.08,
310
+ "upper": false,
311
+ "italic": false,
312
+ "mono": false,
313
+ "align": "left",
314
+ "position": "right",
315
+ "widthRatio": 0.18,
316
+ "top": 1476,
317
+ "tag": "span",
318
+ "kind": "statement"
319
+ },
320
+ {
321
+ "text": "Divider /",
322
+ "words": 2,
323
+ "chars": 9,
324
+ "lines": 1,
325
+ "size": 47.4,
326
+ "vw": 3.3,
327
+ "font": "Schibsted Grotesk",
328
+ "weight": 800,
329
+ "tracking": -0.03,
330
+ "leading": 1.08,
331
+ "upper": false,
332
+ "italic": false,
333
+ "mono": false,
334
+ "align": "left",
335
+ "position": "left",
336
+ "widthRatio": 0.14,
337
+ "top": 1527,
338
+ "tag": "span",
339
+ "kind": "statement"
340
+ },
341
+ {
342
+ "text": "Fieldset /",
343
+ "words": 2,
344
+ "chars": 10,
345
+ "lines": 1,
346
+ "size": 47.4,
347
+ "vw": 3.3,
348
+ "font": "Schibsted Grotesk",
349
+ "weight": 800,
350
+ "tracking": -0.03,
351
+ "leading": 1.08,
352
+ "upper": false,
353
+ "italic": false,
354
+ "mono": false,
355
+ "align": "left",
356
+ "position": "left",
357
+ "widthRatio": 0.15,
358
+ "top": 1527,
359
+ "tag": "span",
360
+ "kind": "statement"
361
+ },
362
+ {
363
+ "text": "Form actions /",
364
+ "words": 3,
365
+ "chars": 14,
366
+ "lines": 1,
367
+ "size": 47.4,
368
+ "vw": 3.3,
369
+ "font": "Schibsted Grotesk",
370
+ "weight": 800,
371
+ "tracking": -0.03,
372
+ "leading": 1.08,
373
+ "upper": false,
374
+ "italic": false,
375
+ "mono": false,
376
+ "align": "left",
377
+ "position": "center",
378
+ "widthRatio": 0.23,
379
+ "top": 1527,
380
+ "tag": "span",
381
+ "kind": "statement"
382
+ },
383
+ {
384
+ "text": "Form layout /",
385
+ "words": 3,
386
+ "chars": 13,
387
+ "lines": 1,
388
+ "size": 47.4,
389
+ "vw": 3.3,
390
+ "font": "Schibsted Grotesk",
391
+ "weight": 800,
392
+ "tracking": -0.03,
393
+ "leading": 1.08,
394
+ "upper": false,
395
+ "italic": false,
396
+ "mono": false,
397
+ "align": "left",
398
+ "position": "right",
399
+ "widthRatio": 0.21,
400
+ "top": 1527,
401
+ "tag": "span",
402
+ "kind": "statement"
403
+ },
404
+ {
405
+ "text": "Group /",
406
+ "words": 2,
407
+ "chars": 7,
408
+ "lines": 1,
409
+ "size": 47.4,
410
+ "vw": 3.3,
411
+ "font": "Schibsted Grotesk",
412
+ "weight": 800,
413
+ "tracking": -0.03,
414
+ "leading": 1.08,
415
+ "upper": false,
416
+ "italic": false,
417
+ "mono": false,
418
+ "align": "left",
419
+ "position": "right",
420
+ "widthRatio": 0.12,
421
+ "top": 1527,
422
+ "tag": "span",
423
+ "kind": "statement"
424
+ },
425
+ {
426
+ "text": "Icon /",
427
+ "words": 2,
428
+ "chars": 6,
429
+ "lines": 1,
430
+ "size": 47.4,
431
+ "vw": 3.3,
432
+ "font": "Schibsted Grotesk",
433
+ "weight": 800,
434
+ "tracking": -0.03,
435
+ "leading": 1.08,
436
+ "upper": false,
437
+ "italic": false,
438
+ "mono": false,
439
+ "align": "left",
440
+ "position": "left",
441
+ "widthRatio": 0.1,
442
+ "top": 1578,
443
+ "tag": "span",
444
+ "kind": "statement"
445
+ },
446
+ {
447
+ "text": "Image /",
448
+ "words": 2,
449
+ "chars": 7,
450
+ "lines": 1,
451
+ "size": 47.4,
452
+ "vw": 3.3,
453
+ "font": "Schibsted Grotesk",
454
+ "weight": 800,
455
+ "tracking": -0.03,
456
+ "leading": 1.08,
457
+ "upper": false,
458
+ "italic": false,
459
+ "mono": false,
460
+ "align": "left",
461
+ "position": "left",
462
+ "widthRatio": 0.13,
463
+ "top": 1578,
464
+ "tag": "span",
465
+ "kind": "statement"
466
+ },
467
+ {
468
+ "text": "Input /",
469
+ "words": 2,
470
+ "chars": 7,
471
+ "lines": 1,
472
+ "size": 47.4,
473
+ "vw": 3.3,
474
+ "font": "Schibsted Grotesk",
475
+ "weight": 800,
476
+ "tracking": -0.03,
477
+ "leading": 1.08,
478
+ "upper": false,
479
+ "italic": false,
480
+ "mono": false,
481
+ "align": "left",
482
+ "position": "left",
483
+ "widthRatio": 0.11,
484
+ "top": 1578,
485
+ "tag": "span",
486
+ "kind": "statement"
487
+ },
488
+ {
489
+ "text": "Input autocomplete /",
490
+ "words": 3,
491
+ "chars": 20,
492
+ "lines": 1,
493
+ "size": 47.4,
494
+ "vw": 3.3,
495
+ "font": "Schibsted Grotesk",
496
+ "weight": 800,
497
+ "tracking": -0.03,
498
+ "leading": 1.08,
499
+ "upper": false,
500
+ "italic": false,
501
+ "mono": false,
502
+ "align": "left",
503
+ "position": "center",
504
+ "widthRatio": 0.33,
505
+ "top": 1578,
506
+ "tag": "span",
507
+ "kind": "statement"
508
+ },
509
+ {
510
+ "text": "Link /",
511
+ "words": 2,
512
+ "chars": 6,
513
+ "lines": 1,
514
+ "size": 47.4,
515
+ "vw": 3.3,
516
+ "font": "Schibsted Grotesk",
517
+ "weight": 800,
518
+ "tracking": -0.03,
519
+ "leading": 1.08,
520
+ "upper": false,
521
+ "italic": false,
522
+ "mono": false,
523
+ "align": "left",
524
+ "position": "right",
525
+ "widthRatio": 0.09,
526
+ "top": 1578,
527
+ "tag": "span",
528
+ "kind": "statement"
529
+ },
530
+ {
531
+ "text": "Loader /",
532
+ "words": 2,
533
+ "chars": 8,
534
+ "lines": 1,
535
+ "size": 47.4,
536
+ "vw": 3.3,
537
+ "font": "Schibsted Grotesk",
538
+ "weight": 800,
539
+ "tracking": -0.03,
540
+ "leading": 1.08,
541
+ "upper": false,
542
+ "italic": false,
543
+ "mono": false,
544
+ "align": "left",
545
+ "position": "right",
546
+ "widthRatio": 0.14,
547
+ "top": 1578,
548
+ "tag": "span",
549
+ "kind": "statement"
550
+ },
551
+ {
552
+ "text": "Menu /",
553
+ "words": 2,
554
+ "chars": 6,
555
+ "lines": 1,
556
+ "size": 47.4,
557
+ "vw": 3.3,
558
+ "font": "Schibsted Grotesk",
559
+ "weight": 800,
560
+ "tracking": -0.03,
561
+ "leading": 1.08,
562
+ "upper": false,
563
+ "italic": false,
564
+ "mono": false,
565
+ "align": "left",
566
+ "position": "left",
567
+ "widthRatio": 0.12,
568
+ "top": 1629,
569
+ "tag": "span",
570
+ "kind": "statement"
571
+ },
572
+ {
573
+ "text": "Modal /",
574
+ "words": 2,
575
+ "chars": 7,
576
+ "lines": 1,
577
+ "size": 47.4,
578
+ "vw": 3.3,
579
+ "font": "Schibsted Grotesk",
580
+ "weight": 800,
581
+ "tracking": -0.03,
582
+ "leading": 1.08,
583
+ "upper": false,
584
+ "italic": false,
585
+ "mono": false,
586
+ "align": "left",
587
+ "position": "left",
588
+ "widthRatio": 0.13,
589
+ "top": 1629,
590
+ "tag": "span",
591
+ "kind": "statement"
592
+ },
593
+ {
594
+ "text": "Pop /",
595
+ "words": 2,
596
+ "chars": 5,
597
+ "lines": 1,
598
+ "size": 47.4,
599
+ "vw": 3.3,
600
+ "font": "Schibsted Grotesk",
601
+ "weight": 800,
602
+ "tracking": -0.03,
603
+ "leading": 1.08,
604
+ "upper": false,
605
+ "italic": false,
606
+ "mono": false,
607
+ "align": "left",
608
+ "position": "left",
609
+ "widthRatio": 0.09,
610
+ "top": 1629,
611
+ "tag": "span",
612
+ "kind": "statement"
613
+ },
614
+ {
615
+ "text": "Progress /",
616
+ "words": 2,
617
+ "chars": 10,
618
+ "lines": 1,
619
+ "size": 47.4,
620
+ "vw": 3.3,
621
+ "font": "Schibsted Grotesk",
622
+ "weight": 800,
623
+ "tracking": -0.03,
624
+ "leading": 1.08,
625
+ "upper": false,
626
+ "italic": false,
627
+ "mono": false,
628
+ "align": "left",
629
+ "position": "center",
630
+ "widthRatio": 0.17,
631
+ "top": 1629,
632
+ "tag": "span",
633
+ "kind": "statement"
634
+ },
635
+ {
636
+ "text": "Radio /",
637
+ "words": 2,
638
+ "chars": 7,
639
+ "lines": 1,
640
+ "size": 47.4,
641
+ "vw": 3.3,
642
+ "font": "Schibsted Grotesk",
643
+ "weight": 800,
644
+ "tracking": -0.03,
645
+ "leading": 1.08,
646
+ "upper": false,
647
+ "italic": false,
648
+ "mono": false,
649
+ "align": "left",
650
+ "position": "right",
651
+ "widthRatio": 0.12,
652
+ "top": 1629,
653
+ "tag": "span",
654
+ "kind": "statement"
655
+ },
656
+ {
657
+ "text": "Select /",
658
+ "words": 2,
659
+ "chars": 8,
660
+ "lines": 1,
661
+ "size": 47.4,
662
+ "vw": 3.3,
663
+ "font": "Schibsted Grotesk",
664
+ "weight": 800,
665
+ "tracking": -0.03,
666
+ "leading": 1.08,
667
+ "upper": false,
668
+ "italic": false,
669
+ "mono": false,
670
+ "align": "left",
671
+ "position": "right",
672
+ "widthRatio": 0.13,
673
+ "top": 1629,
674
+ "tag": "span",
675
+ "kind": "statement"
676
+ },
677
+ {
678
+ "text": "Switch /",
679
+ "words": 2,
680
+ "chars": 8,
681
+ "lines": 1,
682
+ "size": 47.4,
683
+ "vw": 3.3,
684
+ "font": "Schibsted Grotesk",
685
+ "weight": 800,
686
+ "tracking": -0.03,
687
+ "leading": 1.08,
688
+ "upper": false,
689
+ "italic": false,
690
+ "mono": false,
691
+ "align": "left",
692
+ "position": "right",
693
+ "widthRatio": 0.13,
694
+ "top": 1629,
695
+ "tag": "span",
696
+ "kind": "statement"
697
+ },
698
+ {
699
+ "text": "Table /",
700
+ "words": 2,
701
+ "chars": 7,
702
+ "lines": 1,
703
+ "size": 47.4,
704
+ "vw": 3.3,
705
+ "font": "Schibsted Grotesk",
706
+ "weight": 800,
707
+ "tracking": -0.03,
708
+ "leading": 1.08,
709
+ "upper": false,
710
+ "italic": false,
711
+ "mono": false,
712
+ "align": "left",
713
+ "position": "left",
714
+ "widthRatio": 0.11,
715
+ "top": 1680,
716
+ "tag": "span",
717
+ "kind": "statement"
718
+ },
719
+ {
720
+ "text": "Textarea /",
721
+ "words": 2,
722
+ "chars": 10,
723
+ "lines": 1,
724
+ "size": 47.4,
725
+ "vw": 3.3,
726
+ "font": "Schibsted Grotesk",
727
+ "weight": 800,
728
+ "tracking": -0.03,
729
+ "leading": 1.08,
730
+ "upper": false,
731
+ "italic": false,
732
+ "mono": false,
733
+ "align": "left",
734
+ "position": "left",
735
+ "widthRatio": 0.17,
736
+ "top": 1680,
737
+ "tag": "span",
738
+ "kind": "statement"
739
+ },
740
+ {
741
+ "text": "Theme /",
742
+ "words": 2,
743
+ "chars": 7,
744
+ "lines": 1,
745
+ "size": 47.4,
746
+ "vw": 3.3,
747
+ "font": "Schibsted Grotesk",
748
+ "weight": 800,
749
+ "tracking": -0.03,
750
+ "leading": 1.08,
751
+ "upper": false,
752
+ "italic": false,
753
+ "mono": false,
754
+ "align": "left",
755
+ "position": "left",
756
+ "widthRatio": 0.14,
757
+ "top": 1680,
758
+ "tag": "span",
759
+ "kind": "statement"
760
+ },
761
+ {
762
+ "text": "Toast /",
763
+ "words": 2,
764
+ "chars": 7,
765
+ "lines": 1,
766
+ "size": 47.4,
767
+ "vw": 3.3,
768
+ "font": "Schibsted Grotesk",
769
+ "weight": 800,
770
+ "tracking": -0.03,
771
+ "leading": 1.08,
772
+ "upper": false,
773
+ "italic": false,
774
+ "mono": false,
775
+ "align": "left",
776
+ "position": "center",
777
+ "widthRatio": 0.11,
778
+ "top": 1680,
779
+ "tag": "span",
780
+ "kind": "statement"
781
+ },
782
+ {
783
+ "text": "Tooltip /",
784
+ "words": 2,
785
+ "chars": 9,
786
+ "lines": 1,
787
+ "size": 47.4,
788
+ "vw": 3.3,
789
+ "font": "Schibsted Grotesk",
790
+ "weight": 800,
791
+ "tracking": -0.03,
792
+ "leading": 1.08,
793
+ "upper": false,
794
+ "italic": false,
795
+ "mono": false,
796
+ "align": "left",
797
+ "position": "right",
798
+ "widthRatio": 0.13,
799
+ "top": 1680,
800
+ "tag": "span",
801
+ "kind": "statement"
802
+ },
803
+ {
804
+ "text": "Date /",
805
+ "words": 2,
806
+ "chars": 6,
807
+ "lines": 1,
808
+ "size": 47.4,
809
+ "vw": 3.3,
810
+ "font": "Schibsted Grotesk",
811
+ "weight": 800,
812
+ "tracking": -0.03,
813
+ "leading": 1.08,
814
+ "upper": false,
815
+ "italic": false,
816
+ "mono": false,
817
+ "align": "left",
818
+ "position": "right",
819
+ "widthRatio": 0.1,
820
+ "top": 1680,
821
+ "tag": "span",
822
+ "kind": "statement"
823
+ },
824
+ {
825
+ "text": "Fetch /",
826
+ "words": 2,
827
+ "chars": 7,
828
+ "lines": 1,
829
+ "size": 47.4,
830
+ "vw": 3.3,
831
+ "font": "Schibsted Grotesk",
832
+ "weight": 800,
833
+ "tracking": -0.03,
834
+ "leading": 1.08,
835
+ "upper": false,
836
+ "italic": false,
837
+ "mono": false,
838
+ "align": "left",
839
+ "position": "right",
840
+ "widthRatio": 0.11,
841
+ "top": 1680,
842
+ "tag": "span",
843
+ "kind": "statement"
844
+ },
845
+ {
846
+ "text": "If /",
847
+ "words": 2,
848
+ "chars": 4,
849
+ "lines": 1,
850
+ "size": 47.4,
851
+ "vw": 3.3,
852
+ "font": "Schibsted Grotesk",
853
+ "weight": 800,
854
+ "tracking": -0.03,
855
+ "leading": 1.08,
856
+ "upper": false,
857
+ "italic": false,
858
+ "mono": false,
859
+ "align": "left",
860
+ "position": "left",
861
+ "widthRatio": 0.05,
862
+ "top": 1731,
863
+ "tag": "span",
864
+ "kind": "statement"
865
+ },
866
+ {
867
+ "text": "List /",
868
+ "words": 2,
869
+ "chars": 6,
870
+ "lines": 1,
871
+ "size": 47.4,
872
+ "vw": 3.3,
873
+ "font": "Schibsted Grotesk",
874
+ "weight": 800,
875
+ "tracking": -0.03,
876
+ "leading": 1.08,
877
+ "upper": false,
878
+ "italic": false,
879
+ "mono": false,
880
+ "align": "left",
881
+ "position": "left",
882
+ "widthRatio": 0.08,
883
+ "top": 1731,
884
+ "tag": "span",
885
+ "kind": "statement"
886
+ },
887
+ {
888
+ "text": "Mix /",
889
+ "words": 2,
890
+ "chars": 5,
891
+ "lines": 1,
892
+ "size": 47.4,
893
+ "vw": 3.3,
894
+ "font": "Schibsted Grotesk",
895
+ "weight": 800,
896
+ "tracking": -0.03,
897
+ "leading": 1.08,
898
+ "upper": false,
899
+ "italic": false,
900
+ "mono": false,
901
+ "align": "left",
902
+ "position": "left",
903
+ "widthRatio": 0.09,
904
+ "top": 1731,
905
+ "tag": "span",
906
+ "kind": "statement"
907
+ },
908
+ {
909
+ "text": "Jsonata /",
910
+ "words": 2,
911
+ "chars": 9,
912
+ "lines": 1,
913
+ "size": 47.4,
914
+ "vw": 3.3,
915
+ "font": "Schibsted Grotesk",
916
+ "weight": 800,
917
+ "tracking": -0.03,
918
+ "leading": 1.08,
919
+ "upper": false,
920
+ "italic": false,
921
+ "mono": false,
922
+ "align": "left",
923
+ "position": "left",
924
+ "widthRatio": 0.15,
925
+ "top": 1731,
926
+ "tag": "span",
927
+ "kind": "statement"
928
+ }
929
+ ],
930
+ "headingSummary": {
931
+ "count": 49,
932
+ "maxLines": 3,
933
+ "over2Lines": 0,
934
+ "statements": 42,
935
+ "centered": 0,
936
+ "medianWords": 2,
937
+ "mixedFontHeadings": 0
938
+ },
939
+ "type": {
940
+ "families": [
941
+ {
942
+ "family": "Schibsted Grotesk",
943
+ "share": 0.99,
944
+ "mono": false
945
+ },
946
+ {
947
+ "family": "ui-monospace",
948
+ "share": 0.01,
949
+ "mono": false
950
+ }
951
+ ],
952
+ "familyCount": 2,
953
+ "sizes": [
954
+ 14,
955
+ 16,
956
+ 18,
957
+ 19,
958
+ 26,
959
+ 36,
960
+ 47,
961
+ 68,
962
+ 97
963
+ ],
964
+ "sizeCount": 9,
965
+ "notLoaded": [],
966
+ "body": {
967
+ "font": "Schibsted Grotesk",
968
+ "size": 19,
969
+ "leading": 1.45,
970
+ "weight": 400,
971
+ "tracking": 0,
972
+ "contrast": 13.2
973
+ },
974
+ "measureChars": 64,
975
+ "max": {
976
+ "size": 97,
977
+ "vw": 6.7,
978
+ "font": "Schibsted Grotesk",
979
+ "text": "Take your projectsupersonic."
980
+ },
981
+ "monoShare": 0.01,
982
+ "monoProseShare": 0,
983
+ "monoFamilies": [
984
+ "ui-monospace"
985
+ ],
986
+ "monoSamples": [],
987
+ "microLabels": 0,
988
+ "microLabelShare": 0,
989
+ "microSamples": [],
990
+ "upperShare": 0.02,
991
+ "centerShare": 0,
992
+ "smallText": 0
993
+ },
994
+ "eyebrows": [],
995
+ "numbered": [],
996
+ "color": {
997
+ "bodyBg": "#e6e0d4",
998
+ "bodyBgHsl": {
999
+ "h": 40,
1000
+ "s": 0.26,
1001
+ "l": 0.87
1002
+ },
1003
+ "dark": false,
1004
+ "sectionBgs": [
1005
+ {
1006
+ "color": "#ff6b1f",
1007
+ "top": 66,
1008
+ "hsl": {
1009
+ "h": 20,
1010
+ "s": 1,
1011
+ "l": 0.56
1012
+ }
1013
+ },
1014
+ {
1015
+ "color": "#24503c",
1016
+ "top": 2117,
1017
+ "hsl": {
1018
+ "h": 153,
1019
+ "s": 0.38,
1020
+ "l": 0.23
1021
+ }
1022
+ }
1023
+ ],
1024
+ "textColors": [
1025
+ {
1026
+ "color": "#1b1a17",
1027
+ "share": 0.95
1028
+ },
1029
+ {
1030
+ "color": "#e6e0d4",
1031
+ "share": 0.03
1032
+ },
1033
+ {
1034
+ "color": "#ffffff",
1035
+ "share": 0.01
1036
+ },
1037
+ {
1038
+ "color": "#1f4a36",
1039
+ "share": 0.01
1040
+ },
1041
+ {
1042
+ "color": "#ff6b1f",
1043
+ "share": 0
1044
+ }
1045
+ ],
1046
+ "button": null,
1047
+ "lowContrast": []
1048
+ },
1049
+ "buttons": {
1050
+ "count": 0,
1051
+ "inHero": 0,
1052
+ "withShadow": 0,
1053
+ "withGradient": 0,
1054
+ "mono": 0,
1055
+ "upper": 0,
1056
+ "heroLabels": []
1057
+ },
1058
+ "surfaces": {
1059
+ "shadowStatic": 0,
1060
+ "shadowOverlay": 0,
1061
+ "shadowSamples": [],
1062
+ "gradients": 0,
1063
+ "scrims": 0,
1064
+ "gradientSamples": [],
1065
+ "gradientText": 0,
1066
+ "hairlines": 0,
1067
+ "hairlineSamples": [],
1068
+ "outlinedBoxes": 0,
1069
+ "dashed": 0,
1070
+ "blurred": 0,
1071
+ "roundedBoxes": 0,
1072
+ "boxRadius": 0,
1073
+ "squareMedia": 2,
1074
+ "roundedMedia": 0,
1075
+ "mediaRadius": 0,
1076
+ "textShadow": 0,
1077
+ "cardRows": []
1078
+ },
1079
+ "heroMedia": [],
1080
+ "nav": {
1081
+ "links": 0,
1082
+ "fixed": false,
1083
+ "height": 20,
1084
+ "floatingPill": false,
1085
+ "blur": false
1086
+ },
1087
+ "fontsLoaded": [
1088
+ "schibsted grotesk"
1089
+ ]
1090
+ },
1091
+ "layout": {
1092
+ "viewport": {
1093
+ "w": 1440,
1094
+ "h": 900
1095
+ },
1096
+ "pageH": 7435,
1097
+ "margins": {
1098
+ "left": 40,
1099
+ "right": 72
1100
+ },
1101
+ "sections": [
1102
+ {
1103
+ "sel": "section.hero",
1104
+ "tag": "section",
1105
+ "top": 66,
1106
+ "height": 834,
1107
+ "words": 30,
1108
+ "media": 0,
1109
+ "middle": 249,
1110
+ "heading": {
1111
+ "text": "Web components",
1112
+ "size": 68,
1113
+ "tag": "h1"
1114
+ },
1115
+ "left": 40,
1116
+ "right": 113,
1117
+ "textLeft": 40,
1118
+ "textRight": 113,
1119
+ "fullBleed": false,
1120
+ "footer": false,
1121
+ "hero": true,
1122
+ "continues": false,
1123
+ "pinned": false
1124
+ },
1125
+ {
1126
+ "sel": "section.manifesto",
1127
+ "tag": "section",
1128
+ "top": 900,
1129
+ "height": 225,
1130
+ "words": 26,
1131
+ "media": 0,
1132
+ "middle": 0,
1133
+ "heading": {
1134
+ "text": "Concorde is a Lit library of 41 web components. Th",
1135
+ "size": 36,
1136
+ "tag": "p"
1137
+ },
1138
+ "left": 40,
1139
+ "right": 537,
1140
+ "textLeft": 40,
1141
+ "textRight": 537,
1142
+ "fullBleed": false,
1143
+ "footer": false,
1144
+ "hero": false,
1145
+ "continues": false,
1146
+ "pinned": false
1147
+ },
1148
+ {
1149
+ "sel": "section.index",
1150
+ "tag": "section",
1151
+ "top": 1125,
1152
+ "height": 814,
1153
+ "words": 66,
1154
+ "media": 0,
1155
+ "middle": 0,
1156
+ "heading": {
1157
+ "text": "41 components,",
1158
+ "size": 68,
1159
+ "tag": "h2"
1160
+ },
1161
+ "left": 40,
1162
+ "right": 40,
1163
+ "textLeft": 40,
1164
+ "textRight": 40,
1165
+ "fullBleed": false,
1166
+ "footer": false,
1167
+ "hero": false,
1168
+ "continues": false,
1169
+ "pinned": false
1170
+ },
1171
+ {
1172
+ "sel": "section.instruments",
1173
+ "tag": "section",
1174
+ "top": 2117,
1175
+ "height": 2464,
1176
+ "words": 145,
1177
+ "media": 0,
1178
+ "middle": 188,
1179
+ "heading": {
1180
+ "text": "Plumbing in attributes.",
1181
+ "size": 68,
1182
+ "tag": "h2"
1183
+ },
1184
+ "left": 116,
1185
+ "right": 104,
1186
+ "textLeft": 116,
1187
+ "textRight": 104,
1188
+ "fullBleed": false,
1189
+ "footer": false,
1190
+ "hero": false,
1191
+ "continues": false,
1192
+ "pinned": true
1193
+ },
1194
+ {
1195
+ "sel": "div.letter",
1196
+ "tag": "div",
1197
+ "top": 4758,
1198
+ "height": 513,
1199
+ "words": 115,
1200
+ "media": 0,
1201
+ "middle": 0,
1202
+ "heading": {
1203
+ "text": "The Supersoniks team",
1204
+ "size": 26,
1205
+ "tag": "p"
1206
+ },
1207
+ "left": 644,
1208
+ "right": 190,
1209
+ "textLeft": 644,
1210
+ "textRight": 190,
1211
+ "fullBleed": false,
1212
+ "footer": false,
1213
+ "hero": false,
1214
+ "continues": true,
1215
+ "pinned": false
1216
+ },
1217
+ {
1218
+ "sel": "figure.story-figure.settle",
1219
+ "tag": "figure",
1220
+ "top": 5358,
1221
+ "height": 691,
1222
+ "words": 0,
1223
+ "media": 1,
1224
+ "middle": 0,
1225
+ "heading": null,
1226
+ "left": null,
1227
+ "right": null,
1228
+ "textLeft": null,
1229
+ "textRight": null,
1230
+ "fullBleed": true,
1231
+ "footer": false,
1232
+ "hero": false,
1233
+ "continues": true,
1234
+ "pinned": false
1235
+ },
1236
+ {
1237
+ "sel": "section.takeoff",
1238
+ "tag": "section",
1239
+ "top": 6049,
1240
+ "height": 1104,
1241
+ "words": 20,
1242
+ "media": 0,
1243
+ "middle": 0,
1244
+ "heading": {
1245
+ "text": "Take your project",
1246
+ "size": 97,
1247
+ "tag": "h2"
1248
+ },
1249
+ "left": 40,
1250
+ "right": 632,
1251
+ "textLeft": 40,
1252
+ "textRight": 632,
1253
+ "fullBleed": false,
1254
+ "footer": false,
1255
+ "hero": false,
1256
+ "continues": false,
1257
+ "pinned": false
1258
+ },
1259
+ {
1260
+ "sel": "footer.home-footer",
1261
+ "tag": "footer",
1262
+ "top": 7153,
1263
+ "height": 282,
1264
+ "words": 28,
1265
+ "media": 0,
1266
+ "middle": 461,
1267
+ "heading": null,
1268
+ "left": 40,
1269
+ "right": 40,
1270
+ "textLeft": 40,
1271
+ "textRight": 40,
1272
+ "fullBleed": false,
1273
+ "footer": true,
1274
+ "hero": false,
1275
+ "continues": false,
1276
+ "pinned": false
1277
+ }
1278
+ ],
1279
+ "gaps": [
1280
+ {
1281
+ "top": 652,
1282
+ "height": 348
1283
+ }
1284
+ ],
1285
+ "h1s": [
1286
+ {
1287
+ "text": "Web components for every stack.",
1288
+ "size": 68,
1289
+ "top": 342,
1290
+ "firstScreen": true
1291
+ }
1292
+ ],
1293
+ "edgeText": [],
1294
+ "edges": [
1295
+ {
1296
+ "x": 40,
1297
+ "n": 9
1298
+ },
1299
+ {
1300
+ "x": 792,
1301
+ "n": 5
1302
+ },
1303
+ {
1304
+ "x": 644,
1305
+ "n": 4
1306
+ }
1307
+ ],
1308
+ "leftBlocks": 18,
1309
+ "bodySize": 19,
1310
+ "stage": false,
1311
+ "explains": false,
1312
+ "slivers": [],
1313
+ "voidShare": 0.27,
1314
+ "voidBox": {
1315
+ "x": 0,
1316
+ "y": 660,
1317
+ "w": 1440,
1318
+ "h": 240
1319
+ }
1320
+ },
1321
+ "app": null,
1322
+ "consoleErrors": []
1323
+ },
1324
+ {
1325
+ "width": 768,
1326
+ "height": 1024,
1327
+ "load": "load",
1328
+ "screens": 7,
1329
+ "filled": [
1330
+ 0.55,
1331
+ 0.37,
1332
+ 0.39,
1333
+ 0.15,
1334
+ 0.64,
1335
+ 0.37,
1336
+ 0.38
1337
+ ],
1338
+ "motion": {
1339
+ "elements": 21,
1340
+ "css": 7,
1341
+ "transitions": 14,
1342
+ "scripted": 0,
1343
+ "videos": 1,
1344
+ "playingVideos": 1
1345
+ },
1346
+ "metrics": {
1347
+ "viewport": {
1348
+ "w": 768,
1349
+ "h": 1024
1350
+ },
1351
+ "page": {
1352
+ "height": 6287,
1353
+ "screens": 6.1,
1354
+ "words": 462,
1355
+ "img": 1,
1356
+ "video": 1,
1357
+ "canvas": 0,
1358
+ "svg": 0,
1359
+ "sections": 6,
1360
+ "horizontalOverflow": 0,
1361
+ "overflowCulprits": [],
1362
+ "uiFragments": 3,
1363
+ "uiAbuse": false,
1364
+ "realPictures": 2,
1365
+ "videoCount": 1,
1366
+ "uiPictures": 2,
1367
+ "pictureSamples": [
1368
+ "concorde-001-2cv.webp"
1369
+ ],
1370
+ "blendText": 0,
1371
+ "sideScrollers": 0,
1372
+ "brokenImages": [],
1373
+ "emoji": [],
1374
+ "videosNoPoster": 0
1375
+ },
1376
+ "hero": {
1377
+ "text": "Web components for every stack.",
1378
+ "words": 5,
1379
+ "chars": 31,
1380
+ "lines": 2,
1381
+ "size": 60.7,
1382
+ "vw": 7.9,
1383
+ "font": "Schibsted Grotesk",
1384
+ "weight": 800,
1385
+ "tracking": -0.05,
1386
+ "leading": 0.88,
1387
+ "upper": false,
1388
+ "italic": false,
1389
+ "mono": false,
1390
+ "align": "left",
1391
+ "position": "center",
1392
+ "widthRatio": 0.94,
1393
+ "top": 148,
1394
+ "tag": "h1",
1395
+ "kind": "heading"
1396
+ },
1397
+ "h1": {
1398
+ "text": "Web components for every stack.",
1399
+ "words": 5,
1400
+ "lines": 2,
1401
+ "size": 60.7,
1402
+ "font": "Schibsted Grotesk"
1403
+ },
1404
+ "headings": [
1405
+ {
1406
+ "text": "Web components for every stack.",
1407
+ "words": 5,
1408
+ "chars": 31,
1409
+ "lines": 2,
1410
+ "size": 60.7,
1411
+ "vw": 7.9,
1412
+ "font": "Schibsted Grotesk",
1413
+ "weight": 800,
1414
+ "tracking": -0.05,
1415
+ "leading": 0.88,
1416
+ "upper": false,
1417
+ "italic": false,
1418
+ "mono": false,
1419
+ "align": "left",
1420
+ "position": "center",
1421
+ "widthRatio": 0.94,
1422
+ "top": 148,
1423
+ "tag": "h1",
1424
+ "kind": "heading"
1425
+ },
1426
+ {
1427
+ "text": "CDG",
1428
+ "words": 1,
1429
+ "chars": 3,
1430
+ "lines": 1,
1431
+ "size": 48,
1432
+ "vw": 6.3,
1433
+ "font": "Schibsted Grotesk",
1434
+ "weight": 400,
1435
+ "tracking": 0,
1436
+ "leading": 1,
1437
+ "upper": true,
1438
+ "italic": false,
1439
+ "mono": false,
1440
+ "align": "left",
1441
+ "position": "left",
1442
+ "widthRatio": 0.13,
1443
+ "top": 800,
1444
+ "tag": "div",
1445
+ "kind": "heading"
1446
+ },
1447
+ {
1448
+ "text": "JFK",
1449
+ "words": 1,
1450
+ "chars": 3,
1451
+ "lines": 1,
1452
+ "size": 48,
1453
+ "vw": 6.3,
1454
+ "font": "Schibsted Grotesk",
1455
+ "weight": 400,
1456
+ "tracking": 0,
1457
+ "leading": 1,
1458
+ "upper": true,
1459
+ "italic": false,
1460
+ "mono": false,
1461
+ "align": "right",
1462
+ "position": "right",
1463
+ "widthRatio": 0.11,
1464
+ "top": 800,
1465
+ "tag": "div",
1466
+ "kind": "heading"
1467
+ },
1468
+ {
1469
+ "text": "Concorde is a Lit library of 41 web components. They bind data, call APIs and theme themselves from plain HTML, in React, Vue, PHP or a static page.",
1470
+ "words": 28,
1471
+ "chars": 148,
1472
+ "lines": 3,
1473
+ "size": 27.5,
1474
+ "vw": 3.6,
1475
+ "font": "Schibsted Grotesk",
1476
+ "weight": 600,
1477
+ "tracking": -0.02,
1478
+ "leading": 1.12,
1479
+ "upper": false,
1480
+ "italic": false,
1481
+ "mono": false,
1482
+ "align": "left",
1483
+ "position": "center",
1484
+ "widthRatio": 0.94,
1485
+ "top": 1087,
1486
+ "tag": "p",
1487
+ "kind": "statement"
1488
+ },
1489
+ {
1490
+ "text": "41 components, one tag each.",
1491
+ "words": 5,
1492
+ "chars": 28,
1493
+ "lines": 2,
1494
+ "size": 47,
1495
+ "vw": 6.1,
1496
+ "font": "Schibsted Grotesk",
1497
+ "weight": 800,
1498
+ "tracking": -0.045,
1499
+ "leading": 0.95,
1500
+ "upper": false,
1501
+ "italic": false,
1502
+ "mono": false,
1503
+ "align": "left",
1504
+ "position": "left",
1505
+ "widthRatio": 0.44,
1506
+ "top": 1296,
1507
+ "tag": "h2",
1508
+ "kind": "heading"
1509
+ },
1510
+ {
1511
+ "text": "Alert /",
1512
+ "words": 2,
1513
+ "chars": 7,
1514
+ "lines": 1,
1515
+ "size": 31.2,
1516
+ "vw": 4.1,
1517
+ "font": "Schibsted Grotesk",
1518
+ "weight": 800,
1519
+ "tracking": -0.03,
1520
+ "leading": 1.08,
1521
+ "upper": false,
1522
+ "italic": false,
1523
+ "mono": false,
1524
+ "align": "left",
1525
+ "position": "left",
1526
+ "widthRatio": 0.13,
1527
+ "top": 1430,
1528
+ "tag": "span",
1529
+ "kind": "statement"
1530
+ },
1531
+ {
1532
+ "text": "Badge /",
1533
+ "words": 2,
1534
+ "chars": 7,
1535
+ "lines": 1,
1536
+ "size": 31.2,
1537
+ "vw": 4.1,
1538
+ "font": "Schibsted Grotesk",
1539
+ "weight": 800,
1540
+ "tracking": -0.03,
1541
+ "leading": 1.08,
1542
+ "upper": false,
1543
+ "italic": false,
1544
+ "mono": false,
1545
+ "align": "left",
1546
+ "position": "left",
1547
+ "widthRatio": 0.15,
1548
+ "top": 1430,
1549
+ "tag": "span",
1550
+ "kind": "statement"
1551
+ },
1552
+ {
1553
+ "text": "Button /",
1554
+ "words": 2,
1555
+ "chars": 8,
1556
+ "lines": 1,
1557
+ "size": 31.2,
1558
+ "vw": 4.1,
1559
+ "font": "Schibsted Grotesk",
1560
+ "weight": 800,
1561
+ "tracking": -0.03,
1562
+ "leading": 1.08,
1563
+ "upper": false,
1564
+ "italic": false,
1565
+ "mono": false,
1566
+ "align": "left",
1567
+ "position": "left",
1568
+ "widthRatio": 0.16,
1569
+ "top": 1430,
1570
+ "tag": "span",
1571
+ "kind": "statement"
1572
+ },
1573
+ {
1574
+ "text": "Captcha /",
1575
+ "words": 2,
1576
+ "chars": 9,
1577
+ "lines": 1,
1578
+ "size": 31.2,
1579
+ "vw": 4.1,
1580
+ "font": "Schibsted Grotesk",
1581
+ "weight": 800,
1582
+ "tracking": -0.03,
1583
+ "leading": 1.08,
1584
+ "upper": false,
1585
+ "italic": false,
1586
+ "mono": false,
1587
+ "align": "left",
1588
+ "position": "right",
1589
+ "widthRatio": 0.19,
1590
+ "top": 1430,
1591
+ "tag": "span",
1592
+ "kind": "statement"
1593
+ },
1594
+ {
1595
+ "text": "Card /",
1596
+ "words": 2,
1597
+ "chars": 6,
1598
+ "lines": 1,
1599
+ "size": 31.2,
1600
+ "vw": 4.1,
1601
+ "font": "Schibsted Grotesk",
1602
+ "weight": 800,
1603
+ "tracking": -0.03,
1604
+ "leading": 1.08,
1605
+ "upper": false,
1606
+ "italic": false,
1607
+ "mono": false,
1608
+ "align": "left",
1609
+ "position": "right",
1610
+ "widthRatio": 0.13,
1611
+ "top": 1430,
1612
+ "tag": "span",
1613
+ "kind": "statement"
1614
+ },
1615
+ {
1616
+ "text": "Checkbox /",
1617
+ "words": 2,
1618
+ "chars": 10,
1619
+ "lines": 1,
1620
+ "size": 31.2,
1621
+ "vw": 4.1,
1622
+ "font": "Schibsted Grotesk",
1623
+ "weight": 800,
1624
+ "tracking": -0.03,
1625
+ "leading": 1.08,
1626
+ "upper": false,
1627
+ "italic": false,
1628
+ "mono": false,
1629
+ "align": "left",
1630
+ "position": "left",
1631
+ "widthRatio": 0.23,
1632
+ "top": 1464,
1633
+ "tag": "span",
1634
+ "kind": "statement"
1635
+ },
1636
+ {
1637
+ "text": "Divider /",
1638
+ "words": 2,
1639
+ "chars": 9,
1640
+ "lines": 1,
1641
+ "size": 31.2,
1642
+ "vw": 4.1,
1643
+ "font": "Schibsted Grotesk",
1644
+ "weight": 800,
1645
+ "tracking": -0.03,
1646
+ "leading": 1.08,
1647
+ "upper": false,
1648
+ "italic": false,
1649
+ "mono": false,
1650
+ "align": "left",
1651
+ "position": "left",
1652
+ "widthRatio": 0.17,
1653
+ "top": 1464,
1654
+ "tag": "span",
1655
+ "kind": "statement"
1656
+ },
1657
+ {
1658
+ "text": "Fieldset /",
1659
+ "words": 2,
1660
+ "chars": 10,
1661
+ "lines": 1,
1662
+ "size": 31.2,
1663
+ "vw": 4.1,
1664
+ "font": "Schibsted Grotesk",
1665
+ "weight": 800,
1666
+ "tracking": -0.03,
1667
+ "leading": 1.08,
1668
+ "upper": false,
1669
+ "italic": false,
1670
+ "mono": false,
1671
+ "align": "left",
1672
+ "position": "center",
1673
+ "widthRatio": 0.19,
1674
+ "top": 1464,
1675
+ "tag": "span",
1676
+ "kind": "statement"
1677
+ },
1678
+ {
1679
+ "text": "Form actions /",
1680
+ "words": 3,
1681
+ "chars": 14,
1682
+ "lines": 1,
1683
+ "size": 31.2,
1684
+ "vw": 4.1,
1685
+ "font": "Schibsted Grotesk",
1686
+ "weight": 800,
1687
+ "tracking": -0.03,
1688
+ "leading": 1.08,
1689
+ "upper": false,
1690
+ "italic": false,
1691
+ "mono": false,
1692
+ "align": "left",
1693
+ "position": "right",
1694
+ "widthRatio": 0.28,
1695
+ "top": 1464,
1696
+ "tag": "span",
1697
+ "kind": "statement"
1698
+ },
1699
+ {
1700
+ "text": "Form layout /",
1701
+ "words": 3,
1702
+ "chars": 13,
1703
+ "lines": 1,
1704
+ "size": 31.2,
1705
+ "vw": 4.1,
1706
+ "font": "Schibsted Grotesk",
1707
+ "weight": 800,
1708
+ "tracking": -0.03,
1709
+ "leading": 1.08,
1710
+ "upper": false,
1711
+ "italic": false,
1712
+ "mono": false,
1713
+ "align": "left",
1714
+ "position": "left",
1715
+ "widthRatio": 0.26,
1716
+ "top": 1498,
1717
+ "tag": "span",
1718
+ "kind": "statement"
1719
+ },
1720
+ {
1721
+ "text": "Group /",
1722
+ "words": 2,
1723
+ "chars": 7,
1724
+ "lines": 1,
1725
+ "size": 31.2,
1726
+ "vw": 4.1,
1727
+ "font": "Schibsted Grotesk",
1728
+ "weight": 800,
1729
+ "tracking": -0.03,
1730
+ "leading": 1.08,
1731
+ "upper": false,
1732
+ "italic": false,
1733
+ "mono": false,
1734
+ "align": "left",
1735
+ "position": "left",
1736
+ "widthRatio": 0.15,
1737
+ "top": 1498,
1738
+ "tag": "span",
1739
+ "kind": "statement"
1740
+ },
1741
+ {
1742
+ "text": "Icon /",
1743
+ "words": 2,
1744
+ "chars": 6,
1745
+ "lines": 1,
1746
+ "size": 31.2,
1747
+ "vw": 4.1,
1748
+ "font": "Schibsted Grotesk",
1749
+ "weight": 800,
1750
+ "tracking": -0.03,
1751
+ "leading": 1.08,
1752
+ "upper": false,
1753
+ "italic": false,
1754
+ "mono": false,
1755
+ "align": "left",
1756
+ "position": "center",
1757
+ "widthRatio": 0.12,
1758
+ "top": 1498,
1759
+ "tag": "span",
1760
+ "kind": "statement"
1761
+ },
1762
+ {
1763
+ "text": "Image /",
1764
+ "words": 2,
1765
+ "chars": 7,
1766
+ "lines": 1,
1767
+ "size": 31.2,
1768
+ "vw": 4.1,
1769
+ "font": "Schibsted Grotesk",
1770
+ "weight": 800,
1771
+ "tracking": -0.03,
1772
+ "leading": 1.08,
1773
+ "upper": false,
1774
+ "italic": false,
1775
+ "mono": false,
1776
+ "align": "left",
1777
+ "position": "right",
1778
+ "widthRatio": 0.16,
1779
+ "top": 1498,
1780
+ "tag": "span",
1781
+ "kind": "statement"
1782
+ },
1783
+ {
1784
+ "text": "Input /",
1785
+ "words": 2,
1786
+ "chars": 7,
1787
+ "lines": 1,
1788
+ "size": 31.2,
1789
+ "vw": 4.1,
1790
+ "font": "Schibsted Grotesk",
1791
+ "weight": 800,
1792
+ "tracking": -0.03,
1793
+ "leading": 1.08,
1794
+ "upper": false,
1795
+ "italic": false,
1796
+ "mono": false,
1797
+ "align": "left",
1798
+ "position": "right",
1799
+ "widthRatio": 0.14,
1800
+ "top": 1498,
1801
+ "tag": "span",
1802
+ "kind": "statement"
1803
+ },
1804
+ {
1805
+ "text": "Input autocomplete /",
1806
+ "words": 3,
1807
+ "chars": 20,
1808
+ "lines": 1,
1809
+ "size": 31.2,
1810
+ "vw": 4.1,
1811
+ "font": "Schibsted Grotesk",
1812
+ "weight": 800,
1813
+ "tracking": -0.03,
1814
+ "leading": 1.08,
1815
+ "upper": false,
1816
+ "italic": false,
1817
+ "mono": false,
1818
+ "align": "left",
1819
+ "position": "left",
1820
+ "widthRatio": 0.41,
1821
+ "top": 1531,
1822
+ "tag": "span",
1823
+ "kind": "statement"
1824
+ },
1825
+ {
1826
+ "text": "Link /",
1827
+ "words": 2,
1828
+ "chars": 6,
1829
+ "lines": 1,
1830
+ "size": 31.2,
1831
+ "vw": 4.1,
1832
+ "font": "Schibsted Grotesk",
1833
+ "weight": 800,
1834
+ "tracking": -0.03,
1835
+ "leading": 1.08,
1836
+ "upper": false,
1837
+ "italic": false,
1838
+ "mono": false,
1839
+ "align": "left",
1840
+ "position": "center",
1841
+ "widthRatio": 0.11,
1842
+ "top": 1531,
1843
+ "tag": "span",
1844
+ "kind": "statement"
1845
+ },
1846
+ {
1847
+ "text": "Loader /",
1848
+ "words": 2,
1849
+ "chars": 8,
1850
+ "lines": 1,
1851
+ "size": 31.2,
1852
+ "vw": 4.1,
1853
+ "font": "Schibsted Grotesk",
1854
+ "weight": 800,
1855
+ "tracking": -0.03,
1856
+ "leading": 1.08,
1857
+ "upper": false,
1858
+ "italic": false,
1859
+ "mono": false,
1860
+ "align": "left",
1861
+ "position": "right",
1862
+ "widthRatio": 0.17,
1863
+ "top": 1531,
1864
+ "tag": "span",
1865
+ "kind": "statement"
1866
+ },
1867
+ {
1868
+ "text": "Menu /",
1869
+ "words": 2,
1870
+ "chars": 6,
1871
+ "lines": 1,
1872
+ "size": 31.2,
1873
+ "vw": 4.1,
1874
+ "font": "Schibsted Grotesk",
1875
+ "weight": 800,
1876
+ "tracking": -0.03,
1877
+ "leading": 1.08,
1878
+ "upper": false,
1879
+ "italic": false,
1880
+ "mono": false,
1881
+ "align": "left",
1882
+ "position": "right",
1883
+ "widthRatio": 0.14,
1884
+ "top": 1531,
1885
+ "tag": "span",
1886
+ "kind": "statement"
1887
+ },
1888
+ {
1889
+ "text": "Modal /",
1890
+ "words": 2,
1891
+ "chars": 7,
1892
+ "lines": 1,
1893
+ "size": 31.2,
1894
+ "vw": 4.1,
1895
+ "font": "Schibsted Grotesk",
1896
+ "weight": 800,
1897
+ "tracking": -0.03,
1898
+ "leading": 1.08,
1899
+ "upper": false,
1900
+ "italic": false,
1901
+ "mono": false,
1902
+ "align": "left",
1903
+ "position": "left",
1904
+ "widthRatio": 0.15,
1905
+ "top": 1565,
1906
+ "tag": "span",
1907
+ "kind": "statement"
1908
+ },
1909
+ {
1910
+ "text": "Pop /",
1911
+ "words": 2,
1912
+ "chars": 5,
1913
+ "lines": 1,
1914
+ "size": 31.2,
1915
+ "vw": 4.1,
1916
+ "font": "Schibsted Grotesk",
1917
+ "weight": 800,
1918
+ "tracking": -0.03,
1919
+ "leading": 1.08,
1920
+ "upper": false,
1921
+ "italic": false,
1922
+ "mono": false,
1923
+ "align": "left",
1924
+ "position": "left",
1925
+ "widthRatio": 0.11,
1926
+ "top": 1565,
1927
+ "tag": "span",
1928
+ "kind": "statement"
1929
+ },
1930
+ {
1931
+ "text": "Progress /",
1932
+ "words": 2,
1933
+ "chars": 10,
1934
+ "lines": 1,
1935
+ "size": 31.2,
1936
+ "vw": 4.1,
1937
+ "font": "Schibsted Grotesk",
1938
+ "weight": 800,
1939
+ "tracking": -0.03,
1940
+ "leading": 1.08,
1941
+ "upper": false,
1942
+ "italic": false,
1943
+ "mono": false,
1944
+ "align": "left",
1945
+ "position": "left",
1946
+ "widthRatio": 0.21,
1947
+ "top": 1565,
1948
+ "tag": "span",
1949
+ "kind": "statement"
1950
+ },
1951
+ {
1952
+ "text": "Radio /",
1953
+ "words": 2,
1954
+ "chars": 7,
1955
+ "lines": 1,
1956
+ "size": 31.2,
1957
+ "vw": 4.1,
1958
+ "font": "Schibsted Grotesk",
1959
+ "weight": 800,
1960
+ "tracking": -0.03,
1961
+ "leading": 1.08,
1962
+ "upper": false,
1963
+ "italic": false,
1964
+ "mono": false,
1965
+ "align": "left",
1966
+ "position": "right",
1967
+ "widthRatio": 0.14,
1968
+ "top": 1565,
1969
+ "tag": "span",
1970
+ "kind": "statement"
1971
+ },
1972
+ {
1973
+ "text": "Select /",
1974
+ "words": 2,
1975
+ "chars": 8,
1976
+ "lines": 1,
1977
+ "size": 31.2,
1978
+ "vw": 4.1,
1979
+ "font": "Schibsted Grotesk",
1980
+ "weight": 800,
1981
+ "tracking": -0.03,
1982
+ "leading": 1.08,
1983
+ "upper": false,
1984
+ "italic": false,
1985
+ "mono": false,
1986
+ "align": "left",
1987
+ "position": "right",
1988
+ "widthRatio": 0.15,
1989
+ "top": 1565,
1990
+ "tag": "span",
1991
+ "kind": "statement"
1992
+ },
1993
+ {
1994
+ "text": "Switch /",
1995
+ "words": 2,
1996
+ "chars": 8,
1997
+ "lines": 1,
1998
+ "size": 31.2,
1999
+ "vw": 4.1,
2000
+ "font": "Schibsted Grotesk",
2001
+ "weight": 800,
2002
+ "tracking": -0.03,
2003
+ "leading": 1.08,
2004
+ "upper": false,
2005
+ "italic": false,
2006
+ "mono": false,
2007
+ "align": "left",
2008
+ "position": "left",
2009
+ "widthRatio": 0.17,
2010
+ "top": 1599,
2011
+ "tag": "span",
2012
+ "kind": "statement"
2013
+ },
2014
+ {
2015
+ "text": "Table /",
2016
+ "words": 2,
2017
+ "chars": 7,
2018
+ "lines": 1,
2019
+ "size": 31.2,
2020
+ "vw": 4.1,
2021
+ "font": "Schibsted Grotesk",
2022
+ "weight": 800,
2023
+ "tracking": -0.03,
2024
+ "leading": 1.08,
2025
+ "upper": false,
2026
+ "italic": false,
2027
+ "mono": false,
2028
+ "align": "left",
2029
+ "position": "left",
2030
+ "widthRatio": 0.14,
2031
+ "top": 1599,
2032
+ "tag": "span",
2033
+ "kind": "statement"
2034
+ },
2035
+ {
2036
+ "text": "Textarea /",
2037
+ "words": 2,
2038
+ "chars": 10,
2039
+ "lines": 1,
2040
+ "size": 31.2,
2041
+ "vw": 4.1,
2042
+ "font": "Schibsted Grotesk",
2043
+ "weight": 800,
2044
+ "tracking": -0.03,
2045
+ "leading": 1.08,
2046
+ "upper": false,
2047
+ "italic": false,
2048
+ "mono": false,
2049
+ "align": "left",
2050
+ "position": "center",
2051
+ "widthRatio": 0.21,
2052
+ "top": 1599,
2053
+ "tag": "span",
2054
+ "kind": "statement"
2055
+ },
2056
+ {
2057
+ "text": "Theme /",
2058
+ "words": 2,
2059
+ "chars": 7,
2060
+ "lines": 1,
2061
+ "size": 31.2,
2062
+ "vw": 4.1,
2063
+ "font": "Schibsted Grotesk",
2064
+ "weight": 800,
2065
+ "tracking": -0.03,
2066
+ "leading": 1.08,
2067
+ "upper": false,
2068
+ "italic": false,
2069
+ "mono": false,
2070
+ "align": "left",
2071
+ "position": "right",
2072
+ "widthRatio": 0.17,
2073
+ "top": 1599,
2074
+ "tag": "span",
2075
+ "kind": "statement"
2076
+ },
2077
+ {
2078
+ "text": "Toast /",
2079
+ "words": 2,
2080
+ "chars": 7,
2081
+ "lines": 1,
2082
+ "size": 31.2,
2083
+ "vw": 4.1,
2084
+ "font": "Schibsted Grotesk",
2085
+ "weight": 800,
2086
+ "tracking": -0.03,
2087
+ "leading": 1.08,
2088
+ "upper": false,
2089
+ "italic": false,
2090
+ "mono": false,
2091
+ "align": "left",
2092
+ "position": "right",
2093
+ "widthRatio": 0.14,
2094
+ "top": 1599,
2095
+ "tag": "span",
2096
+ "kind": "statement"
2097
+ },
2098
+ {
2099
+ "text": "Tooltip /",
2100
+ "words": 2,
2101
+ "chars": 9,
2102
+ "lines": 1,
2103
+ "size": 31.2,
2104
+ "vw": 4.1,
2105
+ "font": "Schibsted Grotesk",
2106
+ "weight": 800,
2107
+ "tracking": -0.03,
2108
+ "leading": 1.08,
2109
+ "upper": false,
2110
+ "italic": false,
2111
+ "mono": false,
2112
+ "align": "left",
2113
+ "position": "left",
2114
+ "widthRatio": 0.17,
2115
+ "top": 1633,
2116
+ "tag": "span",
2117
+ "kind": "statement"
2118
+ },
2119
+ {
2120
+ "text": "Date /",
2121
+ "words": 2,
2122
+ "chars": 6,
2123
+ "lines": 1,
2124
+ "size": 31.2,
2125
+ "vw": 4.1,
2126
+ "font": "Schibsted Grotesk",
2127
+ "weight": 800,
2128
+ "tracking": -0.03,
2129
+ "leading": 1.08,
2130
+ "upper": false,
2131
+ "italic": false,
2132
+ "mono": false,
2133
+ "align": "left",
2134
+ "position": "left",
2135
+ "widthRatio": 0.12,
2136
+ "top": 1633,
2137
+ "tag": "span",
2138
+ "kind": "statement"
2139
+ },
2140
+ {
2141
+ "text": "Fetch /",
2142
+ "words": 2,
2143
+ "chars": 7,
2144
+ "lines": 1,
2145
+ "size": 31.2,
2146
+ "vw": 4.1,
2147
+ "font": "Schibsted Grotesk",
2148
+ "weight": 800,
2149
+ "tracking": -0.03,
2150
+ "leading": 1.08,
2151
+ "upper": false,
2152
+ "italic": false,
2153
+ "mono": false,
2154
+ "align": "left",
2155
+ "position": "left",
2156
+ "widthRatio": 0.14,
2157
+ "top": 1633,
2158
+ "tag": "span",
2159
+ "kind": "statement"
2160
+ },
2161
+ {
2162
+ "text": "If /",
2163
+ "words": 2,
2164
+ "chars": 4,
2165
+ "lines": 1,
2166
+ "size": 31.2,
2167
+ "vw": 4.1,
2168
+ "font": "Schibsted Grotesk",
2169
+ "weight": 800,
2170
+ "tracking": -0.03,
2171
+ "leading": 1.08,
2172
+ "upper": false,
2173
+ "italic": false,
2174
+ "mono": false,
2175
+ "align": "left",
2176
+ "position": "center",
2177
+ "widthRatio": 0.06,
2178
+ "top": 1633,
2179
+ "tag": "span",
2180
+ "kind": "statement"
2181
+ },
2182
+ {
2183
+ "text": "List /",
2184
+ "words": 2,
2185
+ "chars": 6,
2186
+ "lines": 1,
2187
+ "size": 31.2,
2188
+ "vw": 4.1,
2189
+ "font": "Schibsted Grotesk",
2190
+ "weight": 800,
2191
+ "tracking": -0.03,
2192
+ "leading": 1.08,
2193
+ "upper": false,
2194
+ "italic": false,
2195
+ "mono": false,
2196
+ "align": "left",
2197
+ "position": "right",
2198
+ "widthRatio": 0.1,
2199
+ "top": 1633,
2200
+ "tag": "span",
2201
+ "kind": "statement"
2202
+ },
2203
+ {
2204
+ "text": "Mix /",
2205
+ "words": 2,
2206
+ "chars": 5,
2207
+ "lines": 1,
2208
+ "size": 31.2,
2209
+ "vw": 4.1,
2210
+ "font": "Schibsted Grotesk",
2211
+ "weight": 800,
2212
+ "tracking": -0.03,
2213
+ "leading": 1.08,
2214
+ "upper": false,
2215
+ "italic": false,
2216
+ "mono": false,
2217
+ "align": "left",
2218
+ "position": "right",
2219
+ "widthRatio": 0.11,
2220
+ "top": 1633,
2221
+ "tag": "span",
2222
+ "kind": "statement"
2223
+ },
2224
+ {
2225
+ "text": "Jsonata /",
2226
+ "words": 2,
2227
+ "chars": 9,
2228
+ "lines": 1,
2229
+ "size": 31.2,
2230
+ "vw": 4.1,
2231
+ "font": "Schibsted Grotesk",
2232
+ "weight": 800,
2233
+ "tracking": -0.03,
2234
+ "leading": 1.08,
2235
+ "upper": false,
2236
+ "italic": false,
2237
+ "mono": false,
2238
+ "align": "left",
2239
+ "position": "right",
2240
+ "widthRatio": 0.19,
2241
+ "top": 1633,
2242
+ "tag": "span",
2243
+ "kind": "statement"
2244
+ }
2245
+ ],
2246
+ "headingSummary": {
2247
+ "count": 49,
2248
+ "maxLines": 3,
2249
+ "over2Lines": 0,
2250
+ "statements": 42,
2251
+ "centered": 0,
2252
+ "medianWords": 2,
2253
+ "mixedFontHeadings": 0
2254
+ },
2255
+ "type": {
2256
+ "families": [
2257
+ {
2258
+ "family": "Schibsted Grotesk",
2259
+ "share": 0.99,
2260
+ "mono": false
2261
+ },
2262
+ {
2263
+ "family": "ui-monospace",
2264
+ "share": 0.01,
2265
+ "mono": false
2266
+ }
2267
+ ],
2268
+ "familyCount": 2,
2269
+ "sizes": [
2270
+ 14,
2271
+ 16,
2272
+ 18,
2273
+ 23,
2274
+ 28,
2275
+ 31,
2276
+ 47,
2277
+ 61
2278
+ ],
2279
+ "sizeCount": 8,
2280
+ "notLoaded": [],
2281
+ "body": {
2282
+ "font": "Schibsted Grotesk",
2283
+ "size": 17.9,
2284
+ "leading": 1.45,
2285
+ "weight": 400,
2286
+ "tracking": 0,
2287
+ "contrast": 13.2
2288
+ },
2289
+ "measureChars": 68,
2290
+ "max": {
2291
+ "size": 60.7,
2292
+ "vw": 7.9,
2293
+ "font": "Schibsted Grotesk",
2294
+ "text": "Web componentsfor every stack."
2295
+ },
2296
+ "monoShare": 0.01,
2297
+ "monoProseShare": 0,
2298
+ "monoFamilies": [
2299
+ "ui-monospace"
2300
+ ],
2301
+ "monoSamples": [],
2302
+ "microLabels": 0,
2303
+ "microLabelShare": 0,
2304
+ "microSamples": [],
2305
+ "upperShare": 0.02,
2306
+ "centerShare": 0,
2307
+ "smallText": 0
2308
+ },
2309
+ "eyebrows": [],
2310
+ "numbered": [],
2311
+ "color": {
2312
+ "bodyBg": "#e6e0d4",
2313
+ "bodyBgHsl": {
2314
+ "h": 40,
2315
+ "s": 0.26,
2316
+ "l": 0.87
2317
+ },
2318
+ "dark": false,
2319
+ "sectionBgs": [
2320
+ {
2321
+ "color": "#ff6b1f",
2322
+ "top": 472,
2323
+ "hsl": {
2324
+ "h": 20,
2325
+ "s": 1,
2326
+ "l": 0.56
2327
+ }
2328
+ },
2329
+ {
2330
+ "color": "#24503c",
2331
+ "top": 2031,
2332
+ "hsl": {
2333
+ "h": 153,
2334
+ "s": 0.38,
2335
+ "l": 0.23
2336
+ }
2337
+ },
2338
+ {
2339
+ "color": "#e6e0d4",
2340
+ "top": 2063,
2341
+ "hsl": {
2342
+ "h": 40,
2343
+ "s": 0.26,
2344
+ "l": 0.87
2345
+ }
2346
+ }
2347
+ ],
2348
+ "textColors": [
2349
+ {
2350
+ "color": "#1b1a17",
2351
+ "share": 0.95
2352
+ },
2353
+ {
2354
+ "color": "#e6e0d4",
2355
+ "share": 0.03
2356
+ },
2357
+ {
2358
+ "color": "#ffffff",
2359
+ "share": 0.01
2360
+ },
2361
+ {
2362
+ "color": "#1f4a36",
2363
+ "share": 0.01
2364
+ },
2365
+ {
2366
+ "color": "#ff6b1f",
2367
+ "share": 0
2368
+ }
2369
+ ],
2370
+ "button": null,
2371
+ "lowContrast": []
2372
+ },
2373
+ "buttons": {
2374
+ "count": 0,
2375
+ "inHero": 0,
2376
+ "withShadow": 0,
2377
+ "withGradient": 0,
2378
+ "mono": 0,
2379
+ "upper": 0,
2380
+ "heroLabels": []
2381
+ },
2382
+ "surfaces": {
2383
+ "shadowStatic": 0,
2384
+ "shadowOverlay": 0,
2385
+ "shadowSamples": [],
2386
+ "gradients": 0,
2387
+ "scrims": 0,
2388
+ "gradientSamples": [],
2389
+ "gradientText": 0,
2390
+ "hairlines": 0,
2391
+ "hairlineSamples": [],
2392
+ "outlinedBoxes": 0,
2393
+ "dashed": 0,
2394
+ "blurred": 0,
2395
+ "roundedBoxes": 0,
2396
+ "boxRadius": 0,
2397
+ "squareMedia": 2,
2398
+ "roundedMedia": 0,
2399
+ "mediaRadius": 0,
2400
+ "textShadow": 0,
2401
+ "cardRows": []
2402
+ },
2403
+ "heroMedia": [],
2404
+ "nav": {
2405
+ "links": 0,
2406
+ "fixed": false,
2407
+ "height": 20,
2408
+ "floatingPill": false,
2409
+ "blur": false
2410
+ },
2411
+ "fontsLoaded": [
2412
+ "schibsted grotesk"
2413
+ ]
2414
+ },
2415
+ "layout": {
2416
+ "viewport": {
2417
+ "w": 768,
2418
+ "h": 1024
2419
+ },
2420
+ "pageH": 6287,
2421
+ "margins": {
2422
+ "left": 24,
2423
+ "right": 34
2424
+ },
2425
+ "sections": [
2426
+ {
2427
+ "sel": "section.hero",
2428
+ "tag": "section",
2429
+ "top": 66,
2430
+ "height": 950,
2431
+ "words": 30,
2432
+ "media": 0,
2433
+ "middle": 20,
2434
+ "heading": {
2435
+ "text": "Web components",
2436
+ "size": 61,
2437
+ "tag": "h1"
2438
+ },
2439
+ "left": 24,
2440
+ "right": 137,
2441
+ "textLeft": 24,
2442
+ "textRight": 137,
2443
+ "fullBleed": false,
2444
+ "footer": false,
2445
+ "hero": true,
2446
+ "continues": false,
2447
+ "pinned": false
2448
+ },
2449
+ {
2450
+ "sel": "section.manifesto",
2451
+ "tag": "section",
2452
+ "top": 1016,
2453
+ "height": 163,
2454
+ "words": 26,
2455
+ "media": 0,
2456
+ "middle": 0,
2457
+ "heading": {
2458
+ "text": "Concorde is a Lit library of 41 web components. Th",
2459
+ "size": 27,
2460
+ "tag": "p"
2461
+ },
2462
+ "left": 24,
2463
+ "right": 86,
2464
+ "textLeft": 24,
2465
+ "textRight": 86,
2466
+ "fullBleed": false,
2467
+ "footer": false,
2468
+ "hero": false,
2469
+ "continues": false,
2470
+ "pinned": false
2471
+ },
2472
+ {
2473
+ "sel": "section.index",
2474
+ "tag": "section",
2475
+ "top": 1179,
2476
+ "height": 658,
2477
+ "words": 66,
2478
+ "media": 0,
2479
+ "middle": 0,
2480
+ "heading": {
2481
+ "text": "41 components,",
2482
+ "size": 47,
2483
+ "tag": "h2"
2484
+ },
2485
+ "left": 24,
2486
+ "right": 24,
2487
+ "textLeft": 24,
2488
+ "textRight": 24,
2489
+ "fullBleed": false,
2490
+ "footer": false,
2491
+ "hero": false,
2492
+ "continues": false,
2493
+ "pinned": false
2494
+ },
2495
+ {
2496
+ "sel": "div.instr-field",
2497
+ "tag": "div",
2498
+ "top": 2031,
2499
+ "height": 523,
2500
+ "words": 35,
2501
+ "media": 0,
2502
+ "middle": 43,
2503
+ "heading": null,
2504
+ "left": 140,
2505
+ "right": 140,
2506
+ "textLeft": 140,
2507
+ "textRight": 140,
2508
+ "fullBleed": false,
2509
+ "footer": false,
2510
+ "hero": false,
2511
+ "continues": true,
2512
+ "pinned": false
2513
+ },
2514
+ {
2515
+ "sel": "div.instr-blocks",
2516
+ "tag": "div",
2517
+ "top": 2553,
2518
+ "height": 1429,
2519
+ "words": 107,
2520
+ "media": 0,
2521
+ "middle": 0,
2522
+ "heading": null,
2523
+ "left": 24,
2524
+ "right": 223,
2525
+ "textLeft": 24,
2526
+ "textRight": 223,
2527
+ "fullBleed": false,
2528
+ "footer": false,
2529
+ "hero": false,
2530
+ "continues": true,
2531
+ "pinned": false
2532
+ },
2533
+ {
2534
+ "sel": "section.story",
2535
+ "tag": "section",
2536
+ "top": 3982,
2537
+ "height": 1064,
2538
+ "words": 119,
2539
+ "media": 1,
2540
+ "middle": 0,
2541
+ "heading": {
2542
+ "text": "Why we built it.",
2543
+ "size": 47,
2544
+ "tag": "h2"
2545
+ },
2546
+ "left": 24,
2547
+ "right": 139,
2548
+ "textLeft": 24,
2549
+ "textRight": 139,
2550
+ "fullBleed": true,
2551
+ "footer": false,
2552
+ "hero": false,
2553
+ "continues": false,
2554
+ "pinned": false
2555
+ },
2556
+ {
2557
+ "sel": "section.takeoff",
2558
+ "tag": "section",
2559
+ "top": 5046,
2560
+ "height": 999,
2561
+ "words": 20,
2562
+ "media": 1,
2563
+ "middle": 0,
2564
+ "heading": {
2565
+ "text": "Take your project",
2566
+ "size": 61,
2567
+ "tag": "h2"
2568
+ },
2569
+ "left": 0,
2570
+ "right": 224,
2571
+ "textLeft": 24,
2572
+ "textRight": 224,
2573
+ "fullBleed": false,
2574
+ "footer": false,
2575
+ "hero": false,
2576
+ "continues": false,
2577
+ "pinned": false
2578
+ },
2579
+ {
2580
+ "sel": "footer.home-footer",
2581
+ "tag": "footer",
2582
+ "top": 6045,
2583
+ "height": 242,
2584
+ "words": 28,
2585
+ "media": 0,
2586
+ "middle": 0,
2587
+ "heading": null,
2588
+ "left": 24,
2589
+ "right": 24,
2590
+ "textLeft": 24,
2591
+ "textRight": 24,
2592
+ "fullBleed": false,
2593
+ "footer": true,
2594
+ "hero": false,
2595
+ "continues": false,
2596
+ "pinned": false
2597
+ }
2598
+ ],
2599
+ "gaps": [
2600
+ {
2601
+ "top": 328,
2602
+ "height": 348
2603
+ },
2604
+ {
2605
+ "top": 3304,
2606
+ "height": 348
2607
+ }
2608
+ ],
2609
+ "h1s": [
2610
+ {
2611
+ "text": "Web components for every stack.",
2612
+ "size": 61,
2613
+ "top": 148,
2614
+ "firstScreen": true
2615
+ }
2616
+ ],
2617
+ "edgeText": [],
2618
+ "edges": [
2619
+ {
2620
+ "x": 24,
2621
+ "n": 18
2622
+ }
2623
+ ],
2624
+ "leftBlocks": 18,
2625
+ "bodySize": 18,
2626
+ "stage": false,
2627
+ "explains": false,
2628
+ "slivers": [],
2629
+ "voidShare": 0,
2630
+ "voidBox": null
2631
+ },
2632
+ "app": null,
2633
+ "consoleErrors": []
2634
+ },
2635
+ {
2636
+ "width": 390,
2637
+ "height": 844,
2638
+ "load": "load",
2639
+ "screens": 8,
2640
+ "filled": [
2641
+ 0.5,
2642
+ 0.63,
2643
+ 0.54,
2644
+ 0.38,
2645
+ 0.26,
2646
+ 0.58,
2647
+ 0.73,
2648
+ 0.48
2649
+ ],
2650
+ "motion": {
2651
+ "elements": 21,
2652
+ "css": 7,
2653
+ "transitions": 14,
2654
+ "scripted": 0,
2655
+ "videos": 1,
2656
+ "playingVideos": 1
2657
+ },
2658
+ "metrics": {
2659
+ "viewport": {
2660
+ "w": 390,
2661
+ "h": 844
2662
+ },
2663
+ "page": {
2664
+ "height": 6507,
2665
+ "screens": 7.7,
2666
+ "words": 462,
2667
+ "img": 1,
2668
+ "video": 1,
2669
+ "canvas": 0,
2670
+ "svg": 0,
2671
+ "sections": 6,
2672
+ "horizontalOverflow": 0,
2673
+ "overflowCulprits": [],
2674
+ "uiFragments": 3,
2675
+ "uiAbuse": false,
2676
+ "realPictures": 2,
2677
+ "videoCount": 1,
2678
+ "uiPictures": 2,
2679
+ "pictureSamples": [
2680
+ "concorde-001-2cv.webp"
2681
+ ],
2682
+ "blendText": 0,
2683
+ "sideScrollers": 0,
2684
+ "brokenImages": [],
2685
+ "emoji": [],
2686
+ "videosNoPoster": 0
2687
+ },
2688
+ "hero": {
2689
+ "text": "Web components for every stack.",
2690
+ "words": 5,
2691
+ "chars": 31,
2692
+ "lines": 2,
2693
+ "size": 40.3,
2694
+ "vw": 10.3,
2695
+ "font": "Schibsted Grotesk",
2696
+ "weight": 800,
2697
+ "tracking": -0.05,
2698
+ "leading": 0.88,
2699
+ "upper": false,
2700
+ "italic": false,
2701
+ "mono": false,
2702
+ "align": "left",
2703
+ "position": "center",
2704
+ "widthRatio": 0.92,
2705
+ "top": 134,
2706
+ "tag": "h1",
2707
+ "kind": "heading"
2708
+ },
2709
+ "h1": {
2710
+ "text": "Web components for every stack.",
2711
+ "words": 5,
2712
+ "lines": 2,
2713
+ "size": 40.3,
2714
+ "font": "Schibsted Grotesk"
2715
+ },
2716
+ "headings": [
2717
+ {
2718
+ "text": "Web components for every stack.",
2719
+ "words": 5,
2720
+ "chars": 31,
2721
+ "lines": 2,
2722
+ "size": 40.3,
2723
+ "vw": 10.3,
2724
+ "font": "Schibsted Grotesk",
2725
+ "weight": 800,
2726
+ "tracking": -0.05,
2727
+ "leading": 0.88,
2728
+ "upper": false,
2729
+ "italic": false,
2730
+ "mono": false,
2731
+ "align": "left",
2732
+ "position": "center",
2733
+ "widthRatio": 0.92,
2734
+ "top": 134,
2735
+ "tag": "h1",
2736
+ "kind": "heading"
2737
+ },
2738
+ {
2739
+ "text": "CDG",
2740
+ "words": 1,
2741
+ "chars": 3,
2742
+ "lines": 1,
2743
+ "size": 36,
2744
+ "vw": 9.2,
2745
+ "font": "Schibsted Grotesk",
2746
+ "weight": 400,
2747
+ "tracking": 0,
2748
+ "leading": 1,
2749
+ "upper": true,
2750
+ "italic": false,
2751
+ "mono": false,
2752
+ "align": "left",
2753
+ "position": "left",
2754
+ "widthRatio": 0.2,
2755
+ "top": 865,
2756
+ "tag": "div",
2757
+ "kind": "heading"
2758
+ },
2759
+ {
2760
+ "text": "JFK",
2761
+ "words": 1,
2762
+ "chars": 3,
2763
+ "lines": 1,
2764
+ "size": 36,
2765
+ "vw": 9.2,
2766
+ "font": "Schibsted Grotesk",
2767
+ "weight": 400,
2768
+ "tracking": 0,
2769
+ "leading": 1,
2770
+ "upper": true,
2771
+ "italic": false,
2772
+ "mono": false,
2773
+ "align": "right",
2774
+ "position": "right",
2775
+ "widthRatio": 0.16,
2776
+ "top": 865,
2777
+ "tag": "div",
2778
+ "kind": "heading"
2779
+ },
2780
+ {
2781
+ "text": "Concorde is a Lit library of 41 web components. They bind data, call APIs and theme themselves from plain HTML, in React, Vue, PHP or a static page.",
2782
+ "words": 28,
2783
+ "chars": 148,
2784
+ "lines": 5,
2785
+ "size": 22,
2786
+ "vw": 5.6,
2787
+ "font": "Schibsted Grotesk",
2788
+ "weight": 600,
2789
+ "tracking": -0.02,
2790
+ "leading": 1.12,
2791
+ "upper": false,
2792
+ "italic": false,
2793
+ "mono": false,
2794
+ "align": "left",
2795
+ "position": "center",
2796
+ "widthRatio": 0.92,
2797
+ "top": 1183,
2798
+ "tag": "p",
2799
+ "kind": "statement"
2800
+ },
2801
+ {
2802
+ "text": "41 components, one tag each.",
2803
+ "words": 5,
2804
+ "chars": 28,
2805
+ "lines": 2,
2806
+ "size": 36,
2807
+ "vw": 9.2,
2808
+ "font": "Schibsted Grotesk",
2809
+ "weight": 800,
2810
+ "tracking": -0.045,
2811
+ "leading": 0.95,
2812
+ "upper": false,
2813
+ "italic": false,
2814
+ "mono": false,
2815
+ "align": "left",
2816
+ "position": "left",
2817
+ "widthRatio": 0.66,
2818
+ "top": 1402,
2819
+ "tag": "h2",
2820
+ "kind": "heading"
2821
+ },
2822
+ {
2823
+ "text": "Alert /",
2824
+ "words": 2,
2825
+ "chars": 7,
2826
+ "lines": 1,
2827
+ "size": 24,
2828
+ "vw": 6.2,
2829
+ "font": "Schibsted Grotesk",
2830
+ "weight": 800,
2831
+ "tracking": -0.03,
2832
+ "leading": 1.08,
2833
+ "upper": false,
2834
+ "italic": false,
2835
+ "mono": false,
2836
+ "align": "left",
2837
+ "position": "left",
2838
+ "widthRatio": 0.2,
2839
+ "top": 1561,
2840
+ "tag": "span",
2841
+ "kind": "statement"
2842
+ },
2843
+ {
2844
+ "text": "Badge /",
2845
+ "words": 2,
2846
+ "chars": 7,
2847
+ "lines": 1,
2848
+ "size": 24,
2849
+ "vw": 6.2,
2850
+ "font": "Schibsted Grotesk",
2851
+ "weight": 800,
2852
+ "tracking": -0.03,
2853
+ "leading": 1.08,
2854
+ "upper": false,
2855
+ "italic": false,
2856
+ "mono": false,
2857
+ "align": "left",
2858
+ "position": "left",
2859
+ "widthRatio": 0.23,
2860
+ "top": 1561,
2861
+ "tag": "span",
2862
+ "kind": "statement"
2863
+ },
2864
+ {
2865
+ "text": "Button /",
2866
+ "words": 2,
2867
+ "chars": 8,
2868
+ "lines": 1,
2869
+ "size": 24,
2870
+ "vw": 6.2,
2871
+ "font": "Schibsted Grotesk",
2872
+ "weight": 800,
2873
+ "tracking": -0.03,
2874
+ "leading": 1.08,
2875
+ "upper": false,
2876
+ "italic": false,
2877
+ "mono": false,
2878
+ "align": "left",
2879
+ "position": "right",
2880
+ "widthRatio": 0.24,
2881
+ "top": 1561,
2882
+ "tag": "span",
2883
+ "kind": "statement"
2884
+ },
2885
+ {
2886
+ "text": "Captcha /",
2887
+ "words": 2,
2888
+ "chars": 9,
2889
+ "lines": 1,
2890
+ "size": 24,
2891
+ "vw": 6.2,
2892
+ "font": "Schibsted Grotesk",
2893
+ "weight": 800,
2894
+ "tracking": -0.03,
2895
+ "leading": 1.08,
2896
+ "upper": false,
2897
+ "italic": false,
2898
+ "mono": false,
2899
+ "align": "left",
2900
+ "position": "left",
2901
+ "widthRatio": 0.29,
2902
+ "top": 1587,
2903
+ "tag": "span",
2904
+ "kind": "statement"
2905
+ },
2906
+ {
2907
+ "text": "Card /",
2908
+ "words": 2,
2909
+ "chars": 6,
2910
+ "lines": 1,
2911
+ "size": 24,
2912
+ "vw": 6.2,
2913
+ "font": "Schibsted Grotesk",
2914
+ "weight": 800,
2915
+ "tracking": -0.03,
2916
+ "leading": 1.08,
2917
+ "upper": false,
2918
+ "italic": false,
2919
+ "mono": false,
2920
+ "align": "left",
2921
+ "position": "center",
2922
+ "widthRatio": 0.19,
2923
+ "top": 1587,
2924
+ "tag": "span",
2925
+ "kind": "statement"
2926
+ },
2927
+ {
2928
+ "text": "Checkbox /",
2929
+ "words": 2,
2930
+ "chars": 10,
2931
+ "lines": 1,
2932
+ "size": 24,
2933
+ "vw": 6.2,
2934
+ "font": "Schibsted Grotesk",
2935
+ "weight": 800,
2936
+ "tracking": -0.03,
2937
+ "leading": 1.08,
2938
+ "upper": false,
2939
+ "italic": false,
2940
+ "mono": false,
2941
+ "align": "left",
2942
+ "position": "right",
2943
+ "widthRatio": 0.34,
2944
+ "top": 1587,
2945
+ "tag": "span",
2946
+ "kind": "statement"
2947
+ },
2948
+ {
2949
+ "text": "Divider /",
2950
+ "words": 2,
2951
+ "chars": 9,
2952
+ "lines": 1,
2953
+ "size": 24,
2954
+ "vw": 6.2,
2955
+ "font": "Schibsted Grotesk",
2956
+ "weight": 800,
2957
+ "tracking": -0.03,
2958
+ "leading": 1.08,
2959
+ "upper": false,
2960
+ "italic": false,
2961
+ "mono": false,
2962
+ "align": "left",
2963
+ "position": "left",
2964
+ "widthRatio": 0.26,
2965
+ "top": 1613,
2966
+ "tag": "span",
2967
+ "kind": "statement"
2968
+ },
2969
+ {
2970
+ "text": "Fieldset /",
2971
+ "words": 2,
2972
+ "chars": 10,
2973
+ "lines": 1,
2974
+ "size": 24,
2975
+ "vw": 6.2,
2976
+ "font": "Schibsted Grotesk",
2977
+ "weight": 800,
2978
+ "tracking": -0.03,
2979
+ "leading": 1.08,
2980
+ "upper": false,
2981
+ "italic": false,
2982
+ "mono": false,
2983
+ "align": "left",
2984
+ "position": "center",
2985
+ "widthRatio": 0.28,
2986
+ "top": 1613,
2987
+ "tag": "span",
2988
+ "kind": "statement"
2989
+ },
2990
+ {
2991
+ "text": "Form actions /",
2992
+ "words": 3,
2993
+ "chars": 14,
2994
+ "lines": 1,
2995
+ "size": 24,
2996
+ "vw": 6.2,
2997
+ "font": "Schibsted Grotesk",
2998
+ "weight": 800,
2999
+ "tracking": -0.03,
3000
+ "leading": 1.08,
3001
+ "upper": false,
3002
+ "italic": false,
3003
+ "mono": false,
3004
+ "align": "left",
3005
+ "position": "left",
3006
+ "widthRatio": 0.43,
3007
+ "top": 1639,
3008
+ "tag": "span",
3009
+ "kind": "statement"
3010
+ },
3011
+ {
3012
+ "text": "Form layout /",
3013
+ "words": 3,
3014
+ "chars": 13,
3015
+ "lines": 1,
3016
+ "size": 24,
3017
+ "vw": 6.2,
3018
+ "font": "Schibsted Grotesk",
3019
+ "weight": 800,
3020
+ "tracking": -0.03,
3021
+ "leading": 1.08,
3022
+ "upper": false,
3023
+ "italic": false,
3024
+ "mono": false,
3025
+ "align": "left",
3026
+ "position": "right",
3027
+ "widthRatio": 0.39,
3028
+ "top": 1639,
3029
+ "tag": "span",
3030
+ "kind": "statement"
3031
+ },
3032
+ {
3033
+ "text": "Group /",
3034
+ "words": 2,
3035
+ "chars": 7,
3036
+ "lines": 1,
3037
+ "size": 24,
3038
+ "vw": 6.2,
3039
+ "font": "Schibsted Grotesk",
3040
+ "weight": 800,
3041
+ "tracking": -0.03,
3042
+ "leading": 1.08,
3043
+ "upper": false,
3044
+ "italic": false,
3045
+ "mono": false,
3046
+ "align": "left",
3047
+ "position": "left",
3048
+ "widthRatio": 0.23,
3049
+ "top": 1665,
3050
+ "tag": "span",
3051
+ "kind": "statement"
3052
+ },
3053
+ {
3054
+ "text": "Icon /",
3055
+ "words": 2,
3056
+ "chars": 6,
3057
+ "lines": 1,
3058
+ "size": 24,
3059
+ "vw": 6.2,
3060
+ "font": "Schibsted Grotesk",
3061
+ "weight": 800,
3062
+ "tracking": -0.03,
3063
+ "leading": 1.08,
3064
+ "upper": false,
3065
+ "italic": false,
3066
+ "mono": false,
3067
+ "align": "left",
3068
+ "position": "left",
3069
+ "widthRatio": 0.18,
3070
+ "top": 1665,
3071
+ "tag": "span",
3072
+ "kind": "statement"
3073
+ },
3074
+ {
3075
+ "text": "Image /",
3076
+ "words": 2,
3077
+ "chars": 7,
3078
+ "lines": 1,
3079
+ "size": 24,
3080
+ "vw": 6.2,
3081
+ "font": "Schibsted Grotesk",
3082
+ "weight": 800,
3083
+ "tracking": -0.03,
3084
+ "leading": 1.08,
3085
+ "upper": false,
3086
+ "italic": false,
3087
+ "mono": false,
3088
+ "align": "left",
3089
+ "position": "right",
3090
+ "widthRatio": 0.24,
3091
+ "top": 1665,
3092
+ "tag": "span",
3093
+ "kind": "statement"
3094
+ },
3095
+ {
3096
+ "text": "Input /",
3097
+ "words": 2,
3098
+ "chars": 7,
3099
+ "lines": 1,
3100
+ "size": 24,
3101
+ "vw": 6.2,
3102
+ "font": "Schibsted Grotesk",
3103
+ "weight": 800,
3104
+ "tracking": -0.03,
3105
+ "leading": 1.08,
3106
+ "upper": false,
3107
+ "italic": false,
3108
+ "mono": false,
3109
+ "align": "left",
3110
+ "position": "right",
3111
+ "widthRatio": 0.21,
3112
+ "top": 1665,
3113
+ "tag": "span",
3114
+ "kind": "statement"
3115
+ },
3116
+ {
3117
+ "text": "Input autocomplete /",
3118
+ "words": 3,
3119
+ "chars": 20,
3120
+ "lines": 1,
3121
+ "size": 24,
3122
+ "vw": 6.2,
3123
+ "font": "Schibsted Grotesk",
3124
+ "weight": 800,
3125
+ "tracking": -0.03,
3126
+ "leading": 1.08,
3127
+ "upper": false,
3128
+ "italic": false,
3129
+ "mono": false,
3130
+ "align": "left",
3131
+ "position": "left",
3132
+ "widthRatio": 0.62,
3133
+ "top": 1691,
3134
+ "tag": "span",
3135
+ "kind": "statement"
3136
+ },
3137
+ {
3138
+ "text": "Link /",
3139
+ "words": 2,
3140
+ "chars": 6,
3141
+ "lines": 1,
3142
+ "size": 24,
3143
+ "vw": 6.2,
3144
+ "font": "Schibsted Grotesk",
3145
+ "weight": 800,
3146
+ "tracking": -0.03,
3147
+ "leading": 1.08,
3148
+ "upper": false,
3149
+ "italic": false,
3150
+ "mono": false,
3151
+ "align": "left",
3152
+ "position": "right",
3153
+ "widthRatio": 0.17,
3154
+ "top": 1691,
3155
+ "tag": "span",
3156
+ "kind": "statement"
3157
+ },
3158
+ {
3159
+ "text": "Loader /",
3160
+ "words": 2,
3161
+ "chars": 8,
3162
+ "lines": 1,
3163
+ "size": 24,
3164
+ "vw": 6.2,
3165
+ "font": "Schibsted Grotesk",
3166
+ "weight": 800,
3167
+ "tracking": -0.03,
3168
+ "leading": 1.08,
3169
+ "upper": false,
3170
+ "italic": false,
3171
+ "mono": false,
3172
+ "align": "left",
3173
+ "position": "left",
3174
+ "widthRatio": 0.26,
3175
+ "top": 1717,
3176
+ "tag": "span",
3177
+ "kind": "statement"
3178
+ },
3179
+ {
3180
+ "text": "Menu /",
3181
+ "words": 2,
3182
+ "chars": 6,
3183
+ "lines": 1,
3184
+ "size": 24,
3185
+ "vw": 6.2,
3186
+ "font": "Schibsted Grotesk",
3187
+ "weight": 800,
3188
+ "tracking": -0.03,
3189
+ "leading": 1.08,
3190
+ "upper": false,
3191
+ "italic": false,
3192
+ "mono": false,
3193
+ "align": "left",
3194
+ "position": "left",
3195
+ "widthRatio": 0.22,
3196
+ "top": 1717,
3197
+ "tag": "span",
3198
+ "kind": "statement"
3199
+ },
3200
+ {
3201
+ "text": "Modal /",
3202
+ "words": 2,
3203
+ "chars": 7,
3204
+ "lines": 1,
3205
+ "size": 24,
3206
+ "vw": 6.2,
3207
+ "font": "Schibsted Grotesk",
3208
+ "weight": 800,
3209
+ "tracking": -0.03,
3210
+ "leading": 1.08,
3211
+ "upper": false,
3212
+ "italic": false,
3213
+ "mono": false,
3214
+ "align": "left",
3215
+ "position": "right",
3216
+ "widthRatio": 0.23,
3217
+ "top": 1717,
3218
+ "tag": "span",
3219
+ "kind": "statement"
3220
+ },
3221
+ {
3222
+ "text": "Pop /",
3223
+ "words": 2,
3224
+ "chars": 5,
3225
+ "lines": 1,
3226
+ "size": 24,
3227
+ "vw": 6.2,
3228
+ "font": "Schibsted Grotesk",
3229
+ "weight": 800,
3230
+ "tracking": -0.03,
3231
+ "leading": 1.08,
3232
+ "upper": false,
3233
+ "italic": false,
3234
+ "mono": false,
3235
+ "align": "left",
3236
+ "position": "right",
3237
+ "widthRatio": 0.16,
3238
+ "top": 1717,
3239
+ "tag": "span",
3240
+ "kind": "statement"
3241
+ },
3242
+ {
3243
+ "text": "Progress /",
3244
+ "words": 2,
3245
+ "chars": 10,
3246
+ "lines": 1,
3247
+ "size": 24,
3248
+ "vw": 6.2,
3249
+ "font": "Schibsted Grotesk",
3250
+ "weight": 800,
3251
+ "tracking": -0.03,
3252
+ "leading": 1.08,
3253
+ "upper": false,
3254
+ "italic": false,
3255
+ "mono": false,
3256
+ "align": "left",
3257
+ "position": "left",
3258
+ "widthRatio": 0.31,
3259
+ "top": 1743,
3260
+ "tag": "span",
3261
+ "kind": "statement"
3262
+ },
3263
+ {
3264
+ "text": "Radio /",
3265
+ "words": 2,
3266
+ "chars": 7,
3267
+ "lines": 1,
3268
+ "size": 24,
3269
+ "vw": 6.2,
3270
+ "font": "Schibsted Grotesk",
3271
+ "weight": 800,
3272
+ "tracking": -0.03,
3273
+ "leading": 1.08,
3274
+ "upper": false,
3275
+ "italic": false,
3276
+ "mono": false,
3277
+ "align": "left",
3278
+ "position": "center",
3279
+ "widthRatio": 0.22,
3280
+ "top": 1743,
3281
+ "tag": "span",
3282
+ "kind": "statement"
3283
+ },
3284
+ {
3285
+ "text": "Select /",
3286
+ "words": 2,
3287
+ "chars": 8,
3288
+ "lines": 1,
3289
+ "size": 24,
3290
+ "vw": 6.2,
3291
+ "font": "Schibsted Grotesk",
3292
+ "weight": 800,
3293
+ "tracking": -0.03,
3294
+ "leading": 1.08,
3295
+ "upper": false,
3296
+ "italic": false,
3297
+ "mono": false,
3298
+ "align": "left",
3299
+ "position": "right",
3300
+ "widthRatio": 0.23,
3301
+ "top": 1743,
3302
+ "tag": "span",
3303
+ "kind": "statement"
3304
+ },
3305
+ {
3306
+ "text": "Switch /",
3307
+ "words": 2,
3308
+ "chars": 8,
3309
+ "lines": 1,
3310
+ "size": 24,
3311
+ "vw": 6.2,
3312
+ "font": "Schibsted Grotesk",
3313
+ "weight": 800,
3314
+ "tracking": -0.03,
3315
+ "leading": 1.08,
3316
+ "upper": false,
3317
+ "italic": false,
3318
+ "mono": false,
3319
+ "align": "left",
3320
+ "position": "left",
3321
+ "widthRatio": 0.25,
3322
+ "top": 1768,
3323
+ "tag": "span",
3324
+ "kind": "statement"
3325
+ },
3326
+ {
3327
+ "text": "Table /",
3328
+ "words": 2,
3329
+ "chars": 7,
3330
+ "lines": 1,
3331
+ "size": 24,
3332
+ "vw": 6.2,
3333
+ "font": "Schibsted Grotesk",
3334
+ "weight": 800,
3335
+ "tracking": -0.03,
3336
+ "leading": 1.08,
3337
+ "upper": false,
3338
+ "italic": false,
3339
+ "mono": false,
3340
+ "align": "left",
3341
+ "position": "left",
3342
+ "widthRatio": 0.21,
3343
+ "top": 1768,
3344
+ "tag": "span",
3345
+ "kind": "statement"
3346
+ },
3347
+ {
3348
+ "text": "Textarea /",
3349
+ "words": 2,
3350
+ "chars": 10,
3351
+ "lines": 1,
3352
+ "size": 24,
3353
+ "vw": 6.2,
3354
+ "font": "Schibsted Grotesk",
3355
+ "weight": 800,
3356
+ "tracking": -0.03,
3357
+ "leading": 1.08,
3358
+ "upper": false,
3359
+ "italic": false,
3360
+ "mono": false,
3361
+ "align": "left",
3362
+ "position": "right",
3363
+ "widthRatio": 0.31,
3364
+ "top": 1768,
3365
+ "tag": "span",
3366
+ "kind": "statement"
3367
+ },
3368
+ {
3369
+ "text": "Theme /",
3370
+ "words": 2,
3371
+ "chars": 7,
3372
+ "lines": 1,
3373
+ "size": 24,
3374
+ "vw": 6.2,
3375
+ "font": "Schibsted Grotesk",
3376
+ "weight": 800,
3377
+ "tracking": -0.03,
3378
+ "leading": 1.08,
3379
+ "upper": false,
3380
+ "italic": false,
3381
+ "mono": false,
3382
+ "align": "left",
3383
+ "position": "left",
3384
+ "widthRatio": 0.25,
3385
+ "top": 1794,
3386
+ "tag": "span",
3387
+ "kind": "statement"
3388
+ },
3389
+ {
3390
+ "text": "Toast /",
3391
+ "words": 2,
3392
+ "chars": 7,
3393
+ "lines": 1,
3394
+ "size": 24,
3395
+ "vw": 6.2,
3396
+ "font": "Schibsted Grotesk",
3397
+ "weight": 800,
3398
+ "tracking": -0.03,
3399
+ "leading": 1.08,
3400
+ "upper": false,
3401
+ "italic": false,
3402
+ "mono": false,
3403
+ "align": "left",
3404
+ "position": "left",
3405
+ "widthRatio": 0.21,
3406
+ "top": 1794,
3407
+ "tag": "span",
3408
+ "kind": "statement"
3409
+ },
3410
+ {
3411
+ "text": "Tooltip /",
3412
+ "words": 2,
3413
+ "chars": 9,
3414
+ "lines": 1,
3415
+ "size": 24,
3416
+ "vw": 6.2,
3417
+ "font": "Schibsted Grotesk",
3418
+ "weight": 800,
3419
+ "tracking": -0.03,
3420
+ "leading": 1.08,
3421
+ "upper": false,
3422
+ "italic": false,
3423
+ "mono": false,
3424
+ "align": "left",
3425
+ "position": "right",
3426
+ "widthRatio": 0.25,
3427
+ "top": 1794,
3428
+ "tag": "span",
3429
+ "kind": "statement"
3430
+ },
3431
+ {
3432
+ "text": "Date /",
3433
+ "words": 2,
3434
+ "chars": 6,
3435
+ "lines": 1,
3436
+ "size": 24,
3437
+ "vw": 6.2,
3438
+ "font": "Schibsted Grotesk",
3439
+ "weight": 800,
3440
+ "tracking": -0.03,
3441
+ "leading": 1.08,
3442
+ "upper": false,
3443
+ "italic": false,
3444
+ "mono": false,
3445
+ "align": "left",
3446
+ "position": "left",
3447
+ "widthRatio": 0.19,
3448
+ "top": 1820,
3449
+ "tag": "span",
3450
+ "kind": "statement"
3451
+ },
3452
+ {
3453
+ "text": "Fetch /",
3454
+ "words": 2,
3455
+ "chars": 7,
3456
+ "lines": 1,
3457
+ "size": 24,
3458
+ "vw": 6.2,
3459
+ "font": "Schibsted Grotesk",
3460
+ "weight": 800,
3461
+ "tracking": -0.03,
3462
+ "leading": 1.08,
3463
+ "upper": false,
3464
+ "italic": false,
3465
+ "mono": false,
3466
+ "align": "left",
3467
+ "position": "left",
3468
+ "widthRatio": 0.21,
3469
+ "top": 1820,
3470
+ "tag": "span",
3471
+ "kind": "statement"
3472
+ },
3473
+ {
3474
+ "text": "If /",
3475
+ "words": 2,
3476
+ "chars": 4,
3477
+ "lines": 1,
3478
+ "size": 24,
3479
+ "vw": 6.2,
3480
+ "font": "Schibsted Grotesk",
3481
+ "weight": 800,
3482
+ "tracking": -0.03,
3483
+ "leading": 1.08,
3484
+ "upper": false,
3485
+ "italic": false,
3486
+ "mono": false,
3487
+ "align": "left",
3488
+ "position": "center",
3489
+ "widthRatio": 0.1,
3490
+ "top": 1820,
3491
+ "tag": "span",
3492
+ "kind": "statement"
3493
+ },
3494
+ {
3495
+ "text": "List /",
3496
+ "words": 2,
3497
+ "chars": 6,
3498
+ "lines": 1,
3499
+ "size": 24,
3500
+ "vw": 6.2,
3501
+ "font": "Schibsted Grotesk",
3502
+ "weight": 800,
3503
+ "tracking": -0.03,
3504
+ "leading": 1.08,
3505
+ "upper": false,
3506
+ "italic": false,
3507
+ "mono": false,
3508
+ "align": "left",
3509
+ "position": "right",
3510
+ "widthRatio": 0.15,
3511
+ "top": 1820,
3512
+ "tag": "span",
3513
+ "kind": "statement"
3514
+ },
3515
+ {
3516
+ "text": "Mix /",
3517
+ "words": 2,
3518
+ "chars": 5,
3519
+ "lines": 1,
3520
+ "size": 24,
3521
+ "vw": 6.2,
3522
+ "font": "Schibsted Grotesk",
3523
+ "weight": 800,
3524
+ "tracking": -0.03,
3525
+ "leading": 1.08,
3526
+ "upper": false,
3527
+ "italic": false,
3528
+ "mono": false,
3529
+ "align": "left",
3530
+ "position": "right",
3531
+ "widthRatio": 0.16,
3532
+ "top": 1820,
3533
+ "tag": "span",
3534
+ "kind": "statement"
3535
+ },
3536
+ {
3537
+ "text": "Jsonata /",
3538
+ "words": 2,
3539
+ "chars": 9,
3540
+ "lines": 1,
3541
+ "size": 24,
3542
+ "vw": 6.2,
3543
+ "font": "Schibsted Grotesk",
3544
+ "weight": 800,
3545
+ "tracking": -0.03,
3546
+ "leading": 1.08,
3547
+ "upper": false,
3548
+ "italic": false,
3549
+ "mono": false,
3550
+ "align": "left",
3551
+ "position": "left",
3552
+ "widthRatio": 0.28,
3553
+ "top": 1846,
3554
+ "tag": "span",
3555
+ "kind": "statement"
3556
+ }
3557
+ ],
3558
+ "headingSummary": {
3559
+ "count": 49,
3560
+ "maxLines": 5,
3561
+ "over2Lines": 0,
3562
+ "statements": 42,
3563
+ "centered": 0,
3564
+ "medianWords": 2,
3565
+ "mixedFontHeadings": 0
3566
+ },
3567
+ "type": {
3568
+ "families": [
3569
+ {
3570
+ "family": "Schibsted Grotesk",
3571
+ "share": 0.99,
3572
+ "mono": false
3573
+ },
3574
+ {
3575
+ "family": "ui-monospace",
3576
+ "share": 0.01,
3577
+ "mono": false
3578
+ }
3579
+ ],
3580
+ "familyCount": 2,
3581
+ "sizes": [
3582
+ 14,
3583
+ 16,
3584
+ 17,
3585
+ 18,
3586
+ 20,
3587
+ 22,
3588
+ 24,
3589
+ 36,
3590
+ 40
3591
+ ],
3592
+ "sizeCount": 9,
3593
+ "notLoaded": [],
3594
+ "body": {
3595
+ "font": "Schibsted Grotesk",
3596
+ "size": 17,
3597
+ "leading": 1.45,
3598
+ "weight": 400,
3599
+ "tracking": 0,
3600
+ "contrast": 13.2
3601
+ },
3602
+ "measureChars": 42,
3603
+ "max": {
3604
+ "size": 40.3,
3605
+ "vw": 10.3,
3606
+ "font": "Schibsted Grotesk",
3607
+ "text": "Web componentsfor every stack."
3608
+ },
3609
+ "monoShare": 0.01,
3610
+ "monoProseShare": 0,
3611
+ "monoFamilies": [
3612
+ "ui-monospace"
3613
+ ],
3614
+ "monoSamples": [],
3615
+ "microLabels": 0,
3616
+ "microLabelShare": 0,
3617
+ "microSamples": [],
3618
+ "upperShare": 0.02,
3619
+ "centerShare": 0,
3620
+ "smallText": 0
3621
+ },
3622
+ "eyebrows": [],
3623
+ "numbered": [],
3624
+ "color": {
3625
+ "bodyBg": "#e6e0d4",
3626
+ "bodyBgHsl": {
3627
+ "h": 40,
3628
+ "s": 0.26,
3629
+ "l": 0.87
3630
+ },
3631
+ "dark": false,
3632
+ "sectionBgs": [
3633
+ {
3634
+ "color": "#ff6b1f",
3635
+ "top": 462,
3636
+ "hsl": {
3637
+ "h": 20,
3638
+ "s": 1,
3639
+ "l": 0.56
3640
+ }
3641
+ },
3642
+ {
3643
+ "color": "#1b1a17",
3644
+ "top": 789,
3645
+ "hsl": {
3646
+ "h": 45,
3647
+ "s": 0.08,
3648
+ "l": 0.1
3649
+ }
3650
+ },
3651
+ {
3652
+ "color": "#24503c",
3653
+ "top": 2283,
3654
+ "hsl": {
3655
+ "h": 153,
3656
+ "s": 0.38,
3657
+ "l": 0.23
3658
+ }
3659
+ },
3660
+ {
3661
+ "color": "#e6e0d4",
3662
+ "top": 2315,
3663
+ "hsl": {
3664
+ "h": 40,
3665
+ "s": 0.26,
3666
+ "l": 0.87
3667
+ }
3668
+ }
3669
+ ],
3670
+ "textColors": [
3671
+ {
3672
+ "color": "#1b1a17",
3673
+ "share": 0.95
3674
+ },
3675
+ {
3676
+ "color": "#e6e0d4",
3677
+ "share": 0.03
3678
+ },
3679
+ {
3680
+ "color": "#ffffff",
3681
+ "share": 0.01
3682
+ },
3683
+ {
3684
+ "color": "#1f4a36",
3685
+ "share": 0.01
3686
+ },
3687
+ {
3688
+ "color": "#ff6b1f",
3689
+ "share": 0
3690
+ }
3691
+ ],
3692
+ "button": null,
3693
+ "lowContrast": []
3694
+ },
3695
+ "buttons": {
3696
+ "count": 0,
3697
+ "inHero": 0,
3698
+ "withShadow": 0,
3699
+ "withGradient": 0,
3700
+ "mono": 0,
3701
+ "upper": 0,
3702
+ "heroLabels": []
3703
+ },
3704
+ "surfaces": {
3705
+ "shadowStatic": 0,
3706
+ "shadowOverlay": 0,
3707
+ "shadowSamples": [],
3708
+ "gradients": 0,
3709
+ "scrims": 0,
3710
+ "gradientSamples": [],
3711
+ "gradientText": 0,
3712
+ "hairlines": 0,
3713
+ "hairlineSamples": [],
3714
+ "outlinedBoxes": 0,
3715
+ "dashed": 0,
3716
+ "blurred": 0,
3717
+ "roundedBoxes": 0,
3718
+ "boxRadius": 0,
3719
+ "squareMedia": 2,
3720
+ "roundedMedia": 0,
3721
+ "mediaRadius": 0,
3722
+ "textShadow": 0,
3723
+ "cardRows": []
3724
+ },
3725
+ "heroMedia": [],
3726
+ "nav": {
3727
+ "links": 0,
3728
+ "fixed": false,
3729
+ "height": 20,
3730
+ "floatingPill": false,
3731
+ "blur": false
3732
+ },
3733
+ "fontsLoaded": [
3734
+ "schibsted grotesk"
3735
+ ]
3736
+ },
3737
+ "layout": {
3738
+ "viewport": {
3739
+ "w": 390,
3740
+ "h": 844
3741
+ },
3742
+ "pageH": 6507,
3743
+ "margins": {
3744
+ "left": 16,
3745
+ "right": 19
3746
+ },
3747
+ "sections": [
3748
+ {
3749
+ "sel": "section.hero",
3750
+ "tag": "section",
3751
+ "top": 66,
3752
+ "height": 1053,
3753
+ "words": 30,
3754
+ "media": 0,
3755
+ "middle": 0,
3756
+ "heading": {
3757
+ "text": "Web components",
3758
+ "size": 40,
3759
+ "tag": "h1"
3760
+ },
3761
+ "left": 16,
3762
+ "right": 41,
3763
+ "textLeft": 16,
3764
+ "textRight": 41,
3765
+ "fullBleed": false,
3766
+ "footer": false,
3767
+ "hero": true,
3768
+ "continues": false,
3769
+ "pinned": false
3770
+ },
3771
+ {
3772
+ "sel": "section.manifesto",
3773
+ "tag": "section",
3774
+ "top": 1119,
3775
+ "height": 187,
3776
+ "words": 26,
3777
+ "media": 0,
3778
+ "middle": 0,
3779
+ "heading": null,
3780
+ "left": 16,
3781
+ "right": 48,
3782
+ "textLeft": 16,
3783
+ "textRight": 48,
3784
+ "fullBleed": false,
3785
+ "footer": false,
3786
+ "hero": false,
3787
+ "continues": false,
3788
+ "pinned": false
3789
+ },
3790
+ {
3791
+ "sel": "section.index",
3792
+ "tag": "section",
3793
+ "top": 1306,
3794
+ "height": 780,
3795
+ "words": 66,
3796
+ "media": 0,
3797
+ "middle": 0,
3798
+ "heading": {
3799
+ "text": "41 components,",
3800
+ "size": 36,
3801
+ "tag": "h2"
3802
+ },
3803
+ "left": 16,
3804
+ "right": 16,
3805
+ "textLeft": 16,
3806
+ "textRight": 16,
3807
+ "fullBleed": false,
3808
+ "footer": false,
3809
+ "hero": false,
3810
+ "continues": false,
3811
+ "pinned": false
3812
+ },
3813
+ {
3814
+ "sel": "div.instr-field",
3815
+ "tag": "div",
3816
+ "top": 2283,
3817
+ "height": 465,
3818
+ "words": 31,
3819
+ "media": 0,
3820
+ "middle": 20,
3821
+ "heading": null,
3822
+ "left": 36,
3823
+ "right": 36,
3824
+ "textLeft": 36,
3825
+ "textRight": 36,
3826
+ "fullBleed": false,
3827
+ "footer": false,
3828
+ "hero": false,
3829
+ "continues": true,
3830
+ "pinned": false
3831
+ },
3832
+ {
3833
+ "sel": "div.instr-block.is-visible",
3834
+ "tag": "div",
3835
+ "top": 2764,
3836
+ "height": 380,
3837
+ "words": 22,
3838
+ "media": 0,
3839
+ "middle": 0,
3840
+ "heading": null,
3841
+ "left": 16,
3842
+ "right": 23,
3843
+ "textLeft": 16,
3844
+ "textRight": 23,
3845
+ "fullBleed": false,
3846
+ "footer": false,
3847
+ "hero": false,
3848
+ "continues": true,
3849
+ "pinned": false
3850
+ },
3851
+ {
3852
+ "sel": "div.instr-block.is-visible",
3853
+ "tag": "div",
3854
+ "top": 3144,
3855
+ "height": 232,
3856
+ "words": 28,
3857
+ "media": 0,
3858
+ "middle": 0,
3859
+ "heading": null,
3860
+ "left": 16,
3861
+ "right": 16,
3862
+ "textLeft": 16,
3863
+ "textRight": 16,
3864
+ "fullBleed": false,
3865
+ "footer": false,
3866
+ "hero": false,
3867
+ "continues": true,
3868
+ "pinned": false
3869
+ },
3870
+ {
3871
+ "sel": "div.instr-block.is-visible",
3872
+ "tag": "div",
3873
+ "top": 3376,
3874
+ "height": 500,
3875
+ "words": 32,
3876
+ "media": 0,
3877
+ "middle": 0,
3878
+ "heading": null,
3879
+ "left": 16,
3880
+ "right": 20,
3881
+ "textLeft": 16,
3882
+ "textRight": 20,
3883
+ "fullBleed": false,
3884
+ "footer": false,
3885
+ "hero": false,
3886
+ "continues": true,
3887
+ "pinned": false
3888
+ },
3889
+ {
3890
+ "sel": "div.instr-block.is-visible",
3891
+ "tag": "div",
3892
+ "top": 3876,
3893
+ "height": 377,
3894
+ "words": 25,
3895
+ "media": 0,
3896
+ "middle": 0,
3897
+ "heading": null,
3898
+ "left": 16,
3899
+ "right": 43,
3900
+ "textLeft": 16,
3901
+ "textRight": 43,
3902
+ "fullBleed": false,
3903
+ "footer": false,
3904
+ "hero": false,
3905
+ "continues": true,
3906
+ "pinned": false
3907
+ },
3908
+ {
3909
+ "sel": "section.story",
3910
+ "tag": "section",
3911
+ "top": 4253,
3912
+ "height": 1090,
3913
+ "words": 119,
3914
+ "media": 1,
3915
+ "middle": 0,
3916
+ "heading": {
3917
+ "text": "Why we built it.",
3918
+ "size": 36,
3919
+ "tag": "h2"
3920
+ },
3921
+ "left": 16,
3922
+ "right": 18,
3923
+ "textLeft": 16,
3924
+ "textRight": 18,
3925
+ "fullBleed": true,
3926
+ "footer": false,
3927
+ "hero": false,
3928
+ "continues": false,
3929
+ "pinned": false
3930
+ },
3931
+ {
3932
+ "sel": "section.takeoff",
3933
+ "tag": "section",
3934
+ "top": 5343,
3935
+ "height": 886,
3936
+ "words": 20,
3937
+ "media": 1,
3938
+ "middle": 0,
3939
+ "heading": {
3940
+ "text": "Take your project",
3941
+ "size": 40,
3942
+ "tag": "h2"
3943
+ },
3944
+ "left": 16,
3945
+ "right": 36,
3946
+ "textLeft": 16,
3947
+ "textRight": 36,
3948
+ "fullBleed": true,
3949
+ "footer": false,
3950
+ "hero": false,
3951
+ "continues": false,
3952
+ "pinned": false
3953
+ },
3954
+ {
3955
+ "sel": "footer.home-footer",
3956
+ "tag": "footer",
3957
+ "top": 6229,
3958
+ "height": 277,
3959
+ "words": 28,
3960
+ "media": 0,
3961
+ "middle": 0,
3962
+ "heading": null,
3963
+ "left": 16,
3964
+ "right": 29,
3965
+ "textLeft": 16,
3966
+ "textRight": 29,
3967
+ "fullBleed": false,
3968
+ "footer": true,
3969
+ "hero": false,
3970
+ "continues": false,
3971
+ "pinned": false
3972
+ }
3973
+ ],
3974
+ "gaps": [
3975
+ {
3976
+ "top": 324,
3977
+ "height": 416
3978
+ },
3979
+ {
3980
+ "top": 2908,
3981
+ "height": 264
3982
+ },
3983
+ {
3984
+ "top": 3556,
3985
+ "height": 348
3986
+ },
3987
+ {
3988
+ "top": 4068,
3989
+ "height": 276
3990
+ }
3991
+ ],
3992
+ "h1s": [
3993
+ {
3994
+ "text": "Web components for every stack.",
3995
+ "size": 40,
3996
+ "top": 134,
3997
+ "firstScreen": true
3998
+ }
3999
+ ],
4000
+ "edgeText": [],
4001
+ "edges": [
4002
+ {
4003
+ "x": 16,
4004
+ "n": 18
4005
+ }
4006
+ ],
4007
+ "leftBlocks": 18,
4008
+ "bodySize": 17,
4009
+ "stage": false,
4010
+ "explains": false,
4011
+ "slivers": [],
4012
+ "voidShare": 0,
4013
+ "voidBox": null
4014
+ },
4015
+ "app": null,
4016
+ "consoleErrors": []
4017
+ }
4018
+ ],
4019
+ "findings": [
4020
+ {
4021
+ "level": "WARN",
4022
+ "id": "first-action",
4023
+ "width": 1440,
4024
+ "message": "No visible button in the first screen.",
4025
+ "fix": "Give the one primary action a real button in the first screen (a filled or solid-bordered control, 44px or taller), not only a link in the navigation.",
4026
+ "alsoAt": [
4027
+ 768,
4028
+ 390
4029
+ ]
4030
+ },
4031
+ {
4032
+ "level": "WARN",
4033
+ "id": "dev-server",
4034
+ "width": 1440,
4035
+ "message": "This page is served by a development server (Vite, webpack or Next in dev mode).",
4036
+ "fix": "Run the last gate on the production build too (vite build && vite preview, next build && next start, or the built index.html): minifiers and bundlers change the CSS a visitor receives.",
4037
+ "alsoAt": [
4038
+ 768,
4039
+ 390
4040
+ ]
4041
+ },
4042
+ {
4043
+ "level": "WARN",
4044
+ "id": "off-centre",
4045
+ "width": 1440,
4046
+ "message": "The margins differ: 40px on the left, 72px on the right, at 1440px.",
4047
+ "fix": "Put the navigation and the content on one pair of margins; check for padding on one side only, a scrollbar gutter, or a header on another inset than the page."
4048
+ },
4049
+ {
4050
+ "level": "WARN",
4051
+ "id": "lopsided",
4052
+ "width": 1440,
4053
+ "message": "A section keeps its content on one side and leaves 632px of the width empty: \"Take your project\".",
4054
+ "fix": "Fill the other side with what the section has (its picture, a second column, the figure), or defend the void in one sentence."
4055
+ },
4056
+ {
4057
+ "level": "WARN",
4058
+ "id": "statement-length",
4059
+ "width": 390,
4060
+ "message": "1 large-set statement(s) run past 4 lines at 390px: \"Concorde is a Lit library of 41 web comp…\" → 5 lines at 22px",
4061
+ "fix": "A statement set large is about 30 words. Cut it, or set the rest as ordinary body text."
4062
+ },
4063
+ {
4064
+ "level": "WARN",
4065
+ "id": "blank-gap",
4066
+ "width": 390,
4067
+ "message": "A 416px stretch at 324px holds nothing.",
4068
+ "fix": "Check that it is a deliberate rest (once per page at most); otherwise close it to the normal section gap."
4069
+ }
4070
+ ],
4071
+ "images": [
4072
+ {
4073
+ "viewport": "desktop",
4074
+ "width": 1440,
4075
+ "fold": "/usr2/sites/concorde/.taste-skill/after/desktop-fold.jpg",
4076
+ "pages": [
4077
+ "/usr2/sites/concorde/.taste-skill/after/desktop-page-01.jpg",
4078
+ "/usr2/sites/concorde/.taste-skill/after/desktop-page-02.jpg",
4079
+ "/usr2/sites/concorde/.taste-skill/after/desktop-page-03.jpg"
4080
+ ],
4081
+ "film": []
4082
+ },
4083
+ {
4084
+ "viewport": "tablet",
4085
+ "width": 768,
4086
+ "fold": "/usr2/sites/concorde/.taste-skill/after/tablet-fold.jpg",
4087
+ "pages": [
4088
+ "/usr2/sites/concorde/.taste-skill/after/tablet-page-01.jpg",
4089
+ "/usr2/sites/concorde/.taste-skill/after/tablet-page-02.jpg"
4090
+ ],
4091
+ "film": []
4092
+ },
4093
+ {
4094
+ "viewport": "mobile",
4095
+ "width": 390,
4096
+ "fold": "/usr2/sites/concorde/.taste-skill/after/mobile-fold.jpg",
4097
+ "pages": [
4098
+ "/usr2/sites/concorde/.taste-skill/after/mobile-page-01.jpg"
4099
+ ],
4100
+ "film": []
4101
+ }
4102
+ ]
4103
+ }