@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
package/index.html CHANGED
@@ -1,10 +1,21 @@
1
1
  <!doctype html>
2
- <html lang="fr">
2
+ <html lang="en">
3
3
  <head>
4
4
  <meta charset="UTF-8" />
5
5
  <link rel="icon" type="image/svg+xml" href="./svg/favicon.svg" />
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
- <title>Concorde - A supersonic design system</title>
7
+ <title>Concorde by Supersoniks — Web components for every stack</title>
8
+ <meta
9
+ name="description"
10
+ content="Concorde is the Supersoniks Lit web-components library: UI, data binding, forms and themes that work in React, Vue, PHP or plain HTML. Docs, npm package @supersoniks/concorde, and llms.txt for agents."
11
+ />
12
+ <meta
13
+ name="keywords"
14
+ content="Concorde, Supersoniks, web components, Lit, design system, @supersoniks/concorde, DataProvider, sonic-button"
15
+ />
16
+ <link rel="canonical" href="https://concorde.supersoniks.org/" />
17
+ <link rel="alternate" type="text/markdown" href="/index.md" title="Markdown" />
18
+ <link rel="alternate" type="text/plain" href="/llms.txt" title="llms.txt" />
8
19
  <link rel="preconnect" href="https://fonts.googleapis.com" />
9
20
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
10
21
  <link
@@ -17,16 +28,68 @@
17
28
  <script src="https://cdn.jsdelivr.net/npm/marked@13.0.3"></script>
18
29
  <script type="module" src="./src/docs.ts"></script>
19
30
  <link href="./src/docs/tailwind/css/docs.css" rel="stylesheet" />
31
+ <style>
32
+ /*
33
+ Crawler/agent fallback stays in the HTML source (Is Agentic raw-text check)
34
+ but must not take clicks or layout away from the interactive homepage.
35
+ */
36
+ #docs-agent-content {
37
+ display: none !important;
38
+ }
39
+ </style>
20
40
  </head>
21
41
  <body class="px-4 sm:px-6 lg:px-10 2xl:px-20">
42
+ <!--
43
+ Static homepage copy for agents and no-JS crawlers (Is Agentic / Ora).
44
+ Hidden after JS boot; must stay in raw HTML with a clear H1 and 500+ chars.
45
+ -->
46
+ <section id="docs-agent-content" aria-hidden="true">
47
+ <h1>Concorde by Supersoniks</h1>
48
+ <p>
49
+ Concorde is an open-source Lit web-components library from Supersoniks.
50
+ It provides UI primitives, data binding, forms, routing helpers and
51
+ theming that run the same way in React, Vue, PHP templates or a static
52
+ HTML page. Install the npm package <code>@supersoniks/concorde</code>
53
+ and load components as custom elements.
54
+ </p>
55
+ <h2>Developer resources</h2>
56
+ <p>
57
+ Interactive documentation lives on this site. Machine-readable entry
58
+ points: <a href="/llms.txt">llms.txt</a>,
59
+ <a href="/llms-full.txt">llms-full.txt</a>,
60
+ <a href="/sitemap.xml">sitemap.xml</a>, and the
61
+ <a href="/docs/index.html">documentation index</a>. Prefer
62
+ <code>Accept: text/markdown</code> on doc pathnames (and this homepage)
63
+ to receive Markdown, or open <a href="/index.md">index.md</a>.
64
+ </p>
65
+ <h2>Getting started</h2>
66
+ <p>
67
+ Scaffold a Vite project with Concorde, Tailwind and agent skills, or
68
+ import individual components from
69
+ <code>@supersoniks/concorde</code>. Start with
70
+ <a href="/docs/getting-started/start">/docs/getting-started/start</a>,
71
+ data flow, components index, and AI agents. Topic hubs under
72
+ <code>/hubs/</code> cover decorators, remote data and form components.
73
+ </p>
74
+ <h2>What you can build</h2>
75
+ <p>
76
+ Use sonic-* custom elements for buttons, forms, lists, queues, SDUI
77
+ trees and more. Decorators such as @get, @post, @subscribe and @bind
78
+ wire components to a shared DataProvider without framework lock-in.
79
+ Concorde is MIT-licensed and maintained by Supersoniks for production
80
+ stacks that need one component set across many hosts.
81
+ </p>
82
+ </section>
83
+
22
84
  <sonic-theme
