@supersoniks/concorde 5.1.1 → 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 (438) 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/.tmp-cem/custom-elements.json +503 -503
  6. package/PLAN-DOCS-AGENTS.md +80 -0
  7. package/README.md +3 -3
  8. package/ai/skills/concorde/SKILL.md +1 -1
  9. package/ai/skills/concorde-get-set-dp/SKILL.md +3 -3
  10. package/ai/skills/concorde-theme/SKILL.md +1 -1
  11. package/build-infos.json +1 -1
  12. package/concorde-core.bundle.js +1 -1
  13. package/concorde-core.es.js +1 -1
  14. package/dist/concorde-core.bundle.js +1 -1
  15. package/dist/concorde-core.es.js +1 -1
  16. package/docs/.htaccess +75 -0
  17. package/docs/404.html +15 -0
  18. package/docs/404.md +5 -0
  19. package/docs/assets/{index-Bb-_LRyY.js → index-BgG6FFPt.js} +2582 -3097
  20. package/docs/assets/index-x89XINSG.css +1 -0
  21. package/docs/core/components/functional/date/date.html +211 -0
  22. package/docs/core/components/functional/date/date.md +150 -0
  23. package/docs/core/components/functional/fetch/fetch.html +180 -0
  24. package/docs/core/components/functional/fetch/fetch.md +108 -0
  25. package/docs/core/components/functional/if/if.html +65 -0
  26. package/docs/core/components/functional/if/if.md +34 -0
  27. package/docs/core/components/functional/jsonata/jsonata.html +110 -0
  28. package/docs/core/components/functional/jsonata/jsonata.md +61 -0
  29. package/docs/core/components/functional/list/list.html +198 -0
  30. package/docs/core/components/functional/list/list.md +121 -0
  31. package/docs/core/components/functional/mix/mix.html +78 -0
  32. package/docs/core/components/functional/mix/mix.md +46 -0
  33. package/docs/core/components/functional/queue/queue.html +155 -0
  34. package/docs/core/components/functional/queue/queue.md +51 -0
  35. package/docs/core/components/functional/router/router.html +154 -0
  36. package/docs/core/components/functional/router/router.md +93 -0
  37. package/docs/core/components/functional/sdui/sdui-extension-points.html +127 -0
  38. package/docs/core/components/functional/sdui/sdui-extension-points.md +94 -0
  39. package/docs/core/components/functional/sdui/sdui.html +397 -0
  40. package/docs/core/components/functional/sdui/sdui.md +307 -0
  41. package/docs/core/components/functional/states/states.html +141 -0
  42. package/docs/core/components/functional/states/states.md +112 -0
  43. package/docs/core/components/functional/submit/submit.html +178 -0
  44. package/docs/core/components/functional/submit/submit.md +106 -0
  45. package/docs/core/components/functional/subscriber/subscriber.html +68 -0
  46. package/docs/core/components/functional/subscriber/subscriber.md +91 -0
  47. package/docs/core/components/functional/translation/translation.html +60 -0
  48. package/docs/core/components/functional/translation/translation.md +38 -0
  49. package/docs/core/components/functional/value/value.html +81 -0
  50. package/docs/core/components/functional/value/value.md +47 -0
  51. package/docs/core/components/ui/alert/alert.html +201 -0
  52. package/docs/core/components/ui/alert/alert.md +186 -0
  53. package/docs/core/components/ui/alert-messages/alert-messages.html +132 -0
  54. package/docs/core/components/ui/alert-messages/alert-messages.md +85 -0
  55. package/docs/core/components/ui/badge/badge.html +197 -0
  56. package/docs/core/components/ui/badge/badge.md +181 -0
  57. package/docs/core/components/ui/button/button.html +309 -0
  58. package/docs/core/components/ui/button/button.md +216 -0
  59. package/docs/core/components/ui/captcha/captcha.html +80 -0
  60. package/docs/core/components/ui/captcha/captcha.md +56 -0
  61. package/docs/core/components/ui/card/card.html +254 -0
  62. package/docs/core/components/ui/card/card.md +215 -0
  63. package/docs/core/components/ui/divider/divider.html +144 -0
  64. package/docs/core/components/ui/divider/divider.md +126 -0
  65. package/docs/core/components/ui/form/checkbox/checkbox.html +200 -0
  66. package/docs/core/components/ui/form/checkbox/checkbox.md +125 -0
  67. package/docs/core/components/ui/form/fieldset/fieldset.html +238 -0
  68. package/docs/core/components/ui/form/fieldset/fieldset.md +161 -0
  69. package/docs/core/components/ui/form/form-actions/form-actions.html +122 -0
  70. package/docs/core/components/ui/form/form-actions/form-actions.md +98 -0
  71. package/docs/core/components/ui/form/form-layout/form-layout.html +115 -0
  72. package/docs/core/components/ui/form/form-layout/form-layout.md +109 -0
  73. package/docs/core/components/ui/form/input/input.html +235 -0
  74. package/docs/core/components/ui/form/input/input.md +142 -0
  75. package/docs/core/components/ui/form/radio/radio.html +144 -0
  76. package/docs/core/components/ui/form/radio/radio.md +78 -0
  77. package/docs/core/components/ui/form/select/select.html +178 -0
  78. package/docs/core/components/ui/form/select/select.md +86 -0
  79. package/docs/core/components/ui/form/switch/switch.html +146 -0
  80. package/docs/core/components/ui/form/switch/switch.md +80 -0
  81. package/docs/core/components/ui/form/textarea/textarea.html +162 -0
  82. package/docs/core/components/ui/form/textarea/textarea.md +82 -0
  83. package/docs/core/components/ui/group/group.html +113 -0
  84. package/docs/core/components/ui/group/group.md +77 -0
  85. package/docs/core/components/ui/icon/icon.html +223 -0
  86. package/docs/core/components/ui/icon/icon.md +214 -0
  87. package/docs/core/components/ui/image/image.html +194 -0
  88. package/docs/core/components/ui/image/image.md +167 -0
  89. package/docs/core/components/ui/link/link.html +101 -0
  90. package/docs/core/components/ui/link/link.md +81 -0
  91. package/docs/core/components/ui/loader/loader.html +114 -0
  92. package/docs/core/components/ui/loader/loader.md +87 -0
  93. package/docs/core/components/ui/menu/menu.html +395 -0
  94. package/docs/core/components/ui/menu/menu.md +370 -0
  95. package/docs/core/components/ui/modal/modal.html +324 -0
  96. package/docs/core/components/ui/modal/modal.md +211 -0
  97. package/docs/core/components/ui/pop/pop.html +250 -0
  98. package/docs/core/components/ui/pop/pop.md +216 -0
  99. package/docs/core/components/ui/progress/progress.html +132 -0
  100. package/docs/core/components/ui/progress/progress.md +109 -0
  101. package/docs/core/components/ui/table/table.html +333 -0
  102. package/docs/core/components/ui/table/table.md +267 -0
  103. package/docs/core/components/ui/theme/theme.html +116 -0
  104. package/docs/core/components/ui/theme/theme.md +97 -0
  105. package/docs/core/components/ui/toast/toast.html +185 -0
  106. package/docs/core/components/ui/toast/toast.md +147 -0
  107. package/docs/core/components/ui/tooltip/tooltip.html +112 -0
  108. package/docs/core/components/ui/tooltip/tooltip.md +89 -0
  109. package/docs/docs/decorators/ancestor-attribute.html +71 -0
  110. package/docs/docs/decorators/ancestor-attribute.md +59 -0
  111. package/docs/docs/decorators/auto-subscribe.html +61 -0
  112. package/docs/docs/decorators/auto-subscribe.md +40 -0
  113. package/docs/docs/decorators/bind.html +86 -0
  114. package/docs/docs/decorators/bind.md +77 -0
  115. package/docs/docs/decorators/get.html +166 -0
  116. package/docs/docs/decorators/get.md +160 -0
  117. package/docs/docs/decorators/handle.html +139 -0
  118. package/docs/docs/decorators/handle.md +119 -0
  119. package/docs/docs/decorators/on-assign.html +72 -0
  120. package/docs/docs/decorators/on-assign.md +63 -0
  121. package/docs/docs/decorators/patch.html +76 -0
  122. package/docs/docs/decorators/patch.md +44 -0
  123. package/docs/docs/decorators/post.html +150 -0
  124. package/docs/docs/decorators/post.md +134 -0
  125. package/docs/docs/decorators/publish.html +74 -0
  126. package/docs/docs/decorators/publish.md +56 -0
  127. package/docs/docs/decorators/put.html +83 -0
  128. package/docs/docs/decorators/put.md +51 -0
  129. package/docs/docs/decorators/subscribe.html +91 -0
  130. package/docs/docs/decorators/subscribe.md +87 -0
  131. package/docs/docs/decorators/wait-for-ancestors.html +82 -0
  132. package/docs/docs/decorators/wait-for-ancestors.md +76 -0
  133. package/docs/docs/directives/sub.html +79 -0
  134. package/docs/docs/directives/sub.md +75 -0
  135. package/docs/docs/directives/t.html +91 -0
  136. package/docs/docs/directives/t.md +73 -0
  137. package/docs/docs/getting-started/ai-agents.html +174 -0
  138. package/{src/docs/_getting-started → docs/docs/getting-started}/ai-agents.md +3 -3
  139. package/docs/docs/getting-started/components.html +27 -0
  140. package/docs/docs/getting-started/create-a-component.html +108 -0
  141. package/{src/docs/_getting-started → docs/docs/getting-started}/create-a-component.md +3 -6
  142. package/docs/docs/getting-started/dataFlow.html +174 -0
  143. package/{src/docs/_core-concept → docs/docs/getting-started}/dataFlow.md +17 -18
  144. package/docs/docs/getting-started/installation.html +69 -0
  145. package/docs/docs/getting-started/installation.md +36 -0
  146. package/docs/docs/getting-started/my-first-component.html +180 -0
  147. package/{src/docs/_getting-started → docs/docs/getting-started}/my-first-component.md +5 -14
  148. package/docs/docs/getting-started/start.html +47 -0
  149. package/{src/docs/_getting-started → docs/docs/getting-started}/start.md +1 -13
  150. package/docs/docs/getting-started/theming.html +334 -0
  151. package/docs/docs/index.html +99 -0
  152. package/docs/docs/misc/api-configuration.html +149 -0
  153. package/{src/docs/_misc → docs/docs/misc}/api-configuration.md +10 -12
  154. package/docs/docs/misc/dataProviderKey.html +136 -0
  155. package/{src/docs/_misc → docs/docs/misc}/dataProviderKey.md +4 -4
  156. package/docs/docs/misc/docs-mock-api.html +155 -0
  157. package/{src/docs/_misc → docs/docs/misc}/docs-mock-api.md +12 -13
  158. package/docs/docs/misc/dynamic-path.html +181 -0
  159. package/{src/docs/_misc → docs/docs/misc}/dynamic-path.md +8 -8
  160. package/docs/docs/misc/endpoint.html +51 -0
  161. package/{src/docs/_misc → docs/docs/misc}/endpoint.md +8 -8
  162. package/docs/docs/misc/html-integration.html +45 -0
  163. package/{src/docs/_misc → docs/docs/misc}/html-integration.md +4 -5
  164. package/docs/docs-mock-api-sw.js +58 -223
  165. package/docs/docs-mock-api-sw.js.map +4 -4
  166. package/docs/hubs/decorators.html +443 -0
  167. package/docs/hubs/form-components.html +404 -0
  168. package/docs/hubs/remote-data.html +371 -0
  169. package/docs/img/archive/concorde-001-2cv.webp +0 -0
  170. package/docs/img/archive/concorde-red-arrows-2002-poster.jpg +0 -0
  171. package/docs/img/archive/concorde-red-arrows-2002.webm +0 -0
  172. package/docs/img/archive/credits.json +28 -0
  173. package/docs/img/concorde/plane_01.jpg +0 -0
  174. package/docs/img/concorde/plane_02.jpg +0 -0
  175. package/docs/img/concorde/plane_03.jpg +0 -0
  176. package/docs/img/concorde/plane_04.jpg +0 -0
  177. package/docs/img/concorde/plane_05.jpg +0 -0
  178. package/docs/img/concorde/plane_06.jpg +0 -0
  179. package/docs/img/concorde/plane_07.jpg +0 -0
  180. package/docs/img/concorde/plane_08.jpg +0 -0
  181. package/docs/img/concorde/plane_09.jpg +0 -0
  182. package/docs/img/concorde/plane_10.jpg +0 -0
  183. package/docs/img/concorde/plane_11.jpg +0 -0
  184. package/docs/img/concorde/plane_12.jpg +0 -0
  185. package/docs/img/concorde/plane_13.jpg +0 -0
  186. package/docs/index.html +95 -68
  187. package/docs/index.md +22 -0
  188. package/docs/llms-full.txt +5795 -0
  189. package/docs/llms.txt +106 -0
  190. package/docs/robots.txt +11 -10
  191. package/docs/sitemap.xml +237 -0
  192. package/docs/src/core/components/functional/date/date.md +150 -0
  193. package/docs/src/core/components/functional/fetch/fetch.md +108 -0
  194. package/docs/src/core/components/functional/if/if.md +34 -0
  195. package/docs/src/core/components/functional/jsonata/jsonata.md +61 -0
  196. package/docs/src/core/components/functional/list/list.md +121 -0
  197. package/docs/src/core/components/functional/mix/mix.md +46 -0
  198. package/docs/src/core/components/functional/queue/queue.md +51 -0
  199. package/docs/src/core/components/functional/router/router.md +93 -0
  200. package/docs/src/core/components/functional/sdui/component-catalog.gaps.json +511 -0
  201. package/docs/src/core/components/functional/sdui/component-catalog.json +3103 -0
  202. package/docs/src/core/components/functional/sdui/default-library.json +108 -0
  203. package/docs/src/core/components/functional/sdui/example.json +32 -0
  204. package/docs/src/core/components/functional/sdui/sdui-extension-points.md +94 -0
  205. package/docs/src/core/components/functional/sdui/sdui.md +307 -0
  206. package/docs/src/core/components/functional/states/states.md +112 -0
  207. package/docs/src/core/components/functional/submit/submit.md +106 -0
  208. package/docs/src/core/components/functional/subscriber/subscriber.md +91 -0
  209. package/docs/src/core/components/functional/translation/translation.md +38 -0
  210. package/docs/src/core/components/functional/value/value.md +47 -0
  211. package/docs/src/core/components/ui/alert/alert.md +186 -0
  212. package/docs/src/core/components/ui/alert-messages/alert-messages.md +85 -0
  213. package/docs/src/core/components/ui/badge/badge.md +181 -0
  214. package/docs/src/core/components/ui/button/button.md +216 -0
  215. package/docs/src/core/components/ui/captcha/captcha.md +56 -0
  216. package/docs/src/core/components/ui/card/card.md +215 -0
  217. package/docs/src/core/components/ui/divider/divider.md +126 -0
  218. package/docs/src/core/components/ui/form/checkbox/checkbox.md +125 -0
  219. package/docs/src/core/components/ui/form/fieldset/fieldset.md +161 -0
  220. package/docs/src/core/components/ui/form/form-actions/form-actions.md +98 -0
  221. package/docs/src/core/components/ui/form/form-layout/form-layout.md +109 -0
  222. package/docs/src/core/components/ui/form/input/input.md +142 -0
  223. package/docs/src/core/components/ui/form/radio/radio.md +78 -0
  224. package/docs/src/core/components/ui/form/select/select.md +86 -0
  225. package/docs/src/core/components/ui/form/switch/switch.md +80 -0
  226. package/docs/src/core/components/ui/form/textarea/textarea.md +82 -0
  227. package/docs/src/core/components/ui/group/group.md +77 -0
  228. package/docs/src/core/components/ui/icon/icon.md +214 -0
  229. package/docs/src/core/components/ui/icon/icons.json +1 -0
  230. package/docs/src/core/components/ui/image/image.md +167 -0
  231. package/docs/src/core/components/ui/link/link.md +81 -0
  232. package/docs/src/core/components/ui/loader/loader.md +87 -0
  233. package/docs/src/core/components/ui/menu/menu.md +370 -0
  234. package/docs/src/core/components/ui/modal/modal.md +211 -0
  235. package/docs/src/core/components/ui/pop/pop.md +216 -0
  236. package/docs/src/core/components/ui/progress/progress.md +109 -0
  237. package/docs/src/core/components/ui/table/table.md +267 -0
  238. package/docs/src/core/components/ui/theme/theme.md +97 -0
  239. package/docs/src/core/components/ui/toast/toast.md +147 -0
  240. package/docs/src/core/components/ui/tooltip/tooltip.md +89 -0
  241. package/docs/src/docs/decorators/ancestor-attribute.md +59 -0
  242. package/docs/src/docs/decorators/auto-subscribe.md +40 -0
  243. package/docs/src/docs/decorators/bind.md +77 -0
  244. package/docs/src/docs/decorators/get.md +160 -0
  245. package/docs/src/docs/decorators/handle.md +119 -0
  246. package/docs/src/docs/decorators/on-assign.md +63 -0
  247. package/docs/src/docs/decorators/patch.md +44 -0
  248. package/docs/src/docs/decorators/post.md +134 -0
  249. package/docs/src/docs/decorators/publish.md +56 -0
  250. package/docs/src/docs/decorators/put.md +51 -0
  251. package/docs/src/docs/decorators/subscribe.md +87 -0
  252. package/docs/src/docs/decorators/wait-for-ancestors.md +76 -0
  253. package/docs/src/docs/directives/sub.md +75 -0
  254. package/docs/src/docs/directives/t.md +73 -0
  255. package/docs/src/docs/getting-started/ai-agents.md +76 -0
  256. package/docs/src/docs/getting-started/components.md +5 -0
  257. package/docs/src/docs/getting-started/create-a-component.md +136 -0
  258. package/docs/src/docs/getting-started/dataFlow.md +87 -0
  259. package/docs/src/docs/getting-started/installation.md +36 -0
  260. package/docs/src/docs/getting-started/my-first-component.md +227 -0
  261. package/docs/src/docs/getting-started/start.md +35 -0
  262. package/docs/src/docs/getting-started/theming.md +253 -0
  263. package/docs/src/docs/misc/api-configuration.md +79 -0
  264. package/docs/src/docs/misc/dataProviderKey.md +168 -0
  265. package/docs/src/docs/misc/docs-mock-api.md +62 -0
  266. package/docs/src/docs/misc/dynamic-path.md +71 -0
  267. package/docs/src/docs/misc/endpoint.md +45 -0
  268. package/docs/src/docs/misc/html-integration.md +14 -0
  269. package/docs/src/docs/search/docs-search.json +10287 -0
  270. package/docs/src/tag-list.json +1 -0
  271. package/docs/src/tsconfig-model.json +23 -0
  272. package/docs/src/tsconfig.json +1353 -0
  273. package/index.html +68 -5
  274. package/package.json +1 -1
  275. package/public/docs-mock-api-sw.js +58 -223
  276. package/public/docs-mock-api-sw.js.map +4 -4
  277. package/public/img/concorde/plane_01.jpg +0 -0
  278. package/public/img/concorde/plane_02.jpg +0 -0
  279. package/public/img/concorde/plane_03.jpg +0 -0
  280. package/public/img/concorde/plane_04.jpg +0 -0
  281. package/public/img/concorde/plane_05.jpg +0 -0
  282. package/public/img/concorde/plane_06.jpg +0 -0
  283. package/public/img/concorde/plane_07.jpg +0 -0
  284. package/public/img/concorde/plane_08.jpg +0 -0
  285. package/public/img/concorde/plane_09.jpg +0 -0
  286. package/public/img/concorde/plane_10.jpg +0 -0
  287. package/public/img/concorde/plane_11.jpg +0 -0
  288. package/public/img/concorde/plane_12.jpg +0 -0
  289. package/public/img/concorde/plane_13.jpg +0 -0
  290. package/public/robots.txt +11 -10
  291. package/scripts/docs-markdown-vite-plugin.ts +37 -0
  292. package/scripts/docs-public-url.mjs +50 -0
  293. package/scripts/docs.htaccess +75 -0
  294. package/scripts/generate-crawl-docs.mjs +207 -116
  295. package/scripts/generate-crawl-docs.test.mjs +124 -0
  296. package/scripts/post-build-docs.js +34 -50
  297. package/src/core/components/functional/date/date.md +91 -231
  298. package/src/core/components/functional/fetch/fetch.md +66 -83
  299. package/src/core/components/functional/if/if.md +28 -3
  300. package/src/core/components/functional/jsonata/jsonata.md +42 -37
  301. package/src/core/components/functional/list/list.md +99 -43
  302. package/src/core/components/functional/mix/mix.md +31 -26
  303. package/src/core/components/functional/queue/queue.demo.ts +10 -7
  304. package/src/core/components/functional/queue/queue.md +40 -61
  305. package/src/core/components/functional/router/router.demo.ts +16 -16
  306. package/src/core/components/functional/router/router.md +64 -65
  307. package/src/core/components/functional/sdui/component-catalog.gaps.json +1 -1
  308. package/src/core/components/functional/sdui/component-catalog.json +1 -1
  309. package/src/core/components/functional/sdui/example.json +19 -86
  310. package/src/core/components/functional/sdui/sdui-extension-points.md +1 -1
  311. package/src/core/components/functional/sdui/sdui.md +187 -358
  312. package/src/core/components/functional/states/states.demo.ts +21 -22
  313. package/src/core/components/functional/states/states.md +86 -61
  314. package/src/core/components/functional/states/states.ts +1 -1
  315. package/src/core/components/functional/submit/submit.md +64 -72
  316. package/src/core/components/functional/translation/translation.md +38 -0
  317. package/src/core/components/functional/value/value.md +34 -22
  318. package/src/core/components/ui/alert/alert.md +48 -58
  319. package/src/core/components/ui/badge/badge.md +27 -34
  320. package/src/core/components/ui/button/button.md +139 -106
  321. package/src/core/components/ui/captcha/captcha.md +17 -32
  322. package/src/core/components/ui/card/card.md +6 -6
  323. package/src/core/components/ui/divider/divider.md +8 -11
  324. package/src/core/components/ui/form/checkbox/checkbox.md +90 -42
  325. package/src/core/components/ui/form/fieldset/fieldset.md +31 -75
  326. package/src/core/components/ui/form/form-actions/form-actions.md +14 -16
  327. package/src/core/components/ui/form/form-layout/form-layout.md +19 -29
  328. package/src/core/components/ui/form/input/input.md +95 -95
  329. package/src/core/components/ui/form/radio/radio.md +55 -34
  330. package/src/core/components/ui/form/select/select.md +60 -45
  331. package/src/core/components/ui/form/switch/switch.md +57 -34
  332. package/src/core/components/ui/form/textarea/textarea.md +55 -38
  333. package/src/core/components/ui/group/group.md +35 -33
  334. package/src/core/components/ui/icon/icon.md +4 -4
  335. package/src/core/components/ui/image/image.md +41 -107
  336. package/src/core/components/ui/link/link.md +6 -6
  337. package/src/core/components/ui/loader/loader.md +30 -55
  338. package/src/core/components/ui/menu/menu.md +27 -27
  339. package/src/core/components/ui/modal/modal.md +72 -96
  340. package/src/core/components/ui/pop/pop.md +80 -158
  341. package/src/core/components/ui/progress/progress.md +2 -2
  342. package/src/core/components/ui/table/table.md +91 -255
  343. package/src/core/components/ui/theme/theme.md +11 -36
  344. package/src/core/components/ui/toast/toast.md +48 -117
  345. package/src/core/components/ui/tooltip/tooltip.md +27 -62
  346. package/src/core/utils/LocationHandler.spec.ts +80 -0
  347. package/src/core/utils/LocationHandler.ts +5 -9
  348. package/src/docs/components/docs-demo-sources.ts +55 -140
  349. package/src/docs/components/docs-lit-demo.ts +1 -3
  350. package/src/docs/components/docs-source-link.ts +0 -82
  351. package/src/docs/decorators/ancestor-attribute.md +59 -0
  352. package/src/docs/decorators/auto-subscribe.md +40 -0
  353. package/src/docs/decorators/bind.md +77 -0
  354. package/src/docs/decorators/get.md +160 -0
  355. package/src/docs/decorators/handle.md +119 -0
  356. package/src/docs/decorators/on-assign.md +63 -0
  357. package/src/docs/decorators/patch.md +44 -0
  358. package/src/docs/decorators/post.md +134 -0
  359. package/src/docs/decorators/publish.md +56 -0
  360. package/src/docs/decorators/put.md +51 -0
  361. package/src/docs/decorators/subscribe.md +87 -0
  362. package/src/docs/decorators/wait-for-ancestors.md +76 -0
  363. package/src/docs/directives/sub.md +75 -0
  364. package/src/docs/directives/t.md +73 -0
  365. package/src/docs/docs-location.spec.ts +46 -0
  366. package/src/docs/docs-location.ts +123 -32
  367. package/src/docs/docs.ts +1 -2
  368. package/src/docs/example/decorators-demo-bind-demos.ts +81 -116
  369. package/src/docs/example/decorators-demo-geo.ts +30 -19
  370. package/src/docs/example/decorators-demo-post.ts +88 -186
  371. package/src/docs/example/decorators-demo-subscribe-publish-get-demos.ts +165 -268
  372. package/src/docs/example/decorators-demo.ts +85 -98
  373. package/src/docs/example/docs-api-config-demos.ts +19 -20
  374. package/src/docs/example/docs-flight-demos.ts +147 -0
  375. package/src/docs/example/docs-jsonata-demos.ts +52 -52
  376. package/src/docs/example/docs-list-demos.ts +43 -123
  377. package/src/docs/example/docs-provider-keys.ts +21 -28
  378. package/src/docs/example/docs-queue-demos.ts +37 -77
  379. package/src/docs/example/docs-router-demos.ts +20 -25
  380. package/src/docs/example/docs-submit-demos.ts +48 -48
  381. package/src/docs/example/docs-toggle-demos.ts +4 -3
  382. package/src/docs/getting-started/ai-agents.md +76 -0
  383. package/src/docs/getting-started/components.md +5 -0
  384. package/src/docs/getting-started/create-a-component.md +136 -0
  385. package/src/docs/getting-started/dataFlow.md +87 -0
  386. package/src/docs/getting-started/installation.md +36 -0
  387. package/src/docs/getting-started/my-first-component.md +227 -0
  388. package/src/docs/getting-started/start.md +35 -0
  389. package/src/docs/getting-started/theming.md +253 -0
  390. package/src/docs/header/header.ts +11 -6
  391. package/src/docs/home/catalog.ts +1 -1
  392. package/src/docs/home/home.ts +17 -10
  393. package/src/docs/layout.ts +12 -13
  394. package/src/docs/misc/api-configuration.md +79 -0
  395. package/src/docs/misc/dataProviderKey.md +168 -0
  396. package/src/docs/misc/docs-mock-api.md +62 -0
  397. package/src/docs/misc/dynamic-path.md +71 -0
  398. package/src/docs/misc/endpoint.md +45 -0
  399. package/src/docs/misc/html-integration.md +14 -0
  400. package/src/docs/mock-api/api-config-mock.ts +5 -0
  401. package/src/docs/mock-api/fixtures.ts +0 -278
  402. package/src/docs/mock-api/flights.ts +89 -0
  403. package/src/docs/mock-api/router.ts +3 -4
  404. package/src/docs/mock-api/urls.ts +1 -2
  405. package/src/docs/navigation/navigation.ts +82 -103
  406. package/src/docs/navigation/toc.ts +7 -4
  407. package/src/docs/search/docs-search.json +2845 -5110
  408. package/src/docs/search/markdown-renderer.ts +25 -7
  409. package/src/docs/search/page.ts +9 -6
  410. package/src/docs/search/search.ts +154 -122
  411. package/vite.config.mts +11 -2
  412. package/.agents/skills/concorde-component-docs/SKILL.md +0 -194
  413. package/docs/assets/index-CD4WyL6o.css +0 -1
  414. package/src/core/components/ui/form/input-autocomplete/input-autocomplete.md +0 -29
  415. package/src/docs/_core-concept/overview.md +0 -57
  416. package/src/docs/_core-concept/subscriber.md +0 -75
  417. package/src/docs/_decorators/ancestor-attribute.md +0 -128
  418. package/src/docs/_decorators/auto-subscribe.md +0 -202
  419. package/src/docs/_decorators/bind.md +0 -167
  420. package/src/docs/_decorators/get.md +0 -162
  421. package/src/docs/_decorators/handle.md +0 -175
  422. package/src/docs/_decorators/on-assign.md +0 -390
  423. package/src/docs/_decorators/patch.md +0 -70
  424. package/src/docs/_decorators/post.md +0 -146
  425. package/src/docs/_decorators/publish.md +0 -55
  426. package/src/docs/_decorators/put.md +0 -70
  427. package/src/docs/_decorators/subscribe.md +0 -100
  428. package/src/docs/_decorators/wait-for-ancestors.md +0 -163
  429. package/src/docs/_directives/sub.md +0 -91
  430. package/src/docs/_getting-started/concorde-manual-install.md +0 -133
  431. package/src/docs/_getting-started/concorde-outside.md +0 -33
  432. package/src/docs/_getting-started/my-first-subscriber.md +0 -120
  433. package/src/docs/_getting-started/pubsub.md +0 -37
  434. package/src/docs/_misc/formelement-subscriber-removal.md +0 -115
  435. package/src/docs/example/docs-input-autocomplete-demos.ts +0 -110
  436. package/src/docs/example/docs-joke-demos.ts +0 -297
  437. /package/{src/docs/_getting-started → docs/docs/getting-started}/components.md +0 -0
  438. /package/{src/docs/_getting-started → docs/docs/getting-started}/theming.md +0 -0
