@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
@@ -1,240 +1,227 @@
1
1
  import { html, LitElement, PropertyValues } from "lit";
2
2
  import { customElement, property } from "lit/decorators.js";
3
+
4
+ /** Sidebar order: strings are section titles, objects are pages. */
5
+ export const docsNavigation: Array<string | { label: string; href: string }> = [
6
+ "Getting Started",
7
+ { label: "Introduction", href: "/docs/getting-started/start" },
8
+ {
9
+ label: "Components",
10
+ href: "/docs/getting-started/components",
11
+ },
12
+ {
13
+ label: "Installation",
14
+ href: "/docs/getting-started/installation",
15
+ },
16
+ {
17
+ label: "My first component",
18
+ href: "/docs/getting-started/my-first-component",
19
+ },
20
+ {
21
+ label: "Theming",
22
+ href: "/docs/getting-started/theming",
23
+ },
24
+ {
25
+ label: "Data flow",
26
+ href: "/docs/getting-started/dataFlow",
27
+ },
28
+ {
29
+ label: "AI agents (skills)",
30
+ href: "/docs/getting-started/ai-agents",
31
+ },
32
+ "Functional components",
33
+ { label: "Date", href: "/core/components/functional/date" },
34
+ {
35
+ label: "Fetch",
36
+ href: "/core/components/functional/fetch",
37
+ },
38
+ { label: "If", href: "/core/components/functional/if" },
39
+ { label: "List", href: "/core/components/functional/list" },
40
+ { label: "Mix", href: "/core/components/functional/mix" },
41
+ {
42
+ label: "Jsonata",
43
+ href: "/core/components/functional/jsonata",
44
+ },
45
+ {
46
+ label: "Queue",
47
+ href: "/core/components/functional/queue",
48
+ },
49
+ {
50
+ label: "Router",
51
+ href: "/core/components/functional/router",
52
+ },
53
+ { label: "SDUI", href: "/core/components/functional/sdui" },
54
+ {
55
+ label: "States",
56
+ href: "/core/components/functional/states",
57
+ },
58
+ {
59
+ label: "Submit",
60
+ href: "/core/components/functional/submit",
61
+ },
62
+ //{label: "Subscriber", href: "/core/components/functional/subscriber"},
63
+ {
64
+ label: "Translation",
65
+ href: "/core/components/functional/translation",
66
+ },
67
+ {
68
+ label: "Value",
69
+ href: "/core/components/functional/value",
70
+ },
71
+ "UI components",
72
+ { label: "Alert", href: "/core/components/ui/alert" },
73
+ { label: "Badge", href: "/core/components/ui/badge" },
74
+ { label: "Button", href: "/core/components/ui/button" },
75
+ {
76
+ label: "Captcha",
77
+ href: "/core/components/ui/captcha",
78
+ },
79
+ { label: "Card", href: "/core/components/ui/card" },
80
+ {
81
+ label: "Checkbox",
82
+ href: "/core/components/ui/form/checkbox",
83
+ },
84
+ {
85
+ label: "Divider",
86
+ href: "/core/components/ui/divider",
87
+ },
88
+ {
89
+ label: "Fieldset",
90
+ href: "/core/components/ui/form/fieldset",
91
+ },
92
+ {
93
+ label: "Form actions",
94
+ href: "/core/components/ui/form/form-actions",
95
+ },
96
+ {
97
+ label: "Form layout",
98
+ href: "/core/components/ui/form/form-layout",
99
+ },
100
+ { label: "Group", href: "/core/components/ui/group" },
101
+ { label: "Icon", href: "/core/components/ui/icon" },
102
+ { label: "Image", href: "/core/components/ui/image" },
103
+ { label: "Input", href: "/core/components/ui/form/input" },
104
+ { label: "Link", href: "/core/components/ui/link" },
105
+ { label: "Loader", href: "/core/components/ui/loader" },
106
+ { label: "Menu", href: "/core/components/ui/menu" },
107
+ { label: "Modal", href: "/core/components/ui/modal" },
108
+ { label: "Pop", href: "/core/components/ui/pop" },
109
+ {
110
+ label: "Progress",
111
+ href: "/core/components/ui/progress",
112
+ },
113
+ { label: "Radio", href: "/core/components/ui/form/radio" },
114
+ {
115
+ label: "Select",
116
+ href: "/core/components/ui/form/select",
117
+ },
118
+ {
119
+ label: "Switch",
120
+ href: "/core/components/ui/form/switch",
121
+ },
122
+ { label: "Table", href: "/core/components/ui/table" },
123
+ {
124
+ label: "Textarea",
125
+ href: "/core/components/ui/form/textarea",
126
+ },
127
+ {
128
+ label: "Theme",
129
+ href: "/core/components/ui/theme",
130
+ },
131
+ { label: "Toast", href: "/core/components/ui/toast" },
132
+ {
133
+ label: "Tooltip",
134
+ href: "/core/components/ui/tooltip",
135
+ },
136
+ "Decorators",
137
+ {
138
+ label: "@ancestorAttribute",
139
+ href: "/docs/decorators/ancestor-attribute",
140
+ },
141
+ {
142
+ label: "@bind",
143
+ href: "/docs/decorators/bind",
144
+ },
145
+ {
146
+ label: "@subscribe",
147
+ href: "/docs/decorators/subscribe",
148
+ },
149
+ {
150
+ label: "@handle",
151
+ href: "/docs/decorators/handle",
152
+ },
153
+ {
154
+ label: "@publish",
155
+ href: "/docs/decorators/publish",
156
+ },
157
+ {
158
+ label: "@get",
159
+ href: "/docs/decorators/get",
160
+ },
161
+ {
162
+ label: "@post",
163
+ href: "/docs/decorators/post",
164
+ },
165
+ {
166
+ label: "@put",
167
+ href: "/docs/decorators/put",
168
+ },
169
+ {
170
+ label: "@patch",
171
+ href: "/docs/decorators/patch",
172
+ },
173
+ {
174
+ label: "@onAssign",
175
+ href: "/docs/decorators/on-assign",
176
+ },
177
+ {
178
+ label: "@autoSubscribe",
179
+ href: "/docs/decorators/auto-subscribe",
180
+ },
181
+ {
182
+ label: "@awaitConnectedAncestors",
183
+ href: "/docs/decorators/wait-for-ancestors",
184
+ },
185
+ "Directives",
186
+ {
187
+ label: "sub()",
188
+ href: "/docs/directives/sub",
189
+ },
190
+ {
191
+ label: "t()",
192
+ href: "/docs/directives/t",
193
+ },
194
+ "Misc",
195
+ {
196
+ label: "DataProviderKey",
197
+ href: "/docs/misc/dataProviderKey",
198
+ },
199
+ {
200
+ label: "Endpoint",
201
+ href: "/docs/misc/endpoint",
202
+ },
203
+ {
204
+ label: "Dynamic paths",
205
+ href: "/docs/misc/dynamic-path",
206
+ },
207
+ {
208
+ label: "API configuration",
209
+ href: "/docs/misc/api-configuration",
210
+ },
211
+ {
212
+ label: "HTML integration",
213
+ href: "/docs/misc/html-integration",
214
+ },
215
+ {
216
+ label: "Local API demos",
217
+ href: "/docs/misc/docs-mock-api",
218
+ },
219
+ ];
220
+
3
221
  const tagName = "docs-navigation"; // For Astro.build