23
85
  customIconLibraryPath="https://cdn.supersoniks.com/concorde/icons/fontawesome/v6/$prefix/$name.svg"
24
86
  customIconDefaultPrefix="regular"
25
- markdownsURL="src"
87
+ markdownsURL=""
26
88
  >
27
89
  <sonic-docs-header></sonic-docs-header>
28
90
  <sonic-router>
29
- <template data-route="^((?!.md).)*$">
91
+ <!-- Home only at `/` (doc pages use pathname `/docs/...` or `/core/...`). -->
92
+ <template data-route="^/?$">
30
93
  <docs-home></docs-home>
31
94
  </template>
32
95
  </sonic-router>
@@ -40,7 +103,7 @@
40
103
  ></docs-navigation>
41
104
  </aside>
42
105
  <main class="min-w-0 min-h-[100svh] pt-3">
43
- <div class="max-w-prose mx-auto xl:mx-0 justify-self-center">
106
+ <div class="max-w-prose mx-auto xl:mx-0">
44
107
  <docs-page
45
108
  noShadowDom
46
109
  class="prose max-w-none block py-8 prose-li:my-[.2em] leading-[1.5] lg:leading-[1.5] prose-h1:text-[2.4em] sm:prose-h1:text-[3.25em] prose-code:before:content-none prose-code:after:content-none prose-pre:font-mono"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@supersoniks/concorde",
3
- "version": "5.1.1",
3
+ "version": "5.1.2",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "",
@@ -3,7 +3,6 @@
3
3
  // src/docs/mock-api/urls.ts
4
4
  var DOCS_MOCK_API_BASE = "/docs-mock-api";
5
5
  var DOCS_MOCK_GEO_SERVICE = `${DOCS_MOCK_API_BASE}/geo/`;
6
- var DOCS_MOCK_JOKES_SERVICE = `${DOCS_MOCK_API_BASE}/jokes`;
7
6
 
8
7
  // src/docs/mock-api/api-config-mock.ts
9
8
  var DOCS_MOCK_TOKEN_VALID = "docs-mock-valid-token";