@@ -2,143 +2,102 @@ import { html, LitElement, nothing } from "lit";
2
2
  import { customElement, property, state } from "lit/decorators.js";
3
3
  import { post, publish, type ApiResult } from "@supersoniks/concorde/decorators";
4
4
  import type { APIConfiguration } from "@supersoniks/concorde/core/utils/api";
5
- import { DataProviderKey } from "@supersoniks/concorde/core/utils/dataProviderKey";
6
- import { Endpoint } from "@supersoniks/concorde/core/utils/endpoint";
7
- import {
8
- dp,
9
- set,
10
- } from "@supersoniks/concorde/core/utils/PublisherProxy";
5
+ import { DataProviderKey } from "@supersoniks/concorde/dataProviderKey";
6
+ import { Endpoint } from "@supersoniks/concorde/endpoint";
7
+ import { dp, set } from "@supersoniks/concorde/core/utils/PublisherProxy";
11
8
  import { DOCS_MOCK_REQRES_SERVICE } from "../mock-api/urls";
12
9
  import { tailwind } from "../tailwind";
13
10
  import "./decorators-demo-init";
14
11
 
15
- type RegisterResult = {
16
- id?: number;
17
- token?: string;
18
- email?: string;
19
- };
20
-
21
- type RegisterRequest = {
22
- email: string;
23
- password: string;
24
- };
12
+ type SignUpResult = { id?: number; token?: string; email?: string };
13
+ type SignUpRequest = { email: string; password: string };
14
+ type CheckInResult = { ok?: boolean; sessionId?: string; echo?: { seat?: string } };
15
+ type CheckInRequest = { seat: string };
25
16
 