4
222
  @customElement(tagName)
5
223
  export class DocsNavigation extends LitElement {
6
- @property() navigation = [
7
- { label: "Introduction", href: "#docs/_getting-started/start.md/start" },
8
- "Getting Started",
9
- {
10
- label: "Installation",
11
- href: "#docs/_getting-started/concorde-outside.md/concorde-outside",
12
- },
13
- {
14
- label: "AI agents (skills)",
15
- href: "#docs/_getting-started/ai-agents.md/ai-agents",
16
- },
17
- {
18
- label: "My first component",
19
- href: "#docs/_getting-started/my-first-component.md/my-first-component",
20
- },
21
- {
22
- label: "Customization",
23
- href: "#docs/_getting-started/theming.md/theming",
24
- },
25
- "Core concept",
26
- {
27
- label: "Lit + Tailwind + Vite",
28
- href: "#docs/_core-concept/overview.md/overview",
29
- },
30
- {
31
- label: "Data flow",
32
- href: "#docs/_core-concept/dataFlow.md/dataFlow",
33
- },
34
- "Functionnal components",
35
- { label: "Date", href: "#core/components/functional/date/date.md/date" },
36
- {
37
- label: "Fetch",
38
- href: "#core/components/functional/fetch/fetch.md/fetch",
39
- },
40
- { label: "If", href: "#core/components/functional/if/if.md/if" },
41
- { label: "List", href: "#core/components/functional/list/list.md/list" },
42
- { label: "Mix", href: "#core/components/functional/mix/mix.md/mix" },
43
- {
44
- label: "Jsonata",
45
- href: "#core/components/functional/jsonata/jsonata.md/jsonata",
46
- },
47
- {
48
- label: "Queue",
49
- href: "#core/components/functional/queue/queue.md/queue",
50
- },
51
- {
52
- label: "Router",
53
- href: "#core/components/functional/router/router.md/router",
54
- },
55
- { label: "SDUI", href: "#core/components/functional/sdui/sdui.md/sdui" },
56
- {
57
- label: "States",
58
- href: "#core/components/functional/states/states.md/states",
59
- },
60
- {
61
- label: "Submit",
62
- href: "#core/components/functional/submit/submit.md/submit",
63
- },
64
- //{label: "Subscriber", href: "#core/components/functional/subscriber/subscriber.md/subscriber"},
65
- {
66
- label: "Value",
67
- href: "#core/components/functional/value/value.md/value",
68
- },
69
- "UI components",
70
- { label: "Alert", href: "#core/components/ui/alert/alert.md/alert" },
71
- { label: "Badge", href: "#core/components/ui/badge/badge.md/badge" },
72
- { label: "Button", href: "#core/components/ui/button/button.md/button" },
73
- {
74
- label: "Captcha",
75
- href: "#core/components/ui/captcha/captcha.md/captcha",
76
- },
77
- { label: "Card", href: "#core/components/ui/card/card.md/card" },
78
- {
79
- label: "Checkbox",
80
- href: "#core/components/ui/form/checkbox/checkbox.md/checkbox",
81
- },
82
- {
83
- label: "Divider",
84
- href: "#core/components/ui/divider/divider.md/divider",
85
- },
86
- {
87
- label: "Fieldset",
88
- href: "#core/components/ui/form/fieldset/fieldset.md/fieldset",
89
- },
90
- {
91
- label: "Form actions",
92
- href: "#core/components/ui/form/form-actions/form-actions.md/form-actions",
93
- },
94
- {
95
- label: "Form layout",
96
- href: "#core/components/ui/form/form-layout/form-layout.md/form-layout",
97
- },
98
- { label: "Group", href: "#core/components/ui/group/group.md/group" },
99
- { label: "Icon", href: "#core/components/ui/icon/icon.md/icon" },
100
- { label: "Image", href: "#core/components/ui/image/image.md/image" },
101
- { label: "Input", href: "#core/components/ui/form/input/input.md/input" },
102
- {
103
- label: "Input autocomplete",
104
- href: "#core/components/ui/form/input-autocomplete/input-autocomplete.md/input-autocomplete",
105
- },
106
- { label: "Link", href: "#core/components/ui/link/link.md/link" },
107
- { label: "Loader", href: "#core/components/ui/loader/loader.md/loader" },
108
- { label: "Menu", href: "#core/components/ui/menu/menu.md/menu" },
109
- { label: "Modal", href: "#core/components/ui/modal/modal.md/modal" },
110
- { label: "Pop", href: "#core/components/ui/pop/pop.md/pop" },
111
- {
112
- label: "Progress",
113
- href: "#core/components/ui/progress/progress.md/progress",
114
- },
115
- { label: "Radio", href: "#core/components/ui/form/radio/radio.md/radio" },
116
- {
117
- label: "Select",
118
- href: "#core/components/ui/form/select/select.md/select",
119
- },
120
- {
121
- label: "Switch",
122
- href: "#core/components/ui/form/switch/switch.md/switch",
123
- },
124
- { label: "Table", href: "#core/components/ui/table/table.md/table" },
125
- {
126
- label: "Textarea",
127
- href: "#core/components/ui/form/textarea/textarea.md/textarea",
128
- },
129
- {
130
- label: "Theme",
131
- href: "#core/components/ui/theme/theme.md/theme",
132
- },
133
- { label: "Toast", href: "#core/components/ui/toast/toast.md/toast" },
134
- {
135
- label: "Tooltip",
136
- href: "#core/components/ui/tooltip/tooltip.md/tooltip",
137
- },
138
- "Decorators",
139
- {
140
- label: "@ancestorAttribute",
141
- href: "#docs/_decorators/ancestor-attribute.md/ancestor-attribute",
142
- },
143
- {
144
- label: "@bind",
145
- href: "#docs/_decorators/bind.md/bind",
146
- },
147
- {
148
- label: "@subscribe",
149
- href: "#docs/_decorators/subscribe.md/subscribe",
150
- },
151
- {
152
- label: "@handle",
153
- href: "#docs/_decorators/handle.md/handle",
154
- },
155
- {
156
- label: "@publish",
157
- href: "#docs/_decorators/publish.md/publish",
158
- },
159
- {
160
- label: "@get",
161
- href: "#docs/_decorators/get.md/get",
162
- },
163
- {
164
- label: "@post",
165
- href: "#docs/_decorators/post.md/post",
166
- },
167
- {
168
- label: "@put",
169
- href: "#docs/_decorators/put.md/put",
170
- },
171
- {
172
- label: "@patch",
173
- href: "#docs/_decorators/patch.md/patch",
174
- },
175
- {
176
- label: "@onAssign",
177
- href: "#docs/_decorators/on-assign.md/on-assign",
178
- },
179
- {
180
- label: "@autoSubscribe",
181
- href: "#docs/_decorators/auto-subscribe.md/auto-subscribe",
182
- },
183
- {
184
- label: "@awaitConnectedAncestors",
185
- href: "#docs/_decorators/wait-for-ancestors.md/wait-for-ancestors",
186
- },
187
- "Misc",
188
- {
189
- label: "DataProviderKey",
190
- href: "#docs/_misc/dataProviderKey.md/dataProviderKey",
191
- },
192
- {
193
- label: "Endpoint",
194
- href: "#docs/_misc/endpoint.md/endpoint",
195
- },
196
- {
197
- label: "Dynamic paths",
198
- href: "#docs/_misc/dynamic-path.md/dynamic-path",
199
- },
200
- {
201
- label: "API configuration",
202
- href: "#docs/_misc/api-configuration.md/api-configuration",
203
- },
204
- {
205
- label: "sub()",
206
- href: "#docs/_directives/sub.md/sub",
207
- },
208
- {
209
- label: "HTML integration",
210
- href: "#docs/_misc/html-integration.md/html-integration",
211
- },
212
- {
213
- label: "FormElement / Subscriber removal",
214
- href: "#docs/_misc/formelement-subscriber-removal.md/formelement-subscriber-removal",
215
- },
216
- {
217
- label: "Local API demos",
218
- href: "#docs/_misc/docs-mock-api.md/docs-mock-api",
219
- },
220
- "Legacy",
221
- {
222
- label: "Manual installation (Vite)",
223
- href: "#docs/_getting-started/concorde-manual-install.md/concorde-manual-install",
224
- },
225
- {
226
- label: "Subscriber mixin",
227
- href: "#docs/_core-concept/subscriber.md/subscriber",
228
- },
229
- {
230
- label: "Sharing data (Publisher)",
231
- href: "#docs/_getting-started/pubsub.md/pubsub",
232
- },
233
- {
234
- label: "My first subscriber",
235
- href: "#docs/_getting-started/my-first-subscriber.md/my-first-subscriber",
236
- },
237
- ];
224
+ @property({ attribute: false }) navigation = docsNavigation;
238
225
 
239
226
  /**
240
227
  * Save the scroll position when the component is disconnected
@@ -0,0 +1,67 @@
1
+ import { html, LitElement, nothing } from "lit";
2
+ import { customElement, state } from "lit/decorators.js";
3
+ import { parseDocsLocation } from "../docs-location";
4
+ import { tailwind } from "../tailwind";
5
+ import { docsNavigation } from "./navigation";
6
+ import { DOCS_PAGE_RENDERED } from "./toc";
7
+
8
+ type Page = { label: string; href: string };
9
+
10
+ const pages = docsNavigation.filter((item): item is Page => typeof item !== "string");
11
+ const pageUrl = (href: string) => parseDocsLocation(href).url;
12
+
13
+ const tagName = "docs-pager";
14
+ /** Previous / next page links, following the sidebar order. */
15
+ @customElement(tagName)
16
+ export class DocsPager extends LitElement {
17
+ static styles = [tailwind];
18
+
19
+ @state() index = -1;
20
+
21
+ connectedCallback() {
22
+ super.connectedCallback();
23
+ window.addEventListener(DOCS_PAGE_RENDERED, this.locate);
24
+ this.locate();
25
+ }
26
+
27
+ disconnectedCallback() {
28
+ window.removeEventListener(DOCS_PAGE_RENDERED, this.locate);
29
+ super.disconnectedCallback();
30
+ }
31
+
32
+ private locate = () => {
33
+ const current = parseDocsLocation(document.location.href).url;
34
+ this.index = pages.findIndex((p) => pageUrl(p.href) === current);
35
+ };
36
+
37
+ private link(page: Page | undefined, direction: "previous" | "next") {
38
+ if (!page) return html`<div class="hidden sm:block"></div>`;
39
+ const next = direction === "next";
40
+ return html`<sonic-button
41
+ variant="outline"
42
+ size="lg"
43
+ shape="block"
44
+ pushState
45
+ align=${next ? "right" : "left"}
46
+ href=${page.href}
47
+ @click=${() => window.scrollTo({ top: 0, behavior: "instant" })}
48
+ >
49
+ <sonic-icon
50
+ slot=${next ? "suffix" : "prefix"}
51
+ name=${next ? "arrow-right" : "arrow-left"}
52
+ library="iconoir"
53
+ ></sonic-icon>
54
+ ${page.label}
55
+ </sonic-button>`;
56
+ }
57
+
58
+ render() {
59
+ if (this.index < 0) return nothing;
60
+ return html`
61
+ <div class="grid grid-cols-[minmax(0,1fr)] sm:grid-cols-2 gap-3">
62
+ ${this.link(pages[this.index - 1], "previous")}
63
+ ${this.link(pages[this.index + 1], "next")}
64
+ </div>
65
+ `;
66
+ }
67
+ }
@@ -0,0 +1,101 @@
1
+ import { html, LitElement, nothing } from "lit";
2
+ import { customElement, state } from "lit/decorators.js";
3
+ import { parseDocsLocation } from "../docs-location";
4
+
5
+ /** Fired on window by `docs-markdown-renderer` once a page is in the DOM. */
6
+ export const DOCS_PAGE_RENDERED = "docs-page-rendered";
7
+
8
+ type TocEntry = { id: string; label: string };
9
+
10
+ const tagName = "docs-toc";
11
+ /**
12
+ * "On this page" navigation: lists the h2 of the rendered markdown
13
+ * and highlights the section currently in view.
14
+ */
15
+ @customElement(tagName)
16
+ export class DocsToc extends LitElement {
17
+ @state() entries: TocEntry[] = [];
18
+ @state() activeId = "";
19
+
20
+ private observer?: IntersectionObserver;
21
+ private visible = new Set<string>();
22
+
23
+ connectedCallback() {
24
+ super.connectedCallback();
25
+ window.addEventListener(DOCS_PAGE_RENDERED, this.collect);
26
+ this.collect();
27
+ }
28
+
29
+ disconnectedCallback() {
30
+ window.removeEventListener(DOCS_PAGE_RENDERED, this.collect);
31
+ this.observer?.disconnect();
32
+ super.disconnectedCallback();
33
+ }
34
+
35
+ private headings(): HTMLElement[] {
36
+ return Array.from(
37
+ document.querySelectorAll<HTMLElement>("docs-markdown-renderer h2[id]"),
38
+ ).filter((h) => !h.closest("sonic-code, docs-lit-demo, docs-demo-sources"));
39
+ }
40
+
41
+ private collect = () => {
42
+ const headings = this.headings();
43
+ this.entries = headings.map((h) => ({
44
+ id: h.id,
45
+ label: h.textContent?.trim() || h.id,
46
+ }));
47
+ this.activeId = this.entries[0]?.id || "";
48
+
49
+ this.observer?.disconnect();
50
+ this.visible.clear();
51
+ this.observer = new IntersectionObserver(
52
+ (records) => {
53
+ records.forEach((r) => {
54
+ if (r.isIntersecting) this.visible.add(r.target.id);
55
+ else this.visible.delete(r.target.id);
56
+ });
57
+ const first = this.entries.find((e) => this.visible.has(e.id));
58
+ if (first) this.activeId = first.id;
59
+ },
60
+ { rootMargin: "-80px 0px -55% 0px" },
61
+ );
62
+ headings.forEach((h) => this.observer?.observe(h));
63
+ };
64
+
65
+ private goTo(id: string) {
66
+ const target = document.getElementById(id);
67
+ if (!target) return;
68
+ this.activeId = id;
69
+ target.scrollIntoView({ behavior: "smooth", block: "start" });
70
+ // Keep the URL shareable without triggering a markdown reload.
71
+ const { pagePath } = parseDocsLocation(document.location.href);
72
+ if (pagePath && pagePath !== "/") {
73
+ history.replaceState(
74
+ history.state,
75
+ "",
76
+ `${pagePath}#${encodeURIComponent(id)}`,
77
+ );
78
+ }
79
+ }
80
+
81
+ render() {
82
+ if (this.entries.length < 2) return nothing;
83
+ return html`
84
+ <sonic-divider class="uppercase" align="left" size="xs"
85
+ >On this page</sonic-divider
86
+ >
87
+ <sonic-menu size="xs">
88
+ ${this.entries.map(
89
+ (e) => html`<sonic-menu-item
90
+ type="neutral"
91
+ size="xs"
92
+ ?active=${e.id === this.activeId}
93
+ @click=${() => this.goTo(e.id)}
94
+ >${e.label}</sonic-menu-item
95
+ >`,
96
+ )}
97
+ </sonic-menu>
98
+ `;
99
+ }
100
+ }
101
+