@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
@@ -97,281 +97,3 @@ export const DOCS_GEO_COMMUNES: GeoCommuneRow[] = [
97
97
  { nom: "Montpellier", code: "34172" },
98
98
  { nom: "Rennes", code: "35238" },
99
99
  ];
100
-
101
- /** JokeAPI-style content flags (checkbox / radio / switch blacklist demos). */
102
- export type DocsJokeFlagKey =
103
- | "nsfw"
104
- | "religious"
105
- | "political"
106
- | "racist"
107
- | "sexist"
108
- | "explicit";
109
-
110
- /** Forme proche de JokeAPI v2 (`key="jokes"` sur sonic-queue / list). */
111
- export type DocsJokeItem = {
112
- categories: string[];
113
- createdAt: string;
114
- id: number;
115
- joke: string;
116
- lang: "fr" | "en";
117
- flags: Record<DocsJokeFlagKey, boolean>;
118
- safe: boolean;
119
- type: string;
120
- setup?: string;
121
- delivery?: string;
122
- };
123
-
124
- const jokeFlags = (
125
- partial: Partial<Record<DocsJokeFlagKey, boolean>> = {},
126
- ): Record<DocsJokeFlagKey, boolean> => ({
127
- nsfw: false,
128
- religious: false,
129
- political: false,
130
- racist: false,
131
- sexist: false,
132
- explicit: false,
133
- ...partial,
134
- });
135
-
136
- export type DocsJokeApiResponse = {
137
- error: boolean;
138
- amount: number;
139
- jokes: DocsJokeItem[];
140
- };
141
-
142
- const SAMPLE_JOKES: DocsJokeItem[] = [
143
- {
144
- categories: ["Programming"],
145
- createdAt: "2020-01-01 00:00:00",
146
- id: 1,
147
- lang: "en",
148
- joke: "Why do programmers prefer dark mode? Because light attracts bugs.",
149
- flags: jokeFlags(),
150
- safe: true,
151
- type: "single",
152
- },
153
- {
154
- categories: ["Misc"],
155
- createdAt: "2020-01-02 00:00:00",
156
- id: 2,
157
- lang: "en",
158
- joke: "I told my computer I needed a break — it said: no problem, I'll go to sleep.",
159
- flags: jokeFlags({ nsfw: true }),
160
- safe: false,
161
- type: "single",
162
- },
163
- {
164
- categories: ["Pun"],
165
- createdAt: "2020-01-03 00:00:00",
166
- id: 3,
167
- lang: "en",
168
- joke: "Concorde docs run offline: even the API is a local joke.",
169
- flags: jokeFlags(),
170
- safe: true,
171
- type: "single",
172
- },
173
- {
174
- categories: ["Animals"],
175
- createdAt: "2020-01-04 00:00:00",
176
- id: 4,
177
- lang: "en",
178
- joke: "The dog ate my homework and my pull request.",
179
- flags: jokeFlags({ political: true }),
180
- safe: true,
181
- type: "single",
182
- },
183
- {
184
- categories: ["Animals", "Pun"],
185
- createdAt: "2020-01-05 00:00:00",
186
- id: 5,
187
- lang: "fr",
188
- joke: "Quel est le chien préféré des développeurs ? Le labrador Retriever.",
189
- flags: jokeFlags(),
190
- safe: true,
191
- type: "single",
192
- },
193
- {
194
- categories: ["Animals"],
195
- createdAt: "2020-01-06 00:00:00",
196
- id: 6,
197
- lang: "fr",
198
- joke: "Un chat et un chien discutent de TypeScript : le chien dit « woof », le chat compile.",
199
- flags: jokeFlags({ racist: true }),
200
- safe: false,
201
- type: "single",
202
- },
203
- {
204
- categories: ["Misc"],
205
- createdAt: "2020-01-07 00:00:00",
206
- id: 7,
207
- lang: "fr",
208
- joke: "Pourquoi les blagues offline sont-elles fiables ? Parce qu'elles passent par le Service Worker.",
209
- flags: jokeFlags({ religious: true }),
210
- safe: true,
211
- type: "single",
212
- },
213
- {
214
- categories: ["Programming"],
215
- createdAt: "2020-01-08 00:00:00",
216
- id: 8,
217
- lang: "fr",
218
- joke: "Mon compilateur et mon chien : tous deux ignorent mes commandes jusqu'au build.",
219
- flags: jokeFlags({ sexist: true }),
220
- safe: false,
221
- type: "single",
222
- },
223
- {
224
- categories: ["Misc"],
225
- createdAt: "2020-01-09 00:00:00",
226
- id: 9,
227
- lang: "en",
228
- joke: "A SQL query walks into a bar, walks up to two tables and asks: Can I join you?",
229
- flags: jokeFlags({ explicit: true }),
230
- safe: false,
231
- type: "single",
232
- },
233
- {
234
- categories: ["Pun"],
235
- createdAt: "2020-01-10 00:00:00",
236
- id: 10,
237
- lang: "fr",
238
- joke: "J'ai cherché « chien » dans la doc : le mock API a répondu.",
239
- flags: jokeFlags(),
240
- safe: true,
241
- type: "single",
242
- },
243
- {
244
- categories: ["Misc"],
245
- createdAt: "2020-01-11 00:00:00",
246
- id: 11,
247
- lang: "en",
248
- joke: "There are only two hard things in Computer Science: cache invalidation and naming things.",
249
- flags: jokeFlags({ political: true, explicit: true }),
250
- safe: false,
251
- type: "single",
252
- },
253
- {
254
- categories: ["Animals"],
255
- createdAt: "2020-01-12 00:00:00",
256
- id: 12,
257
- lang: "fr",
258
- joke: "Le golden retriever a récupéré la donnée du publisher.",
259
- flags: jokeFlags({ racist: true, sexist: true }),
260
- safe: false,
261
- type: "two-liner",
262
- setup: "Pourquoi le chien aime Concorde ?",
263
- delivery: "Parce qu'il sait fetch.",
264
- },
265
- {
266
- categories: ["Misc"],
267
- createdAt: "2020-01-13 00:00:00",
268
- id: 13,
269
- lang: "en",
270
- joke: "My code and my conscience: both have too many warnings.",
271
- flags: jokeFlags(),
272
- safe: true,
273
- type: "single",
274
- },
275
- {
276
- categories: ["Programming"],
277
- createdAt: "2020-01-14 00:00:00",
278
- id: 14,
279
- lang: "en",
280
- joke: "Git blame is just a mirror.",
281
- flags: jokeFlags({ religious: true, political: true }),
282
- safe: false,
283
- type: "single",
284
- },
285
- ];
286
-
287
- /** `blacklistFlags` from queue filter form (comma-separated or repeated param). */
288
- export function parseBlacklistFlags(url: URL): DocsJokeFlagKey[] {
289
- const keys = new Set<DocsJokeFlagKey>();
290
- const valid: DocsJokeFlagKey[] = [
291
- "nsfw",
292
- "religious",
293
- "political",
294
- "racist",
295
- "sexist",
296
- "explicit",
297
- ];
298
- const add = (raw: string) => {
299
- raw
300
- .split(",")
301
- .map((s) => s.trim().toLowerCase())
302
- .forEach((part) => {
303
- if (valid.includes(part as DocsJokeFlagKey)) keys.add(part as DocsJokeFlagKey);
304
- });
305
- };
306
- url.searchParams.getAll("blacklistFlags").forEach(add);
307
- const single = url.searchParams.get("blacklistFlags");
308
- if (single) add(single);
309
- return [...keys];
310
- }
311
-
312
- /** Exclude jokes that match any blacklisted flag (JokeAPI-style). */
313
- export function applyJokeBlacklist(
314
- jokes: DocsJokeItem[],
315
- blacklist: DocsJokeFlagKey[],
316
- ): DocsJokeItem[] {
317
- if (!blacklist.length) return jokes;
318
- return jokes.filter(
319
- (j) => !blacklist.some((flag) => j.flags[flag] === true),
320
- );
321
- }
322
-
323
- /** Filtre doc joke queue (`contains`, `lang`, `blacklistFlags` via `dataFilterProvider`). */
324
- export function filterDocsJokes(
325
- jokes: DocsJokeItem[],
326
- url: URL,
327
- ): DocsJokeItem[] {
328
- let pool = jokes;
329
- const contains = url.searchParams.get("contains")?.trim().toLowerCase();
330
- if (contains) {
331
- pool = pool.filter((j) => {
332
- const haystack = [j.joke, j.setup, j.delivery, ...j.categories]
333
- .filter(Boolean)
334
- .join(" ")
335
- .toLowerCase();
336
- return haystack.includes(contains);
337
- });
338
- }
339
- const lang = url.searchParams.get("lang")?.trim().toLowerCase();
340
- if (lang === "fr" || lang === "en") {
341
- pool = pool.filter((j) => j.lang === lang);
342
- }
343
- pool = applyJokeBlacklist(pool, parseBlacklistFlags(url));
344
- return pool;
345
- }
346
-
347
- /**
348
- * Réponse type JokeAPI v2.
349
- * - `amount` : taille du lot si pas de `offset`
350
- * - `offset` + `limit` / `per_page` : pagination (sonic-queue lazy)
351
- * - `contains`, `lang`, `blacklistFlags` : filtres formulaire (queue « Remove following jokes »)
352
- */
353
- export function buildJokeApiResponse(url: URL): DocsJokeApiResponse {
354
- const pool = filterDocsJokes(SAMPLE_JOKES, url);
355
- const amount = Math.max(
356
- 1,
357
- parseInt(url.searchParams.get("amount") || "10", 10),
358
- );
359
- const hasOffset = url.searchParams.has("offset");
360
- const limit = Math.max(
361
- 1,
362
- parseInt(
363
- url.searchParams.get("limit") ||
364
- url.searchParams.get("per_page") ||
365
- String(amount),
366
- 10,
367
- ),
368
- );
369
- const offset = Math.max(0, parseInt(url.searchParams.get("offset") || "0", 10));
370
- const start = hasOffset ? offset : 0;
371
- const count = hasOffset ? limit : amount;
372
- const jokes = pool.slice(start, start + count).map((j, i) => ({
373
- ...j,
374
- id: start + i + 1,
375
- }));
376
- return { error: false, amount: jokes.length, jokes };
377
- }
@@ -0,0 +1,89 @@
1
+ /** Fictional flight board for list / queue filter demos (`key="flights"`). */
2
+ export type DocsFlightStatus =
3
+ | "on-time"
4
+ | "boarding"
5
+ | "delayed"
6
+ | "landed"
7
+ | "cancelled";
8
+
9
+ export type DocsFlight = {
10
+ id: number;
11
+ code: string;
12
+ direction: "departures" | "arrivals";
13
+ airport: string;
14
+ city: string;
15
+ time: string;
16
+ gate: string;
17
+ status: DocsFlightStatus;
18
+ };
19
+
20
+ const row = (
21
+ code: string,
22
+ direction: DocsFlight["direction"],
23
+ airport: string,
24
+ city: string,
25
+ time: string,
26
+ gate: string,
27
+ status: DocsFlightStatus,
28
+ ): Omit<DocsFlight, "id"> => ({
29
+ code,
30
+ direction,
31
+ airport,
32
+ city,
33
+ time,
34
+ gate,
35
+ status,
36
+ });
37
+
38
+ const FLIGHTS: Omit<DocsFlight, "id">[] = [
39
+ row("CN 001", "departures", "JFK", "New York", "08:15", "B12", "boarding"),
40
+ row("CN 014", "departures", "LHR", "London", "08:40", "A03", "on-time"),
41
+ row("CN 102", "departures", "GIG", "Rio de Janeiro", "09:05", "C21", "delayed"),
42
+ row("CN 220", "departures", "DKR", "Dakar", "09:30", "C07", "on-time"),
43
+ row("CN 305", "departures", "IAD", "Washington", "10:10", "B04", "cancelled"),
44
+ row("CN 412", "departures", "BAH", "Bahrain", "10:45", "D02", "delayed"),
45
+ row("CN 518", "departures", "SIN", "Singapore", "11:20", "D14", "on-time"),
46
+ row("CN 633", "departures", "YUL", "Montreal", "12:00", "A11", "on-time"),
47
+ row("CN 002", "arrivals", "JFK", "New York", "07:50", "B10", "landed"),
48
+ row("CN 015", "arrivals", "LHR", "London", "08:25", "A05", "landed"),
49
+ row("CN 103", "arrivals", "GIG", "Rio de Janeiro", "09:15", "C20", "delayed"),
50
+ row("CN 221", "arrivals", "DKR", "Dakar", "09:55", "C08", "on-time"),
51
+ row("CN 306", "arrivals", "IAD", "Washington", "10:35", "B06", "on-time"),
52
+ row("CN 413", "arrivals", "BAH", "Bahrain", "11:05", "D03", "cancelled"),
53
+ row("CN 519", "arrivals", "SIN", "Singapore", "11:40", "D15", "delayed"),
54
+ row("CN 634", "arrivals", "YUL", "Montreal", "12:30", "A12", "on-time"),
55
+ ];
56
+
57
+ /**
58
+ * `GET /flights` — filters:
59
+ * - `direction`: `departures` · `arrivals`
60
+ * - `q`: substring on code / city / airport
61
+ * - `status`: comma-separated statuses to keep (`all` or empty = no filter)
62
+ * - `offset` + `limit`: pagination for sonic-queue
63
+ */
64
+ export function buildFlightsResponse(url: URL): { flights: DocsFlight[] } {
65
+ const p = url.searchParams;
66
+ let pool = FLIGHTS.map((f, i) => ({ ...f, id: i + 1 }));
67
+
68
+ const direction = p.get("direction");
69
+ if (direction === "departures" || direction === "arrivals") {
70
+ pool = pool.filter((f) => f.direction === direction);
71
+ }
72
+ const q = p.get("q")?.trim().toLowerCase();
73
+ if (q) {
74
+ pool = pool.filter((f) =>
75
+ [f.code, f.city, f.airport].join(" ").toLowerCase().includes(q),
76
+ );
77
+ }
78
+ const statuses = (p.get("status") || "")
79
+ .split(",")
80
+ .map((s) => s.trim())
81
+ .filter((s) => s && s !== "all");
82
+ if (statuses.length) {
83
+ pool = pool.filter((f) => statuses.includes(f.status));
84
+ }
85
+
86
+ const offset = Math.max(0, parseInt(p.get("offset") || "0", 10));
87
+ const limit = Math.max(1, parseInt(p.get("limit") || "20", 10));
88
+ return { flights: pool.slice(offset, offset + limit) };
89
+ }
@@ -1,8 +1,8 @@
1
1
  import { handleApiConfigMockRequest } from "./api-config-mock";