26
- const registerPostEndpoint = new Endpoint<RegisterResult>("api/register");
17
+ /** Mock route: POST /docs-mock-api/api/register (email + password required). */
18
+ const signUpEndpoint = new Endpoint<SignUpResult>("api/register");
27
19
 
28
- type SessionSyncResult = {
29
- ok?: boolean;
30
- sessionId?: string;
31
- serverTime?: number;
32
- echo?: { note?: string };
33
- };
34
-
35
- type SessionSyncRequest = {
36
- note: string;
37
- };
20
+ /** Mock route: POST /docs-mock-api/api/sessions/:id/sync (echoes the body). */
21
+ const checkInEndpoint = new Endpoint<CheckInResult, { flight: string }>(
22
+ "api/sessions/${flight}/sync",
23
+ );
38
24
 
39
- const sessionSyncPostEndpoint = new Endpoint<
40
- SessionSyncResult,
41
- { sessionId: string }
42
- >("api/sessions/${sessionId}/sync");
25
+ export const docsDemoReqresApiConfigurationKey =
26
+ new DataProviderKey<APIConfiguration>("docsDemoReqresApiConfiguration");
43
27
 
44
- const reqresApiConfiguration: APIConfiguration = {
28
+ set(docsDemoReqresApiConfigurationKey, {
45
29
  serviceURL: DOCS_MOCK_REQRES_SERVICE,
46
30
  token: null,
47
31
  userName: null,
48
32
  password: null,
49
33
  authToken: null,
50
34
  tokenProvider: null,
51
- };
52
-
53
- export const docsDemoReqresApiConfigurationKey =
54
- new DataProviderKey<APIConfiguration>("docsDemoReqresApiConfiguration");
35
+ });
55
36
 