@@ -15,6 +14,11 @@
15
14
  var WORDING_CATALOG = {
16
15
  "api-config.greeting": { fr: "Bonjour", en: "Hello" },
17
16
  "api-config.farewell": { fr: "Au revoir", en: "Goodbye" },
17
+ "flight.boarding": { fr: "Embarquement imm\xE9diat", en: "Now boarding" },
18
+ "flight.gate": {
19
+ fr: "Rendez-vous porte <strong>B12</strong>",
20
+ en: "Please proceed to gate <strong>B12</strong>"
21
+ },
18
22
  "api-config.hint": {
19
23
  fr: "Libell\xE9s servis par le mock /wording/labels",
20
24
  en: "Labels served by mock /wording/labels"
@@ -114,6 +118,56 @@
114
118
  `${DOCS_MOCK_API_BASE}/wording/labels`
115
119
  ];
116
120
 
121
+ // src/docs/mock-api/flights.ts
122
+ var row = (code, direction, airport, city, time, gate, status) => ({
123
+ code,
124
+ direction,
125
+ airport,
126
+ city,
127
+ time,
128
+ gate,
129
+ status
130
+ });
131
+ var FLIGHTS = [
132
+ row("CN 001", "departures", "JFK", "New York", "08:15", "B12", "boarding"),
133
+ row("CN 014", "departures", "LHR", "London", "08:40", "A03", "on-time"),
134
+ row("CN 102", "departures", "GIG", "Rio de Janeiro", "09:05", "C21", "delayed"),
135
+ row("CN 220", "departures", "DKR", "Dakar", "09:30", "C07", "on-time"),
136
+ row("CN 305", "departures", "IAD", "Washington", "10:10", "B04", "cancelled"),
137
+ row("CN 412", "departures", "BAH", "Bahrain", "10:45", "D02", "delayed"),
138
+ row("CN 518", "departures", "SIN", "Singapore", "11:20", "D14", "on-time"),
139
+ row("CN 633", "departures", "YUL", "Montreal", "12:00", "A11", "on-time"),
140
+ row("CN 002", "arrivals", "JFK", "New York", "07:50", "B10", "landed"),
141
+ row("CN 015", "arrivals", "LHR", "London", "08:25", "A05", "landed"),
142
+ row("CN 103", "arrivals", "GIG", "Rio de Janeiro", "09:15", "C20", "delayed"),
143
+ row("CN 221", "arrivals", "DKR", "Dakar", "09:55", "C08", "on-time"),
144
+ row("CN 306", "arrivals", "IAD", "Washington", "10:35", "B06", "on-time"),
145
+ row("CN 413", "arrivals", "BAH", "Bahrain", "11:05", "D03", "cancelled"),
146
+ row("CN 519", "arrivals", "SIN", "Singapore", "11:40", "D15", "delayed"),
147
+ row("CN 634", "arrivals", "YUL", "Montreal", "12:30", "A12", "on-time")
148
+ ];
149
+ function buildFlightsResponse(url) {
150
+ const p = url.searchParams;
151
+ let pool = FLIGHTS.map((f, i) => ({ ...f, id: i + 1 }));
152
+ const direction = p.get("direction");
153
+ if (direction === "departures" || direction === "arrivals") {
154
+ pool = pool.filter((f) => f.direction === direction);
155
+ }
156
+ const q = p.get("q")?.trim().toLowerCase();
157
+ if (q) {
158
+ pool = pool.filter(
159
+ (f) => [f.code, f.city, f.airport].join(" ").toLowerCase().includes(q)
160
+ );
161
+ }
162
+ const statuses = (p.get("status") || "").split(",").map((s) => s.trim()).filter((s) => s && s !== "all");
163
+ if (statuses.length) {
164
+ pool = pool.filter((f) => statuses.includes(f.status));
165
+ }
166
+ const offset = Math.max(0, parseInt(p.get("offset") || "0", 10));
167
+ const limit = Math.max(1, parseInt(p.get("limit") || "20", 10));
168
+ return { flights: pool.slice(offset, offset + limit) };
169
+ }
170
+
117
171
  // src/docs/mock-api/fixtures.ts
118
172
  var reqresAvatar = (seed) => `https://i.pravatar.cc/150?u=${encodeURIComponent(seed)}`;
119
173
  var REQRES_EXTRA_NAMES = [
@@ -177,224 +231,6 @@
177
231
  { nom: "Montpellier", code: "34172" },
178
232
  { nom: "Rennes", code: "35238" }
179
233
  ];
180
- var jokeFlags = (partial = {}) => ({
181
- nsfw: false,
182
- religious: false,
183
- political: false,
184
- racist: false,
185
- sexist: false,
186
- explicit: false,
187
- ...partial
188
- });
189
- var SAMPLE_JOKES = [
190
- {
191
- categories: ["Programming"],
192
- createdAt: "2020-01-01 00:00:00",
193
- id: 1,
194
- lang: "en",
195
- joke: "Why do programmers prefer dark mode? Because light attracts bugs.",
196
- flags: jokeFlags(),
197
- safe: true,
198
- type: "single"
199
- },
200
- {
201
- categories: ["Misc"],
202
- createdAt: "2020-01-02 00:00:00",
203
- id: 2,
204
- lang: "en",
205
- joke: "I told my computer I needed a break \u2014 it said: no problem, I'll go to sleep.",
206
- flags: jokeFlags({ nsfw: true }),
207
- safe: false,
208
- type: "single"
209
- },
210
- {
211
- categories: ["Pun"],
212
- createdAt: "2020-01-03 00:00:00",
213
- id: 3,
214
- lang: "en",
215
- joke: "Concorde docs run offline: even the API is a local joke.",
216
- flags: jokeFlags(),
217
- safe: true,
218
- type: "single"
219
- },
220
- {
221
- categories: ["Animals"],
222
- createdAt: "2020-01-04 00:00:00",
223
- id: 4,
224
- lang: "en",
225
- joke: "The dog ate my homework and my pull request.",
226
- flags: jokeFlags({ political: true }),
227
- safe: true,
228
- type: "single"
229
- },
230
- {
231
- categories: ["Animals", "Pun"],
232
- createdAt: "2020-01-05 00:00:00",
233
- id: 5,
234
- lang: "fr",
235
- joke: "Quel est le chien pr\xE9f\xE9r\xE9 des d\xE9veloppeurs ? Le labrador Retriever.",
236
- flags: jokeFlags(),
237
- safe: true,
238
- type: "single"
239
- },
240
- {
241
- categories: ["Animals"],
242
- createdAt: "2020-01-06 00:00:00",
243
- id: 6,
244
- lang: "fr",
245
- joke: "Un chat et un chien discutent de TypeScript : le chien dit \xAB woof \xBB, le chat compile.",
246
- flags: jokeFlags({ racist: true }),
247
- safe: false,
248
- type: "single"
249
- },
250
- {
251
- categories: ["Misc"],
252
- createdAt: "2020-01-07 00:00:00",
253
- id: 7,
254
- lang: "fr",
255
- joke: "Pourquoi les blagues offline sont-elles fiables ? Parce qu'elles passent par le Service Worker.",
256
- flags: jokeFlags({ religious: true }),
257
- safe: true,
258
- type: "single"
259
- },
260
- {
261
- categories: ["Programming"],
262
- createdAt: "2020-01-08 00:00:00",
263
- id: 8,
264
- lang: "fr",
265
- joke: "Mon compilateur et mon chien : tous deux ignorent mes commandes jusqu'au build.",
266
- flags: jokeFlags({ sexist: true }),
267
- safe: false,
268
- type: "single"
269
- },
270
- {
271
- categories: ["Misc"],
272
- createdAt: "2020-01-09 00:00:00",
273
- id: 9,
274
- lang: "en",
275
- joke: "A SQL query walks into a bar, walks up to two tables and asks: Can I join you?",
276
- flags: jokeFlags({ explicit: true }),
277
- safe: false,
278
- type: "single"
279
- },
280
- {
281
- categories: ["Pun"],
282
- createdAt: "2020-01-10 00:00:00",
283
- id: 10,
284
- lang: "fr",
285
- joke: "J'ai cherch\xE9 \xAB chien \xBB dans la doc : le mock API a r\xE9pondu.",
286
- flags: jokeFlags(),
287
- safe: true,
288
- type: "single"
289
- },
290
- {
291
- categories: ["Misc"],
292
- createdAt: "2020-01-11 00:00:00",
293
- id: 11,
294
- lang: "en",
295
- joke: "There are only two hard things in Computer Science: cache invalidation and naming things.",
296
- flags: jokeFlags({ political: true, explicit: true }),
297
- safe: false,
298
- type: "single"
299
- },
300
- {
301
- categories: ["Animals"],
302
- createdAt: "2020-01-12 00:00:00",
303
- id: 12,
304
- lang: "fr",
305
- joke: "Le golden retriever a r\xE9cup\xE9r\xE9 la donn\xE9e du publisher.",
306
- flags: jokeFlags({ racist: true, sexist: true }),
307
- safe: false,
308
- type: "two-liner",
309
- setup: "Pourquoi le chien aime Concorde ?",
310
- delivery: "Parce qu'il sait fetch."
311
- },
312
- {
313
- categories: ["Misc"],
314
- createdAt: "2020-01-13 00:00:00",
315
- id: 13,
316
- lang: "en",
317
- joke: "My code and my conscience: both have too many warnings.",
318
- flags: jokeFlags(),
319
- safe: true,
320
- type: "single"
321
- },
322
- {
323
- categories: ["Programming"],
324
- createdAt: "2020-01-14 00:00:00",
325
- id: 14,
326
- lang: "en",
327
- joke: "Git blame is just a mirror.",
328
- flags: jokeFlags({ religious: true, political: true }),
329
- safe: false,
330
- type: "single"
331
- }
332
- ];
333
- function parseBlacklistFlags(url) {
334
- const keys = /* @__PURE__ */ new Set();
335
- const valid = [
336
- "nsfw",
337
- "religious",
338
- "political",
339
- "racist",
340
- "sexist",
341
- "explicit"
342
- ];
343
- const add = (raw) => {
344
- raw.split(",").map((s) => s.trim().toLowerCase()).forEach((part) => {
345
- if (valid.includes(part)) keys.add(part);
346
- });
347
- };
348
- url.searchParams.getAll("blacklistFlags").forEach(add);
349
- const single = url.searchParams.get("blacklistFlags");
350
- if (single) add(single);
351
- return [...keys];
352
- }
353
- function applyJokeBlacklist(jokes, blacklist) {
354
- if (!blacklist.length) return jokes;
355
- return jokes.filter(
356
- (j) => !blacklist.some((flag) => j.flags[flag] === true)
357
- );
358
- }
359
- function filterDocsJokes(jokes, url) {
360
- let pool = jokes;
361
- const contains = url.searchParams.get("contains")?.trim().toLowerCase();
362
- if (contains) {
363
- pool = pool.filter((j) => {
364
- const haystack = [j.joke, j.setup, j.delivery, ...j.categories].filter(Boolean).join(" ").toLowerCase();
365
- return haystack.includes(contains);
366
- });
367
- }
368
- const lang = url.searchParams.get("lang")?.trim().toLowerCase();
369
- if (lang === "fr" || lang === "en") {
370
- pool = pool.filter((j) => j.lang === lang);
371
- }
372
- pool = applyJokeBlacklist(pool, parseBlacklistFlags(url));
373
- return pool;
374
- }
375
- function buildJokeApiResponse(url) {
376
- const pool = filterDocsJokes(SAMPLE_JOKES, url);
377
- const amount = Math.max(
378
- 1,
379
- parseInt(url.searchParams.get("amount") || "10", 10)
380
- );
381
- const hasOffset = url.searchParams.has("offset");
382
- const limit = Math.max(
383
- 1,
384
- parseInt(
385
- url.searchParams.get("limit") || url.searchParams.get("per_page") || String(amount),
386
- 10
387
- )
388
- );
389
- const offset = Math.max(0, parseInt(url.searchParams.get("offset") || "0", 10));
390
- const start = hasOffset ? offset : 0;
391
- const count = hasOffset ? limit : amount;
392
- const jokes = pool.slice(start, start + count).map((j, i) => ({
393
- ...j,
394
- id: start + i + 1
395
- }));
396
- return { error: false, amount: jokes.length, jokes };
397
- }
398
234
 
399
235
  // src/docs/mock-api/fixtures-jsonata.ts
400
236
  var avatar = (seed) => `https://i.pravatar.cc/150?u=${encodeURIComponent(seed)}`;
@@ -583,7 +419,7 @@
583
419
  const offset = Math.max(0, parseInt(url.searchParams.get("offset") || "0", 10));
584
420
  const needle = (url.searchParams.get("nom") || url.searchParams.get("text") || url.searchParams.get("q") || url.searchParams.get("code") || "").trim().toLowerCase();
585
421
  const rows = needle ? DOCS_GEO_COMMUNES.filter(
586
- (row) => row.nom.toLowerCase().includes(needle) || row.code.toLowerCase().includes(needle)
422
+ (row2) => row2.nom.toLowerCase().includes(needle) || row2.code.toLowerCase().includes(needle)
587
423
  ) : DOCS_GEO_COMMUNES;
588
424
  return rows.slice(offset, offset + limit);
589
425
  }
@@ -698,9 +534,8 @@
698
534
  headers: { "X-Fetched-At": (/* @__PURE__ */ new Date()).toISOString() }
699
535
  });
700
536
  }
701
- const jokeMatch = subPath.match(/^\/jokes\/joke\/([^/]+)$/);
702
- if (jokeMatch) {
703
- return json2(buildJokeApiResponse(url));
537
+ if (subPath === "/flights") {
538
+ return json2(buildFlightsResponse(url));
704
539
  }
705
540
  return json2({ error: "Not found", path: subPath }, { status: 404 });
706
541
  }