2
+ import { buildFlightsResponse } from "./flights";
2
3
  import {
3
4
  DOCS_GEO_COMMUNES,
4
5
  DOCS_REQRES_USERS,
5
- buildJokeApiResponse,
6
6
  filterDocsUsers,
7
7
  type GeoCommuneRow,
8
8
  type ReqresUserResponse,
@@ -291,9 +291,8 @@ export async function handleDocsMockApiRequest(
291
291
  });
292
292
  }
293
293
 
294
- const jokeMatch = subPath.match(/^\/jokes\/joke\/([^/]+)$/);
295
- if (jokeMatch) {
296
- return json(buildJokeApiResponse(url));
294
+ if (subPath === "/flights") {
295
+ return json(buildFlightsResponse(url));
297
296
  }
298
297
 
299
298
  return json({ error: "Not found", path: subPath }, { status: 404 });
@@ -7,5 +7,4 @@ export const DOCS_MOCK_REQRES_SERVICE = DOCS_MOCK_API_BASE;
7
7
  /** Remplace https://geo.api.gouv.fr/ — chemins `communes?…`. */
8
8
  export const DOCS_MOCK_GEO_SERVICE = `${DOCS_MOCK_API_BASE}/geo/`;
9
9
 
10
- /** Remplace https://v2.jokeapi.dev — chemins `joke/Any?…`. */
11
- export const DOCS_MOCK_JOKES_SERVICE = `${DOCS_MOCK_API_BASE}/jokes`;
10
+