56
- set(docsDemoReqresApiConfigurationKey, reqresApiConfiguration);
37
+ const ADA: SignUpRequest = {
38
+ email: "ada.lindqvist@example.com",
39
+ password: "concorde",
40
+ };
41
+ const LEO: SignUpRequest = {
42
+ email: "leo.marchand@example.com",
43
+ password: "mach2",
44
+ };
57
45
 
58
- export const docsDemoPostRequestKey = new DataProviderKey<RegisterRequest>(
46
+ export const docsDemoPostRequestKey = new DataProviderKey<SignUpRequest>(
59
47
  "docsDemoPostRequest",
60
48
  );
61
- /** Clé body distincte — la page doc monte les deux démos live en même temps. */
62
- export const docsDemoPostPublishRequestKey = new DataProviderKey<RegisterRequest>(
49
+ /** Separate body: several live demos can be mounted on the same page. */
50
+ export const docsDemoPostPublishRequestKey = new DataProviderKey<SignUpRequest>(
63
51
  "docsDemoPostPublishRequest",
64
52
  );
65
- export const docsDemoPostTriggerKey = new DataProviderKey<number>(
66
- "docsDemoPostTrigger",
67
- );
68
- export const docsDemoPostMethodRequestKey = new DataProviderKey<RegisterRequest>(
53
+ export const docsDemoPostMethodRequestKey = new DataProviderKey<SignUpRequest>(
69
54
  "docsDemoPostMethodRequest",
70
55
  );
71
56
  export const docsDemoPostMethodTriggerKey = new DataProviderKey<number>(
72
57
  "docsDemoPostMethodTrigger",
73
58
  );
74
- export const docsDemoPostDynamicRequestKey = new DataProviderKey<SessionSyncRequest>(
59
+ export const docsDemoPostDynamicRequestKey = new DataProviderKey<CheckInRequest>(
75
60
  "docsDemoPostDynamicRequest",
76
61
  );
77
62
 
63
+ const crewSignUp = post(
64
+ signUpEndpoint,
65
+ docsDemoPostRequestKey,
66
+ docsDemoReqresApiConfigurationKey,
67
+ );
68
+
78
69
  @customElement("demo-api-post")
79
70
  export class DemoApiPost extends LitElement {
80
71
  static styles = [tailwind];
81
72
 
82
- @post(
83
- registerPostEndpoint,
84
- docsDemoPostRequestKey,
85
- docsDemoReqresApiConfigurationKey,
86
- { triggerKey: docsDemoPostTriggerKey },
87
- )
73
+ @crewSignUp
88
74
  @state()
89
- payload?: ApiResult<RegisterResult> | null;
75
+ payload?: ApiResult<SignUpResult> | null;
90
76
 
91
77
  connectedCallback() {
92
78
  super.connectedCallback();
93
- set(docsDemoPostRequestKey, {
94
- email: "demo@concorde.local",
95
- password: "demo-password",
96
- });
97
- set(docsDemoPostTriggerKey, 0);
98
- }
99
-
100
- private send() {
101
- set(docsDemoPostRequestKey, {
102
- email: "demo@concorde.local",
103
- password: "demo-password",
104
- });
105
- }
106
-
107
- private resendSameBody() {
108
- dp(docsDemoPostTriggerKey).invalidate();
79
+ set(docsDemoPostRequestKey, ADA);
109
80
  }
110
81
 
111
82
  render() {
112
83
  const result = this.payload?.result;
113
- const status = this.payload?.response?.status;
114
84
  return html`
115
- <div class="space-y-4">
116
- <p class="text-sm text-neutral-600 dark:text-neutral-400">
117
- <code>@post</code> vers le mock
118
- <code>POST /docs-mock-api/api/register</code> — body lu depuis
119
- <code>docsDemoPostRequest</code>.
120
- </p>
85
+ <div class="space-y-3">
121
86
  <div class="flex flex-wrap gap-2">
122
- <sonic-button @click=${this.send}>Set body &amp; POST</sonic-button>
123
- <sonic-button variant="secondary" @click=${this.resendSameBody}>
124
- invalidate trigger (re-POST)
87
+ <sonic-button @click=${() => set(docsDemoPostRequestKey, ADA)}>
88
+ Sign up Ada Lindqvist
89
+ </sonic-button>
90
+ <sonic-button @click=${() => set(docsDemoPostRequestKey, LEO)}>
91
+ Sign up Captain Leo Marchand
92
+ </sonic-button>
93
+ <sonic-button variant="outline" @click=${() => crewSignUp.send(this)}>
94
+ Send again
125
95
  </sonic-button>
126
96
  </div>
127
- <div
128
- class="rounded border border-neutral-200 dark:border-neutral-700 p-3 text-sm space-y-1"
129
- >
130
- <p>HTTP status: <strong>${status ?? "—"}</strong></p>
131
- ${result?.id != null
132
- ? html`<p>id: <span class="font-mono">${result.id}</span></p>`
133
- : nothing}
134
- ${result?.email
135
- ? html`<p>email: <span class="font-mono">${result.email}</span></p>`
136
- : nothing}
137
- ${result?.token
138
- ? html`<p>
139
- token:
140
- <span class="font-mono break-all">${result.token}</span>
141
- </p>`
97
+ <div class="rounded border p-3 text-sm">
98
+ <p>HTTP status: <strong>${this.payload?.response?.status ?? "—"}</strong></p>
99
+ ${result
100
+ ? html`<p>Crew member #${result.id}: <strong>${result.email}</strong></p>`
142
101
  : nothing}
143
102
  </div>
144
103
  </div>
@@ -151,60 +110,32 @@ export class DemoApiPostMethod extends LitElement {
151
110
  static styles = [tailwind];
152
111
 
153
112
  @state()
154
- private payload?: ApiResult<RegisterResult>;
113
+ private lastEmail = "—";
155
114
 
156
115
  connectedCallback() {
157
116
  super.connectedCallback();
158
- set(docsDemoPostMethodRequestKey, {
159
- email: "method@concorde.local",
160
- password: "method-password",
161
- });
162
- set(docsDemoPostMethodTriggerKey, 0);
117
+ set(docsDemoPostMethodRequestKey, LEO);
163
118
  }
164
119
 
165
120
  @post(
166
- registerPostEndpoint,
121
+ signUpEndpoint,
167
122
  docsDemoPostMethodRequestKey,
168
123
  docsDemoReqresApiConfigurationKey,
169
124
  { triggerKey: docsDemoPostMethodTriggerKey },
170
125
  )
171
- handlePayload(payload?: ApiResult<RegisterResult>) {
172
- this.payload = payload;
173
- }
174
-
175
- private updateBody() {
176
- set(docsDemoPostMethodRequestKey, {
177
- email: `method-${Date.now()}@concorde.local`,
178
- password: "method-password",
179
- });
180
- }
181
-
182
- private resend() {
183
- dp(docsDemoPostMethodTriggerKey).invalidate();
126
+ onSignedUp(payload?: ApiResult<SignUpResult>) {
127
+ this.lastEmail = payload?.result?.email ?? "—";
184
128
  }
185
129
 
186
130
  render() {
187
- const result = this.payload?.result;
188
131
  return html`
189
- <div class="space-y-3">
190
- <div class="flex flex-wrap items-center gap-2">
191
- <span class="text-sm font-medium">✉️ POST function mode</span>
192
- <sonic-button size="sm" @click=${this.updateBody}>
193
- Update body &amp; POST
194
- </sonic-button>
195
- <sonic-button size="sm" variant="secondary" @click=${this.resend}>
196
- Invalidate trigger
197
- </sonic-button>
198
- </div>
199
- <p class="text-sm text-neutral-600 dark:text-neutral-400">
200
- The <code>@post</code> decorator calls
201
- <code>handlePayload</code> with the complete API payload.
202
- </p>
203
- <p class="text-xs text-neutral-500">
204
- HTTP status:
205
- <strong>${this.payload?.response?.status ?? "loading…"}</strong>
206
- · email: <strong>${result?.email ?? "—"}</strong>
207
- </p>
132
+ <div class="flex flex-wrap items-center gap-2">
133
+ <sonic-button
134
+ @click=${() => dp(docsDemoPostMethodTriggerKey).invalidate()}
135
+ >
136
+ Invalidate trigger
137
+ </sonic-button>
138
+ <span class="text-sm">Last sign-up: <strong>${this.lastEmail}</strong></span>
208
139
  </div>
209
140
  `;
210
141
  }
@@ -214,62 +145,43 @@ export class DemoApiPostMethod extends LitElement {
214
145
  export class DemoApiPostDynamic extends LitElement {
215
146
  static styles = [tailwind];
216
147
 
217
- @property({ type: String }) sessionId = "alpha";
148
+ @property({ type: String }) flight = "CN001";
218
149
 
219
150
  @post(
220
- sessionSyncPostEndpoint,
151
+ checkInEndpoint,
221
152
  docsDemoPostDynamicRequestKey,
222
153
  docsDemoReqresApiConfigurationKey,
223
154
  )
224
155
  @state()
225
- payload?: ApiResult<SessionSyncResult> | null;
156
+ payload?: ApiResult<CheckInResult> | null;
226
157
 
227
158
  connectedCallback() {
228
159
  super.connectedCallback();
229
- set(docsDemoPostDynamicRequestKey, { note: "docs @post dynamic path" });
230
- }
231
-
232
- private setSession(sessionId: string) {
233
- this.sessionId = sessionId;
160
+ set(docsDemoPostDynamicRequestKey, { seat: "1A" });
234
161
  }
235
162
 
236
163
  render() {
237
- const result = this.payload?.result;
238
- const status = this.payload?.response?.status;
239
- const requestUrl = this.payload?.request?.url ?? "";
240
164
  return html`
241
- <div class="space-y-4">
242
- <p class="text-sm text-neutral-600 dark:text-neutral-400">
243
- <code>@post</code> vers
244
- <code>api/sessions/${"${sessionId}"}/sync</code> — changer
245
- <code>sessionId</code> sur l'hôte relance le POST (même body).
246
- </p>
247
- <div class="flex flex-wrap items-center gap-2">
248
- <span class="text-sm text-neutral-500">sessionId :</span>
249
- ${(["alpha", "beta", "gamma"] as const).map(
250
- (id) => html`
165
+ <div class="space-y-3">
166
+ <div class="flex flex-wrap gap-2">
167
+ ${["CN001", "CN002", "CN003"].map(
168
+ (flight) => html`
251
169
  <sonic-button
252
- variant=${this.sessionId === id ? "primary" : "secondary"}
253
170
  size="sm"
254
- @click=${() => this.setSession(id)}
171
+ type=${this.flight === flight ? "primary" : "default"}
172
+ @click=${() => (this.flight = flight)}
255
173
  >
256
- ${id}
174
+ ${flight}
257
175
  </sonic-button>
258
176
  `,
259
177
  )}
260
178
  </div>
261
- <div
262
- class="rounded border border-neutral-200 dark:border-neutral-700 p-3 text-sm space-y-1"
263
- >
264
- <p>HTTP status: <strong>${status ?? "—"}</strong></p>
179
+ <div class="rounded border p-3 text-sm">
265
180
  <p>
266
- Dernier path :
267
- <span class="font-mono text-xs break-all">${requestUrl || "—"}</span>
268
- </p>
269
- <p>
270
- Réponse <code>sessionId</code> :
271
- <strong class="font-mono">${result?.sessionId ?? "—"}</strong>
181
+ Request:
182
+ <span class="font-mono text-xs">${this.payload?.request?.url ?? "—"}</span>
272
183
  </p>
184
+ <p>Checked in on: <strong>${this.payload?.result?.sessionId ?? "—"}</strong></p>
273
185
  </div>
274
186
  </div>
275
187
  `;
@@ -281,39 +193,29 @@ export class DemoApiPostPublish extends LitElement {
281
193
  static styles = [tailwind];
282
194
 
283
195
  @post(
284
- registerPostEndpoint,
196
+ signUpEndpoint,
285
197
  docsDemoPostPublishRequestKey,
286
198
  docsDemoReqresApiConfigurationKey,
287
199
  )
288
200
  @publish(
289
- registerPostEndpoint.getDataProviderKey() as DataProviderKey<
290
- ApiResult<RegisterResult>
201
+ signUpEndpoint.getDataProviderKey() as DataProviderKey<
202
+ ApiResult<SignUpResult>
291
203
  >,
292
204
  )
293
205
  @state()
294
- payload?: ApiResult<RegisterResult> | null;
206
+ payload?: ApiResult<SignUpResult> | null;
295
207
 
296
208
  connectedCallback() {
297
209
  super.connectedCallback();
298
- set(docsDemoPostPublishRequestKey, {
299
- email: "publish@concorde.local",
300
- password: "secret",
301
- });
210
+ set(docsDemoPostPublishRequestKey, ADA);
302
211
  }
303
212
 
304
213
  render() {
305
- const email = this.payload?.result?.email;
306
214
  return html`
307
- <div class="space-y-3 text-sm">
308
- <p class="text-neutral-600 dark:text-neutral-400">
309
- <code>@post</code> + <code>@publish</code> sur le même champ — même
310
- pattern que <code>@get</code> + <code>@publish</code>.
311
- </p>
312
- <p>
313
- Result email:
314
- <strong class="font-mono">${email ?? "—"}</strong>
315
- </p>
316
- </div>
215
+ <p class="text-sm">
216
+ Published sign-up:
217
+ <strong>${this.payload?.result?.email ?? "—"}</strong>
218
+ </p>
317
219
  `;
318
220
  }
319
221
  }