@supersoniks/concorde 5.1.0 → 5.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (628) hide show
  1. package/.agents/skills/concorde-docs/SKILL.md +153 -0
  2. package/.agents/skills/{concorde-component-docs/template.md → concorde-docs/templates/component.md} +6 -2
  3. package/.agents/skills/concorde-docs/templates/decorator.md +43 -0
  4. package/.agents/skills/concorde-docs/templates/guide.md +25 -0
  5. package/.claude/launch.json +15 -0
  6. package/.claude/vite.http.config.mjs +7 -0
  7. package/.taste-skill/after/desktop-fold.jpg +0 -0
  8. package/.taste-skill/after/desktop-page-01.jpg +0 -0
  9. package/.taste-skill/after/desktop-page-02.jpg +0 -0
  10. package/.taste-skill/after/desktop-page-03.jpg +0 -0
  11. package/.taste-skill/after/mobile-fold.jpg +0 -0
  12. package/.taste-skill/after/mobile-page-01.jpg +0 -0
  13. package/.taste-skill/after/report.json +4103 -0
  14. package/.taste-skill/after/tablet-fold.jpg +0 -0
  15. package/.taste-skill/after/tablet-page-01.jpg +0 -0
  16. package/.taste-skill/after/tablet-page-02.jpg +0 -0
  17. package/.taste-skill/before/desktop-fold.jpg +0 -0
  18. package/.taste-skill/before/desktop-page-01.jpg +0 -0
  19. package/.taste-skill/before/desktop-page-02.jpg +0 -0
  20. package/.taste-skill/before/mobile-fold.jpg +0 -0
  21. package/.taste-skill/before/mobile-page-01.jpg +0 -0
  22. package/.taste-skill/before/report.json +2556 -0
  23. package/.taste-skill/before/tablet-fold.jpg +0 -0
  24. package/.taste-skill/before/tablet-page-01.jpg +0 -0
  25. package/.taste-skill/direction.json +510 -0
  26. package/.taste-skill/notes.md +84 -0
  27. package/.taste-skill/prod/desktop-fold.jpg +0 -0
  28. package/.taste-skill/prod/desktop-page-01.jpg +0 -0
  29. package/.taste-skill/prod/desktop-page-02.jpg +0 -0
  30. package/.taste-skill/prod/desktop-page-03.jpg +0 -0
  31. package/.taste-skill/prod/mobile-fold.jpg +0 -0
  32. package/.taste-skill/prod/mobile-page-01.jpg +0 -0
  33. package/.taste-skill/prod/mobile-page-02.jpg +0 -0
  34. package/.taste-skill/prod/report.json +1973 -0
  35. package/.taste-skill/prod/tablet-fold.jpg +0 -0
  36. package/.taste-skill/prod/tablet-page-01.jpg +0 -0
  37. package/.taste-skill/prod/tablet-page-02.jpg +0 -0
  38. package/.tmp-cem/custom-elements.json +2013 -2013
  39. package/AUDIT.md +228 -0
  40. package/PLAN-AMELIORATION.md +220 -0
  41. package/PLAN-DOCS-AGENTS.md +80 -0
  42. package/README.md +3 -3
  43. package/ai/skills/concorde/SKILL.md +1 -1
  44. package/ai/skills/concorde-get-set-dp/SKILL.md +3 -3
  45. package/ai/skills/concorde-theme/SKILL.md +1 -1
  46. package/build-infos.json +1 -1
  47. package/concorde-core.bundle.js +16 -16
  48. package/concorde-core.es.js +235 -233
  49. package/dist/concorde-core.bundle.js +16 -16
  50. package/dist/concorde-core.es.js +235 -233
  51. package/dist/img/archive/concorde-001-2cv.webp +0 -0
  52. package/dist/img/archive/concorde-red-arrows-2002-poster.jpg +0 -0
  53. package/dist/img/archive/concorde-red-arrows-2002.webm +0 -0
  54. package/dist/img/archive/credits.json +28 -0
  55. package/docs/.htaccess +75 -0
  56. package/docs/404.html +15 -0
  57. package/docs/404.md +5 -0
  58. package/docs/assets/index-BgG6FFPt.js +11765 -0
  59. package/docs/assets/index-x89XINSG.css +1 -0
  60. package/docs/core/components/functional/date/date.html +211 -0
  61. package/docs/core/components/functional/date/date.md +150 -0
  62. package/docs/core/components/functional/fetch/fetch.html +180 -0
  63. package/docs/core/components/functional/fetch/fetch.md +108 -0
  64. package/docs/core/components/functional/if/if.html +65 -0
  65. package/docs/core/components/functional/if/if.md +34 -0
  66. package/docs/core/components/functional/jsonata/jsonata.html +110 -0
  67. package/docs/core/components/functional/jsonata/jsonata.md +61 -0
  68. package/docs/core/components/functional/list/list.html +198 -0
  69. package/docs/core/components/functional/list/list.md +121 -0
  70. package/docs/core/components/functional/mix/mix.html +78 -0
  71. package/docs/core/components/functional/mix/mix.md +46 -0
  72. package/docs/core/components/functional/queue/queue.html +155 -0
  73. package/docs/core/components/functional/queue/queue.md +51 -0
  74. package/docs/core/components/functional/router/router.html +154 -0
  75. package/docs/core/components/functional/router/router.md +93 -0
  76. package/docs/core/components/functional/sdui/sdui-extension-points.html +127 -0
  77. package/docs/core/components/functional/sdui/sdui-extension-points.md +94 -0
  78. package/docs/core/components/functional/sdui/sdui.html +397 -0
  79. package/docs/core/components/functional/sdui/sdui.md +307 -0
  80. package/docs/core/components/functional/states/states.html +141 -0
  81. package/docs/core/components/functional/states/states.md +112 -0
  82. package/docs/core/components/functional/submit/submit.html +178 -0
  83. package/docs/core/components/functional/submit/submit.md +106 -0
  84. package/docs/{crawl/core → core}/components/functional/subscriber/subscriber.html +6 -5
  85. package/docs/core/components/functional/subscriber/subscriber.md +91 -0
  86. package/docs/core/components/functional/translation/translation.html +60 -0
  87. package/docs/core/components/functional/translation/translation.md +38 -0
  88. package/docs/core/components/functional/value/value.html +81 -0
  89. package/docs/core/components/functional/value/value.md +47 -0
  90. package/docs/core/components/ui/alert/alert.html +201 -0
  91. package/docs/core/components/ui/alert/alert.md +186 -0
  92. package/docs/core/components/ui/alert-messages/alert-messages.html +132 -0
  93. package/docs/core/components/ui/alert-messages/alert-messages.md +85 -0
  94. package/docs/core/components/ui/badge/badge.html +197 -0
  95. package/docs/core/components/ui/badge/badge.md +181 -0
  96. package/docs/core/components/ui/button/button.html +309 -0
  97. package/docs/core/components/ui/button/button.md +216 -0
  98. package/docs/core/components/ui/captcha/captcha.html +80 -0
  99. package/docs/core/components/ui/captcha/captcha.md +56 -0
  100. package/docs/core/components/ui/card/card.html +254 -0
  101. package/docs/core/components/ui/card/card.md +215 -0
  102. package/docs/core/components/ui/divider/divider.html +144 -0
  103. package/docs/core/components/ui/divider/divider.md +126 -0
  104. package/docs/core/components/ui/form/checkbox/checkbox.html +200 -0
  105. package/docs/core/components/ui/form/checkbox/checkbox.md +125 -0
  106. package/docs/core/components/ui/form/fieldset/fieldset.html +238 -0
  107. package/docs/core/components/ui/form/fieldset/fieldset.md +161 -0
  108. package/docs/core/components/ui/form/form-actions/form-actions.html +122 -0
  109. package/docs/core/components/ui/form/form-actions/form-actions.md +98 -0
  110. package/docs/core/components/ui/form/form-layout/form-layout.html +115 -0
  111. package/docs/core/components/ui/form/form-layout/form-layout.md +109 -0
  112. package/docs/core/components/ui/form/input/input.html +235 -0
  113. package/docs/core/components/ui/form/input/input.md +142 -0
  114. package/docs/core/components/ui/form/radio/radio.html +144 -0
  115. package/docs/core/components/ui/form/radio/radio.md +78 -0
  116. package/docs/core/components/ui/form/select/select.html +178 -0
  117. package/docs/core/components/ui/form/select/select.md +86 -0
  118. package/docs/core/components/ui/form/switch/switch.html +146 -0
  119. package/docs/core/components/ui/form/switch/switch.md +80 -0
  120. package/docs/core/components/ui/form/textarea/textarea.html +162 -0
  121. package/docs/core/components/ui/form/textarea/textarea.md +82 -0
  122. package/docs/core/components/ui/group/group.html +113 -0
  123. package/docs/core/components/ui/group/group.md +77 -0
  124. package/docs/core/components/ui/icon/icon.html +223 -0
  125. package/docs/core/components/ui/icon/icon.md +214 -0
  126. package/docs/core/components/ui/image/image.html +194 -0
  127. package/docs/core/components/ui/image/image.md +167 -0
  128. package/docs/core/components/ui/link/link.html +101 -0
  129. package/docs/core/components/ui/link/link.md +81 -0
  130. package/docs/core/components/ui/loader/loader.html +114 -0
  131. package/docs/core/components/ui/loader/loader.md +87 -0
  132. package/docs/{crawl/core → core}/components/ui/menu/menu.html +189 -116
  133. package/docs/core/components/ui/menu/menu.md +370 -0
  134. package/docs/core/components/ui/modal/modal.html +324 -0
  135. package/docs/core/components/ui/modal/modal.md +211 -0
  136. package/docs/core/components/ui/pop/pop.html +250 -0
  137. package/docs/core/components/ui/pop/pop.md +216 -0
  138. package/docs/core/components/ui/progress/progress.html +132 -0
  139. package/docs/core/components/ui/progress/progress.md +109 -0
  140. package/docs/core/components/ui/table/table.html +333 -0
  141. package/docs/core/components/ui/table/table.md +267 -0
  142. package/docs/core/components/ui/theme/theme.html +116 -0
  143. package/docs/core/components/ui/theme/theme.md +97 -0
  144. package/docs/core/components/ui/toast/toast.html +185 -0
  145. package/docs/core/components/ui/toast/toast.md +147 -0
  146. package/docs/core/components/ui/tooltip/tooltip.html +112 -0
  147. package/docs/core/components/ui/tooltip/tooltip.md +89 -0
  148. package/docs/docs/decorators/ancestor-attribute.html +71 -0
  149. package/docs/docs/decorators/ancestor-attribute.md +59 -0
  150. package/docs/docs/decorators/auto-subscribe.html +61 -0
  151. package/docs/docs/decorators/auto-subscribe.md +40 -0
  152. package/docs/docs/decorators/bind.html +86 -0
  153. package/docs/docs/decorators/bind.md +77 -0
  154. package/docs/docs/decorators/get.html +166 -0
  155. package/docs/docs/decorators/get.md +160 -0
  156. package/docs/docs/decorators/handle.html +139 -0
  157. package/docs/docs/decorators/handle.md +119 -0
  158. package/docs/docs/decorators/on-assign.html +72 -0
  159. package/docs/docs/decorators/on-assign.md +63 -0
  160. package/docs/docs/decorators/patch.html +76 -0
  161. package/docs/docs/decorators/patch.md +44 -0
  162. package/docs/docs/decorators/post.html +150 -0
  163. package/docs/docs/decorators/post.md +134 -0
  164. package/docs/docs/decorators/publish.html +74 -0
  165. package/docs/docs/decorators/publish.md +56 -0
  166. package/docs/docs/decorators/put.html +83 -0
  167. package/docs/docs/decorators/put.md +51 -0
  168. package/docs/docs/decorators/subscribe.html +91 -0
  169. package/docs/docs/decorators/subscribe.md +87 -0
  170. package/docs/docs/decorators/wait-for-ancestors.html +82 -0
  171. package/docs/docs/decorators/wait-for-ancestors.md +76 -0
  172. package/docs/docs/directives/sub.html +79 -0
  173. package/docs/docs/directives/sub.md +75 -0
  174. package/docs/docs/directives/t.html +91 -0
  175. package/docs/docs/directives/t.md +73 -0
  176. package/docs/{crawl/docs/_getting-started → docs/getting-started}/ai-agents.html +12 -11
  177. package/{src/docs/_getting-started → docs/docs/getting-started}/ai-agents.md +3 -3
  178. package/docs/docs/getting-started/components.html +27 -0
  179. package/docs/docs/getting-started/components.md +5 -0
  180. package/docs/{crawl/docs/_getting-started → docs/getting-started}/create-a-component.html +11 -14
  181. package/docs/{src/docs/_getting-started → docs/getting-started}/create-a-component.md +3 -6
  182. package/docs/{crawl/docs/_core-concept → docs/getting-started}/dataFlow.html +26 -29
  183. package/docs/{src/docs/_core-concept → docs/getting-started}/dataFlow.md +17 -18
  184. package/docs/docs/getting-started/installation.html +69 -0
  185. package/docs/docs/getting-started/installation.md +36 -0
  186. package/docs/{crawl/docs/_getting-started → docs/getting-started}/my-first-component.html +13 -22
  187. package/docs/{src/docs/_getting-started → docs/getting-started}/my-first-component.md +5 -14
  188. package/docs/docs/getting-started/start.html +47 -0
  189. package/{src/docs/_getting-started → docs/docs/getting-started}/start.md +1 -13
  190. package/docs/docs/getting-started/theming.html +334 -0
  191. package/{src/docs/_getting-started → docs/docs/getting-started}/theming.md +2 -2
  192. package/docs/docs/index.html +99 -0
  193. package/docs/{crawl/docs/_misc → docs/misc}/api-configuration.html +18 -18
  194. package/docs/{src/docs/_misc → docs/misc}/api-configuration.md +10 -12
  195. package/docs/{crawl/docs/_misc → docs/misc}/dataProviderKey.html +12 -11
  196. package/{src/docs/_misc → docs/docs/misc}/dataProviderKey.md +4 -4
  197. package/docs/{crawl/docs/_misc → docs/misc}/docs-mock-api.html +25 -28
  198. package/docs/{src/docs/_misc → docs/misc}/docs-mock-api.md +12 -13
  199. package/docs/{crawl/docs/_misc → docs/misc}/dynamic-path.html +16 -15
  200. package/{src/docs/_misc → docs/docs/misc}/dynamic-path.md +8 -8
  201. package/docs/{crawl/docs/_misc → docs/misc}/endpoint.html +16 -15
  202. package/{src/docs/_misc → docs/docs/misc}/endpoint.md +8 -8
  203. package/docs/{crawl/docs/_misc → docs/misc}/html-integration.html +12 -15
  204. package/docs/{src/docs/_misc → docs/misc}/html-integration.md +4 -5
  205. package/docs/docs-mock-api-sw.js +60 -223
  206. package/docs/docs-mock-api-sw.js.map +4 -4
  207. package/docs/hubs/decorators.html +443 -0
  208. package/docs/hubs/form-components.html +404 -0
  209. package/docs/hubs/remote-data.html +371 -0
  210. package/docs/img/archive/concorde-001-2cv.webp +0 -0
  211. package/docs/img/archive/concorde-red-arrows-2002-poster.jpg +0 -0
  212. package/docs/img/archive/concorde-red-arrows-2002.webm +0 -0
  213. package/docs/img/archive/credits.json +28 -0
  214. package/docs/img/concorde/plane_01.jpg +0 -0
  215. package/docs/img/concorde/plane_02.jpg +0 -0
  216. package/docs/img/concorde/plane_03.jpg +0 -0
  217. package/docs/img/concorde/plane_04.jpg +0 -0
  218. package/docs/img/concorde/plane_05.jpg +0 -0
  219. package/docs/img/concorde/plane_06.jpg +0 -0
  220. package/docs/img/concorde/plane_07.jpg +0 -0
  221. package/docs/img/concorde/plane_08.jpg +0 -0
  222. package/docs/img/concorde/plane_09.jpg +0 -0
  223. package/docs/img/concorde/plane_10.jpg +0 -0
  224. package/docs/img/concorde/plane_11.jpg +0 -0
  225. package/docs/img/concorde/plane_12.jpg +0 -0
  226. package/docs/img/concorde/plane_13.jpg +0 -0
  227. package/docs/index.html +96 -67
  228. package/docs/index.md +22 -0
  229. package/docs/llms-full.txt +3329 -3295
  230. package/docs/llms.txt +94 -92
  231. package/docs/robots.txt +11 -10
  232. package/docs/sitemap.xml +78 -78
  233. package/docs/src/core/components/functional/date/date.md +91 -231
  234. package/docs/src/core/components/functional/fetch/fetch.md +66 -83
  235. package/docs/src/core/components/functional/if/if.md +28 -3
  236. package/docs/src/core/components/functional/jsonata/jsonata.md +42 -37
  237. package/docs/src/core/components/functional/list/list.md +99 -43
  238. package/docs/src/core/components/functional/mix/mix.md +31 -26
  239. package/docs/src/core/components/functional/queue/queue.md +40 -61
  240. package/docs/src/core/components/functional/router/router.md +64 -65
  241. package/docs/src/core/components/functional/sdui/component-catalog.gaps.json +511 -0
  242. package/docs/src/core/components/functional/sdui/component-catalog.json +3103 -0
  243. package/docs/src/core/components/functional/sdui/example.json +19 -86
  244. package/docs/src/core/components/functional/sdui/sdui-extension-points.md +94 -0
  245. package/docs/src/core/components/functional/sdui/sdui.md +196 -245
  246. package/docs/src/core/components/functional/states/states.md +86 -61
  247. package/docs/src/core/components/functional/submit/submit.md +64 -72
  248. package/docs/src/core/components/functional/translation/translation.md +38 -0
  249. package/docs/src/core/components/functional/value/value.md +34 -22
  250. package/docs/src/core/components/ui/alert/alert.md +139 -74
  251. package/docs/src/core/components/ui/alert-messages/alert-messages.md +85 -0
  252. package/docs/src/core/components/ui/badge/badge.md +137 -83
  253. package/docs/src/core/components/ui/button/button.md +139 -105
  254. package/docs/src/core/components/ui/captcha/captcha.md +50 -6
  255. package/docs/src/core/components/ui/card/card.md +183 -65
  256. package/docs/src/core/components/ui/divider/divider.md +104 -13
  257. package/docs/src/core/components/ui/form/checkbox/checkbox.md +90 -42
  258. package/docs/src/core/components/ui/form/fieldset/fieldset.md +135 -103
  259. package/docs/src/core/components/ui/form/form-actions/form-actions.md +71 -50
  260. package/docs/src/core/components/ui/form/form-layout/form-layout.md +99 -34
  261. package/docs/src/core/components/ui/form/input/input.md +95 -95
  262. package/docs/src/core/components/ui/form/radio/radio.md +55 -34
  263. package/docs/src/core/components/ui/form/select/select.md +60 -45
  264. package/docs/src/core/components/ui/form/switch/switch.md +57 -34
  265. package/docs/src/core/components/ui/form/textarea/textarea.md +55 -38
  266. package/docs/src/core/components/ui/group/group.md +49 -47
  267. package/docs/src/core/components/ui/icon/icon.md +132 -43
  268. package/docs/src/core/components/ui/image/image.md +132 -72
  269. package/docs/src/core/components/ui/link/link.md +46 -8
  270. package/docs/src/core/components/ui/loader/loader.md +55 -23
  271. package/docs/src/core/components/ui/menu/menu.md +155 -114
  272. package/docs/src/core/components/ui/modal/modal.md +154 -62
  273. package/docs/src/core/components/ui/pop/pop.md +185 -65
  274. package/docs/src/core/components/ui/progress/progress.md +76 -30
  275. package/docs/src/core/components/ui/table/table.md +146 -334
  276. package/docs/src/core/components/ui/theme/theme.md +97 -0
  277. package/docs/src/core/components/ui/toast/toast.md +80 -99
  278. package/docs/src/core/components/ui/tooltip/tooltip.md +52 -45
  279. package/docs/src/docs/decorators/ancestor-attribute.md +59 -0
  280. package/docs/src/docs/decorators/auto-subscribe.md +40 -0
  281. package/docs/src/docs/decorators/bind.md +77 -0
  282. package/docs/src/docs/decorators/get.md +160 -0
  283. package/docs/src/docs/decorators/handle.md +119 -0
  284. package/docs/src/docs/decorators/on-assign.md +63 -0
  285. package/docs/src/docs/decorators/patch.md +44 -0
  286. package/docs/src/docs/decorators/post.md +134 -0
  287. package/docs/src/docs/decorators/publish.md +56 -0
  288. package/docs/src/docs/decorators/put.md +51 -0
  289. package/docs/src/docs/decorators/subscribe.md +87 -0
  290. package/docs/src/docs/decorators/wait-for-ancestors.md +76 -0
  291. package/docs/src/docs/directives/sub.md +75 -0
  292. package/docs/src/docs/directives/t.md +73 -0
  293. package/docs/src/docs/{_getting-started → getting-started}/ai-agents.md +3 -3
  294. package/docs/src/docs/getting-started/components.md +5 -0
  295. package/{src/docs/_getting-started → docs/src/docs/getting-started}/create-a-component.md +3 -6
  296. package/{src/docs/_core-concept → docs/src/docs/getting-started}/dataFlow.md +17 -18
  297. package/docs/src/docs/getting-started/installation.md +36 -0
  298. package/{src/docs/_getting-started → docs/src/docs/getting-started}/my-first-component.md +5 -14
  299. package/docs/src/docs/getting-started/start.md +35 -0
  300. package/docs/src/docs/getting-started/theming.md +253 -0
  301. package/{src/docs/_misc → docs/src/docs/misc}/api-configuration.md +10 -12
  302. package/docs/src/docs/{_misc → misc}/dataProviderKey.md +4 -4
  303. package/{src/docs/_misc → docs/src/docs/misc}/docs-mock-api.md +12 -13
  304. package/docs/src/docs/{_misc → misc}/dynamic-path.md +8 -8
  305. package/docs/src/docs/{_misc → misc}/endpoint.md +8 -8
  306. package/{src/docs/_misc → docs/src/docs/misc}/html-integration.md +4 -5
  307. package/docs/src/docs/search/docs-search.json +3729 -2949
  308. package/docs/src/tsconfig.json +176 -5
  309. package/index.html +94 -67
  310. package/package.json +11 -4
  311. package/public/docs-mock-api-sw.js +58 -223
  312. package/public/docs-mock-api-sw.js.map +4 -4
  313. package/public/img/archive/concorde-001-2cv.webp +0 -0
  314. package/public/img/archive/concorde-red-arrows-2002-poster.jpg +0 -0
  315. package/public/img/archive/concorde-red-arrows-2002.webm +0 -0
  316. package/public/img/archive/credits.json +28 -0
  317. package/public/img/concorde/plane_01.jpg +0 -0
  318. package/public/img/concorde/plane_02.jpg +0 -0
  319. package/public/img/concorde/plane_03.jpg +0 -0
  320. package/public/img/concorde/plane_04.jpg +0 -0
  321. package/public/img/concorde/plane_05.jpg +0 -0
  322. package/public/img/concorde/plane_06.jpg +0 -0
  323. package/public/img/concorde/plane_07.jpg +0 -0
  324. package/public/img/concorde/plane_08.jpg +0 -0
  325. package/public/img/concorde/plane_09.jpg +0 -0
  326. package/public/img/concorde/plane_10.jpg +0 -0
  327. package/public/img/concorde/plane_11.jpg +0 -0
  328. package/public/img/concorde/plane_12.jpg +0 -0
  329. package/public/img/concorde/plane_13.jpg +0 -0
  330. package/public/robots.txt +11 -10
  331. package/scripts/docs-markdown-vite-plugin.ts +37 -0
  332. package/scripts/docs-public-url.mjs +50 -0
  333. package/scripts/docs.htaccess +75 -0
  334. package/scripts/generate-crawl-docs.mjs +207 -116
  335. package/scripts/generate-crawl-docs.test.mjs +124 -0
  336. package/scripts/post-build-docs.js +34 -50
  337. package/scripts/post-build.mjs +0 -0
  338. package/src/core/components/functional/date/date.md +91 -231
  339. package/src/core/components/functional/fetch/fetch.md +66 -83
  340. package/src/core/components/functional/if/if.md +28 -3
  341. package/src/core/components/functional/if/if.ts +0 -0
  342. package/src/core/components/functional/jsonata/jsonata.md +42 -37
  343. package/src/core/components/functional/list/list.demo.ts +0 -0
  344. package/src/core/components/functional/list/list.md +99 -43
  345. package/src/core/components/functional/mix/mix.md +31 -26
  346. package/src/core/components/functional/queue/queue.demo.ts +10 -7
  347. package/src/core/components/functional/queue/queue.md +40 -61
  348. package/src/core/components/functional/router/router.demo.ts +16 -16
  349. package/src/core/components/functional/router/router.md +64 -65
  350. package/src/core/components/functional/router/router.ts +0 -0
  351. package/src/core/components/functional/sdui/SDUIDescriptorTransformer.ts +0 -0
  352. package/src/core/components/functional/sdui/component-catalog.gaps.json +1 -1
  353. package/src/core/components/functional/sdui/component-catalog.json +1 -1
  354. package/src/core/components/functional/sdui/example.json +19 -86
  355. package/src/core/components/functional/sdui/sdui-extension-points.md +1 -1
  356. package/src/core/components/functional/sdui/sdui.md +187 -358
  357. package/src/core/components/functional/sdui/types.ts +0 -0
  358. package/src/core/components/functional/states/states.demo.ts +21 -22
  359. package/src/core/components/functional/states/states.md +86 -61
  360. package/src/core/components/functional/states/states.ts +1 -1
  361. package/src/core/components/functional/submit/submit.md +64 -72
  362. package/src/core/components/functional/subscriber/subscriber.ts +0 -0
  363. package/src/core/components/functional/translation/translation.md +38 -0
  364. package/src/core/components/functional/value/value.md +34 -22
  365. package/src/core/components/functional/value/value.ts +0 -0
  366. package/src/core/components/ui/_css/size.ts +0 -0
  367. package/src/core/components/ui/alert/alert.md +48 -58
  368. package/src/core/components/ui/badge/badge.md +27 -34
  369. package/src/core/components/ui/button/button.md +139 -106
  370. package/src/core/components/ui/captcha/altchaStyles.ts +0 -0
  371. package/src/core/components/ui/captcha/captcha.md +17 -32
  372. package/src/core/components/ui/card/card.md +6 -6
  373. package/src/core/components/ui/divider/divider.md +8 -11
  374. package/src/core/components/ui/form/checkbox/checkbox.md +90 -42
  375. package/src/core/components/ui/form/fieldset/fieldset.md +31 -75
  376. package/src/core/components/ui/form/form-actions/form-actions.md +14 -16
  377. package/src/core/components/ui/form/form-layout/form-layout.md +19 -29
  378. package/src/core/components/ui/form/input/input.md +95 -95
  379. package/src/core/components/ui/form/radio/radio.md +55 -34
  380. package/src/core/components/ui/form/select/select.md +60 -45
  381. package/src/core/components/ui/form/switch/switch.md +57 -34
  382. package/src/core/components/ui/form/textarea/textarea.md +55 -38
  383. package/src/core/components/ui/group/group.md +35 -33
  384. package/src/core/components/ui/icon/icon.md +4 -4
  385. package/src/core/components/ui/image/image.md +41 -107
  386. package/src/core/components/ui/link/link.md +6 -6
  387. package/src/core/components/ui/loader/loader.md +30 -55
  388. package/src/core/components/ui/menu/menu.md +27 -27
  389. package/src/core/components/ui/modal/modal.md +72 -96
  390. package/src/core/components/ui/modal/modal.ts +14 -11
  391. package/src/core/components/ui/pop/pop.md +80 -158
  392. package/src/core/components/ui/progress/progress.md +2 -2
  393. package/src/core/components/ui/table/table.md +91 -255
  394. package/src/core/components/ui/theme/theme.md +11 -36
  395. package/src/core/components/ui/toast/toast.md +48 -117
  396. package/src/core/components/ui/tooltip/tooltip.md +27 -62
  397. package/src/core/mixins/Subscriber.ts +0 -0
  398. package/src/core/utils/DataBindObserver.ts +0 -0
  399. package/src/core/utils/LocationHandler.spec.ts +80 -0
  400. package/src/core/utils/LocationHandler.ts +5 -9
  401. package/src/core/utils/Objects.ts +0 -0
  402. package/src/core/utils/route.ts +0 -0
  403. package/src/docs/code.ts +88 -75
  404. package/src/docs/components/docs-demo-sources.ts +70 -147
  405. package/src/docs/components/docs-lit-demo.ts +20 -40
  406. package/src/docs/components/docs-source-link.ts +0 -82
  407. package/src/docs/decorators/ancestor-attribute.md +59 -0
  408. package/src/docs/decorators/auto-subscribe.md +40 -0
  409. package/src/docs/decorators/bind.md +77 -0
  410. package/src/docs/decorators/get.md +160 -0
  411. package/src/docs/decorators/handle.md +119 -0
  412. package/src/docs/decorators/on-assign.md +63 -0
  413. package/src/docs/decorators/patch.md +44 -0
  414. package/src/docs/decorators/post.md +134 -0
  415. package/src/docs/decorators/publish.md +56 -0
  416. package/src/docs/decorators/put.md +51 -0
  417. package/src/docs/decorators/subscribe.md +87 -0
  418. package/src/docs/decorators/wait-for-ancestors.md +76 -0
  419. package/src/docs/directives/sub.md +75 -0
  420. package/src/docs/directives/t.md +73 -0
  421. package/src/docs/docs-location.spec.ts +46 -0
  422. package/src/docs/docs-location.ts +123 -32
  423. package/src/docs/docs.ts +6 -2
  424. package/src/docs/example/decorators-demo-bind-demos.ts +81 -116
  425. package/src/docs/example/decorators-demo-geo.ts +30 -19
  426. package/src/docs/example/decorators-demo-post.ts +88 -186
  427. package/src/docs/example/decorators-demo-subscribe-publish-get-demos.ts +165 -268
  428. package/src/docs/example/decorators-demo.ts +85 -98
  429. package/src/docs/example/docs-api-config-demos.ts +19 -20
  430. package/src/docs/example/docs-boarding-pass-demo.ts +134 -0
  431. package/src/docs/example/docs-flight-demos.ts +147 -0
  432. package/src/docs/example/docs-jsonata-demos.ts +52 -52
  433. package/src/docs/example/docs-list-demos.ts +43 -123
  434. package/src/docs/example/docs-provider-keys.ts +33 -28
  435. package/src/docs/example/docs-queue-demos.ts +37 -77
  436. package/src/docs/example/docs-router-demos.ts +20 -25
  437. package/src/docs/example/docs-submit-demos.ts +48 -48
  438. package/src/docs/example/docs-toggle-demos.ts +4 -3
  439. package/src/docs/example/users.ts +0 -0
  440. package/src/docs/getting-started/ai-agents.md +76 -0
  441. package/src/docs/getting-started/components.md +5 -0
  442. package/src/docs/getting-started/create-a-component.md +136 -0
  443. package/src/docs/getting-started/dataFlow.md +87 -0
  444. package/src/docs/getting-started/installation.md +36 -0
  445. package/src/docs/getting-started/my-first-component.md +227 -0
  446. package/src/docs/getting-started/start.md +35 -0
  447. package/src/docs/getting-started/theming.md +253 -0
  448. package/src/docs/header/header.ts +240 -71
  449. package/src/docs/home/catalog.ts +44 -0
  450. package/src/docs/home/home.ts +520 -0
  451. package/src/docs/home/mach-stage.ts +389 -0
  452. package/src/docs/layout.ts +12 -11
  453. package/src/docs/misc/api-configuration.md +79 -0
  454. package/src/docs/misc/dataProviderKey.md +168 -0
  455. package/src/docs/misc/docs-mock-api.md +62 -0
  456. package/src/docs/misc/dynamic-path.md +71 -0
  457. package/src/docs/misc/endpoint.md +45 -0
  458. package/src/docs/misc/html-integration.md +14 -0
  459. package/src/docs/mock-api/api-config-mock.ts +5 -0
  460. package/src/docs/mock-api/fixtures.ts +0 -278
  461. package/src/docs/mock-api/flights.ts +89 -0
  462. package/src/docs/mock-api/router.ts +3 -4
  463. package/src/docs/mock-api/urls.ts +1 -2
  464. package/src/docs/navigation/components-index.ts +56 -0
  465. package/src/docs/navigation/navigation.ts +219 -232
  466. package/src/docs/navigation/pager.ts +67 -0
  467. package/src/docs/navigation/toc.ts +101 -0
  468. package/src/docs/search/docs-search.json +2419 -4374
  469. package/src/docs/search/markdown-renderer.ts +33 -7
  470. package/src/docs/search/page.ts +9 -6
  471. package/src/docs/search/search.ts +154 -122
  472. package/src/docs/shiki/index.ts +109 -0
  473. package/src/docs/tailwind/css/base/scrollbar.css +22 -0
  474. package/src/docs/tailwind/css/base/theme.css +96 -0
  475. package/src/docs/tailwind/css/base/typography.css +4 -0
  476. package/src/docs/tailwind/css/docs/boarding-pass.css +65 -0
  477. package/src/docs/tailwind/css/docs/content.css +32 -0
  478. package/src/docs/tailwind/css/docs/page.css +10 -0
  479. package/src/docs/tailwind/css/docs.css +9 -0
  480. package/src/docs/tailwind/css/home/hero.css +210 -0
  481. package/src/docs/tailwind/css/home/motion.css +84 -0
  482. package/src/docs/tailwind/css/home/sections.css +416 -0
  483. package/src/docs/tailwind/css/tailwind.css +7 -185
  484. package/src/tsconfig.json +23 -2
  485. package/src/tsconfig.tsbuildinfo +1 -1
  486. package/tailwind.config.js +8 -4
  487. package/vite.config.mts +11 -2
  488. package/.agents/skills/concorde-component-docs/SKILL.md +0 -194
  489. package/.github/workflows/ci.yml +0 -21
  490. package/.github-export-ignore +0 -30
  491. package/CONTRIBUTING.md +0 -59
  492. package/DEV.md +0 -54
  493. package/LICENSE +0 -21
  494. package/OPEN_SOURCE_CHECKPOINT.md +0 -133
  495. package/concorde-3d.bundle.js +0 -3960
  496. package/concorde-3d.es.js +0 -33433
  497. package/concorde-hugging-face-infer.bundle.js +0 -32
  498. package/concorde-hugging-face-infer.es.js +0 -2952
  499. package/concorde-interactive.bundle.js +0 -1157
  500. package/concorde-interactive.es.js +0 -10734
  501. package/concorde-shader.bundle.js +0 -116
  502. package/concorde-shader.es.js +0 -8353
  503. package/concorde-webgpu.bundle.js +0 -307
  504. package/concorde-webgpu.es.js +0 -8627
  505. package/docs/assets/index-D8MVWqY6.js +0 -12251
  506. package/docs/assets/index-DiD0qYvE.css +0 -1
  507. package/docs/crawl/core/components/functional/date/date.html +0 -190
  508. package/docs/crawl/core/components/functional/fetch/fetch.html +0 -109
  509. package/docs/crawl/core/components/functional/if/if.html +0 -27
  510. package/docs/crawl/core/components/functional/jsonata/jsonata.html +0 -79
  511. package/docs/crawl/core/components/functional/list/list.html +0 -70
  512. package/docs/crawl/core/components/functional/mix/mix.html +0 -45
  513. package/docs/crawl/core/components/functional/queue/queue.html +0 -96
  514. package/docs/crawl/core/components/functional/router/router.html +0 -106
  515. package/docs/crawl/core/components/functional/sdui/sdui.html +0 -269
  516. package/docs/crawl/core/components/functional/states/states.html +0 -66
  517. package/docs/crawl/core/components/functional/submit/submit.html +0 -160
  518. package/docs/crawl/core/components/functional/value/value.html +0 -51
  519. package/docs/crawl/core/components/ui/alert/alert.html +0 -110
  520. package/docs/crawl/core/components/ui/alert-messages/alert-messages.html +0 -23
  521. package/docs/crawl/core/components/ui/badge/badge.html +0 -119
  522. package/docs/crawl/core/components/ui/button/button.html +0 -149
  523. package/docs/crawl/core/components/ui/captcha/captcha.html +0 -30
  524. package/docs/crawl/core/components/ui/card/card.html +0 -99
  525. package/docs/crawl/core/components/ui/divider/divider.html +0 -58
  526. package/docs/crawl/core/components/ui/form/checkbox/checkbox.html +0 -73
  527. package/docs/crawl/core/components/ui/form/fieldset/fieldset.html +0 -135
  528. package/docs/crawl/core/components/ui/form/form-actions/form-actions.html +0 -79
  529. package/docs/crawl/core/components/ui/form/form-layout/form-layout.html +0 -62
  530. package/docs/crawl/core/components/ui/form/input/input.html +0 -109
  531. package/docs/crawl/core/components/ui/form/input-autocomplete/input-autocomplete.html +0 -38
  532. package/docs/crawl/core/components/ui/form/radio/radio.html +0 -56
  533. package/docs/crawl/core/components/ui/form/select/select.html +0 -73
  534. package/docs/crawl/core/components/ui/form/switch/switch.html +0 -56
  535. package/docs/crawl/core/components/ui/form/textarea/textarea.html +0 -59
  536. package/docs/crawl/core/components/ui/group/group.html +0 -82
  537. package/docs/crawl/core/components/ui/icon/icon.html +0 -133
  538. package/docs/crawl/core/components/ui/image/image.html +0 -110
  539. package/docs/crawl/core/components/ui/link/link.html +0 -42
  540. package/docs/crawl/core/components/ui/loader/loader.html +0 -50
  541. package/docs/crawl/core/components/ui/modal/modal.html +0 -117
  542. package/docs/crawl/core/components/ui/pop/pop.html +0 -102
  543. package/docs/crawl/core/components/ui/progress/progress.html +0 -58
  544. package/docs/crawl/core/components/ui/table/table.html +0 -413
  545. package/docs/crawl/core/components/ui/toast/toast.html +0 -122
  546. package/docs/crawl/core/components/ui/tooltip/tooltip.html +0 -79
  547. package/docs/crawl/docs/_core-concept/overview.html +0 -66
  548. package/docs/crawl/docs/_core-concept/subscriber.html +0 -75
  549. package/docs/crawl/docs/_decorators/ancestor-attribute.html +0 -116
  550. package/docs/crawl/docs/_decorators/auto-subscribe.html +0 -202
  551. package/docs/crawl/docs/_decorators/bind.html +0 -141
  552. package/docs/crawl/docs/_decorators/get.html +0 -149
  553. package/docs/crawl/docs/_decorators/handle.html +0 -165
  554. package/docs/crawl/docs/_decorators/on-assign.html +0 -355
  555. package/docs/crawl/docs/_decorators/patch.html +0 -78
  556. package/docs/crawl/docs/_decorators/post.html +0 -139
  557. package/docs/crawl/docs/_decorators/publish.html +0 -61
  558. package/docs/crawl/docs/_decorators/put.html +0 -78
  559. package/docs/crawl/docs/_decorators/subscribe.html +0 -109
  560. package/docs/crawl/docs/_decorators/wait-for-ancestors.html +0 -137
  561. package/docs/crawl/docs/_directives/sub.html +0 -93
  562. package/docs/crawl/docs/_getting-started/concorde-manual-install.html +0 -100
  563. package/docs/crawl/docs/_getting-started/concorde-outside.html +0 -58
  564. package/docs/crawl/docs/_getting-started/my-first-subscriber.html +0 -110
  565. package/docs/crawl/docs/_getting-started/pubsub.html +0 -62
  566. package/docs/crawl/docs/_getting-started/start.html +0 -76
  567. package/docs/crawl/docs/_getting-started/theming.html +0 -85
  568. package/docs/crawl/docs/_misc/formelement-subscriber-removal.html +0 -138
  569. package/docs/crawl/hubs/decorators.html +0 -547
  570. package/docs/crawl/hubs/form-components.html +0 -359
  571. package/docs/crawl/hubs/remote-data.html +0 -452
  572. package/docs/crawl/index.html +0 -101
  573. package/docs/src/core/components/ui/form/input-autocomplete/input-autocomplete.md +0 -29
  574. package/docs/src/docs/_core-concept/overview.md +0 -57
  575. package/docs/src/docs/_core-concept/subscriber.md +0 -75
  576. package/docs/src/docs/_decorators/ancestor-attribute.md +0 -127
  577. package/docs/src/docs/_decorators/auto-subscribe.md +0 -202
  578. package/docs/src/docs/_decorators/bind.md +0 -167
  579. package/docs/src/docs/_decorators/get.md +0 -162
  580. package/docs/src/docs/_decorators/handle.md +0 -175
  581. package/docs/src/docs/_decorators/on-assign.md +0 -390
  582. package/docs/src/docs/_decorators/patch.md +0 -70
  583. package/docs/src/docs/_decorators/post.md +0 -146
  584. package/docs/src/docs/_decorators/publish.md +0 -55
  585. package/docs/src/docs/_decorators/put.md +0 -70
  586. package/docs/src/docs/_decorators/subscribe.md +0 -100
  587. package/docs/src/docs/_decorators/wait-for-ancestors.md +0 -163
  588. package/docs/src/docs/_directives/sub.md +0 -91
  589. package/docs/src/docs/_getting-started/concorde-manual-install.md +0 -133
  590. package/docs/src/docs/_getting-started/concorde-outside.md +0 -33
  591. package/docs/src/docs/_getting-started/my-first-subscriber.md +0 -120
  592. package/docs/src/docs/_getting-started/pubsub.md +0 -37
  593. package/docs/src/docs/_getting-started/start.md +0 -47
  594. package/docs/src/docs/_getting-started/theming.md +0 -91
  595. package/docs/src/docs/_misc/formelement-subscriber-removal.md +0 -115
  596. package/docs/src/tsconfig.declarations.json +0 -22
  597. package/docs/src/tsconfig.emit.json +0 -23
  598. package/gitlab/job_github_mirror.sh +0 -39
  599. package/scripts/github-export.mjs +0 -150
  600. package/src/core/components/ui/form/input-autocomplete/input-autocomplete.md +0 -29
  601. package/src/css.d.ts +0 -19
  602. package/src/docs/_core-concept/overview.md +0 -57
  603. package/src/docs/_core-concept/subscriber.md +0 -75
  604. package/src/docs/_decorators/ancestor-attribute.md +0 -128
  605. package/src/docs/_decorators/auto-subscribe.md +0 -202
  606. package/src/docs/_decorators/bind.md +0 -167
  607. package/src/docs/_decorators/get.md +0 -162
  608. package/src/docs/_decorators/handle.md +0 -175
  609. package/src/docs/_decorators/on-assign.md +0 -390
  610. package/src/docs/_decorators/patch.md +0 -70
  611. package/src/docs/_decorators/post.md +0 -146
  612. package/src/docs/_decorators/publish.md +0 -55
  613. package/src/docs/_decorators/put.md +0 -70
  614. package/src/docs/_decorators/subscribe.md +0 -100
  615. package/src/docs/_decorators/wait-for-ancestors.md +0 -163
  616. package/src/docs/_directives/sub.md +0 -91
  617. package/src/docs/_getting-started/concorde-manual-install.md +0 -133
  618. package/src/docs/_getting-started/concorde-outside.md +0 -33
  619. package/src/docs/_getting-started/my-first-subscriber.md +0 -120
  620. package/src/docs/_getting-started/pubsub.md +0 -37
  621. package/src/docs/_misc/formelement-subscriber-removal.md +0 -115
  622. package/src/docs/example/docs-input-autocomplete-demos.ts +0 -110
  623. package/src/docs/example/docs-joke-demos.ts +0 -297
  624. package/src/docs/prism/index.ts +0 -6
  625. package/src/docs/prism/prism.css +0 -158
  626. package/src/docs/prism/prism.js +0 -1022
  627. package/src/tsconfig.declarations.json +0 -22
  628. package/src/tsconfig.emit.json +0 -23
@@ -1,21 +1,22 @@
1
1
  <!DOCTYPE html>
2
- <html lang="fr" data-crawl-url="https://concorde.supersoniks.org/crawl/docs/_misc/dynamic-path.html" data-doc-id="docs/_misc/dynamic-path">
2
+ <html lang="en" data-doc-url="https://concorde.supersoniks.org/docs/misc/dynamic-path" data-doc-id="docs/misc/dynamic-path">
3
3
  <head>
4
4
  <meta charset="UTF-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>Dynamic path placeholders — Concorde</title>
6
+ <title>Dynamic path placeholders — Concorde by Supersoniks</title>
7
7
  <meta name="description" content="Decorators and DataProviderKey paths can include placeholders resolved on the host component at runtime:">
8
- <meta name="keywords" content="Concorde, supersoniks, docs/_misc/dynamic-path, dynamic-path, Dynamic path placeholders, reference, DataProviderKey, ${prop}, {$prop}, &quot;users/${userId}&quot;, &quot;api/sessions/${sessionId}/sync&quot;, &quot;teams.${teamId}.members&quot;, resolveDynamicPath, userId, sessionId, requestAnimationFrame">
9
- <meta name="concorde-doc-id" content="docs/_misc/dynamic-path">
10
- <link rel="canonical" href="https://concorde.supersoniks.org/crawl/docs/_misc/dynamic-path.html">
8
+ <meta name="keywords" content="Concorde, supersoniks, docs/misc/dynamic-path, dynamic-path, Dynamic path placeholders, reference, DataProviderKey, ${prop}, {$prop}, &quot;users/${userId}&quot;, &quot;api/sessions/${sessionId}/sync&quot;, &quot;teams.${teamId}.members&quot;, resolveDynamicPath, userId, sessionId, requestAnimationFrame">
9
+ <meta name="concorde-doc-id" content="docs/misc/dynamic-path">
10
+ <link rel="canonical" href="https://concorde.supersoniks.org/docs/misc/dynamic-path">
11
+ <link rel="alternate" type="text/markdown" href="https://concorde.supersoniks.org/docs/misc/dynamic-path.md">
11
12
  </head>
12
13
  <body>
13
14
  <header>
14
- <p><a href="../../index.html">Concorde documentation (crawl)</a> · <a href="https://concorde.supersoniks.org/#docs/_misc/dynamic-path.md/dynamic-path" rel="nofollow">interactive version</a></p>
15
+ <p><a href="/docs/index.html">Concorde documentation</a> · <a href="https://concorde.supersoniks.org/docs/misc/dynamic-path">same URL (interactive)</a> · <a href="/llms.txt">llms.txt</a></p>
15
16
  </header>
16
17
  <main>
17
18
  <article>
18
- <p class="doc-lead" id="doc-summary"><strong>Concorde reference — Dynamic path placeholders</strong>. Decorators and DataProviderKey paths can include placeholders resolved on the host component at runtime: <span>Doc ID: <code>docs/_misc/dynamic-path</code>. Keywords: Concorde, supersoniks, docs/_misc/dynamic-path, dynamic-path, Dynamic path placeholders, reference, DataProviderKey, ${prop}, {$prop}, &quot;users/${userId}&quot;, &quot;api/sessions/${sessionId}/sync&quot;, &quot;teams.${teamId}.members&quot;, resolveDynamicPath, userId, sessionId, requestAnimationFrame. URL: <a href="https://concorde.supersoniks.org/crawl/docs/_misc/dynamic-path.html">https://concorde.supersoniks.org/crawl/docs/_misc/dynamic-path.html</a>.</span></p>
19
+ <p class="doc-lead" id="doc-summary"><strong>Concorde reference — Dynamic path placeholders</strong>. Decorators and DataProviderKey paths can include placeholders resolved on the host component at runtime: <span>Doc ID: <code>docs/misc/dynamic-path</code>. Keywords: Concorde, supersoniks, docs/misc/dynamic-path, dynamic-path, Dynamic path placeholders, reference, DataProviderKey, ${prop}, {$prop}, &quot;users/${userId}&quot;, &quot;api/sessions/${sessionId}/sync&quot;, &quot;teams.${teamId}.members&quot;, resolveDynamicPath, userId, sessionId, requestAnimationFrame. URL: <a href="https://concorde.supersoniks.org/docs/misc/dynamic-path">https://concorde.supersoniks.org/docs/misc/dynamic-path</a>.</span></p>
19
20
  <h1 id="dynamic-path-placeholders">Dynamic path placeholders</h1>
20
21
  <p>Decorators and <code>DataProviderKey</code> paths can include <strong>placeholders</strong> resolved on the host component at runtime:</p>
21
22
  <ul>
@@ -116,7 +117,7 @@
116
117
  <td><code>PostOptions</code> / <code>ApiSendOptions</code></td>
117
118
  </tr>
118
119
  <tr>
119
- <td><code>@bind</code> / <code>@subscribe</code></td>
120
+ <td><code>@bind</code></td>
120
121
  <td><code>BindOptions</code></td>
121
122
  </tr>
122
123
  <tr>
@@ -165,13 +166,13 @@
165
166
  </tbody></table>
166
167
  <h2 id="see-also">See also</h2>
167
168
  <ul>
168
- <li><a href="./dataProviderKey.html#dataProviderKey">DataProviderKey</a> — path syntax</li>
169
- <li><a href="./endpoint.html#endpoint">Endpoint</a> — HTTP paths + host generic <code>U</code></li>
170
- <li>HTTP: <a href="../_decorators/get.html#get">@get</a> · <a href="../_decorators/post.html#post">@post</a> · <a href="../_decorators/put.html#put">@put</a> · <a href="../_decorators/patch.html#patch">@patch</a></li>
171
- <li>Store: <a href="../_decorators/subscribe.html#subscribe">@subscribe</a> · <a href="../_decorators/bind.html#bind">@bind</a> · <a href="../_decorators/publish.html#publish">@publish</a> · <a href="../_decorators/handle.html#handle">@handle</a></li>
172
- <li>Legacy strings: <a href="../_decorators/on-assign.html#on-assign">@onAssign</a> (dynamic paths section)</li>
173
- <li>Templates: <a href="../_directives/sub.html#sub">sub()</a> — dynamic paths in Lit (no <code>skipEmptyPlaceholder</code> yet)</li>
174
- <li>Tutorial: <a href="../_getting-started/my-first-component.html#my-first-component">My first component</a> — <code>&quot;${dataProvider}&quot;</code> scope pattern</li>
169
+ <li><a href="/docs/misc/dataProviderKey">DataProviderKey</a> — path syntax</li>
170
+ <li><a href="/docs/misc/endpoint">Endpoint</a> — HTTP paths + host generic <code>U</code></li>
171
+ <li>HTTP: <a href="/docs/decorators/get">@get</a> · <a href="/docs/decorators/post">@post</a> · <a href="/docs/decorators/put">@put</a> · <a href="/docs/decorators/patch">@patch</a></li>
172
+ <li>Store: <a href="/docs/decorators/subscribe">@subscribe</a> · <a href="/docs/decorators/bind">@bind</a> · <a href="/docs/decorators/publish">@publish</a> · <a href="/docs/decorators/handle">@handle</a></li>
173
+ <li>Legacy strings: <a href="/docs/decorators/on-assign">@onAssign</a> (dynamic paths section)</li>
174
+ <li>Templates: <a href="/docs/directives/sub">sub()</a> — dynamic paths in Lit (no <code>skipEmptyPlaceholder</code> yet)</li>
175
+ <li>Tutorial: <a href="/docs/getting-started/my-first-component">My first component</a> — <code>&quot;${dataProvider}&quot;</code> scope pattern</li>
175
176
  </ul>
176
177
 
177
178
  </article>
@@ -46,7 +46,7 @@ Available on:
46
46
  |-----|--------|
47
47
  | `@get` | 2nd or 3rd argument (`GetOptions`) |
48
48
  | `@post` / `@put` / `@patch` | `PostOptions` / `ApiSendOptions` |
49
- | `@bind` / `@subscribe` | `BindOptions` |
49
+ | `@bind` | `BindOptions` |
50
50
  | `@publish` | 2nd argument `PublishOptions` |
51
51
  | `@handle` | `HandleOptions` |
52
52
 
@@ -62,10 +62,10 @@ Available on:
62
62
 
63
63
  ## See also
64
64
 
65
- - [DataProviderKey](#docs/_misc/dataProviderKey.md/dataProviderKey) — path syntax
66
- - [Endpoint](#docs/_misc/endpoint.md/endpoint) — HTTP paths + host generic `U`
67
- - HTTP: [@get](#docs/_decorators/get.md/get) · [@post](#docs/_decorators/post.md/post) · [@put](#docs/_decorators/put.md/put) · [@patch](#docs/_decorators/patch.md/patch)
68
- - Store: [@subscribe](#docs/_decorators/subscribe.md/subscribe) · [@bind](#docs/_decorators/bind.md/bind) · [@publish](#docs/_decorators/publish.md/publish) · [@handle](#docs/_decorators/handle.md/handle)
69
- - Legacy strings: [@onAssign](#docs/_decorators/on-assign.md/on-assign) (dynamic paths section)
70
- - Templates: [sub()](#docs/_directives/sub.md/sub) — dynamic paths in Lit (no `skipEmptyPlaceholder` yet)
71
- - Tutorial: [My first component](#docs/_getting-started/my-first-component.md/my-first-component) — `"${dataProvider}"` scope pattern
65
+ - [DataProviderKey](/docs/misc/dataProviderKey) — path syntax
66
+ - [Endpoint](/docs/misc/endpoint) — HTTP paths + host generic `U`
67
+ - HTTP: [@get](/docs/decorators/get) · [@post](/docs/decorators/post) · [@put](/docs/decorators/put) · [@patch](/docs/decorators/patch)
68
+ - Store: [@subscribe](/docs/decorators/subscribe) · [@bind](/docs/decorators/bind) · [@publish](/docs/decorators/publish) · [@handle](/docs/decorators/handle)
69
+ - Legacy strings: [@onAssign](/docs/decorators/on-assign) (dynamic paths section)
70
+ - Templates: [sub()](/docs/directives/sub) — dynamic paths in Lit (no `skipEmptyPlaceholder` yet)
71
+ - Tutorial: [My first component](/docs/getting-started/my-first-component) — `"${dataProvider}"` scope pattern
@@ -1,24 +1,25 @@
1
1
  <!DOCTYPE html>
2
- <html lang="fr" data-crawl-url="https://concorde.supersoniks.org/crawl/docs/_misc/endpoint.html" data-doc-id="docs/_misc/endpoint">
2
+ <html lang="en" data-doc-url="https://concorde.supersoniks.org/docs/misc/endpoint" data-doc-id="docs/misc/endpoint">
3
3
  <head>
4
4
  <meta charset="UTF-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>Endpoint — Concorde</title>
6
+ <title>Endpoint — Concorde by Supersoniks</title>
7
7
  <meta name="description" content="Endpoint&lt;T, U&gt; describes a single HTTP path (or a path accepted by API.get) and carries the expected response type T. Unlike DataProviderKey, there is no dot-navigation: the path is one string.">
8
- <meta name="keywords" content="Concorde, supersoniks, docs/_misc/endpoint, endpoint, Endpoint, reference, API.get, (default , ${…}, {$…}, null, undefined, &quot;&quot;, and , userId">
9
- <meta name="concorde-doc-id" content="docs/_misc/endpoint">
10
- <link rel="canonical" href="https://concorde.supersoniks.org/crawl/docs/_misc/endpoint.html">
8
+ <meta name="keywords" content="Concorde, supersoniks, docs/misc/endpoint, endpoint, Endpoint, reference, API.get, (default , ${…}, {$…}, null, undefined, &quot;&quot;, and , userId">
9
+ <meta name="concorde-doc-id" content="docs/misc/endpoint">
10
+ <link rel="canonical" href="https://concorde.supersoniks.org/docs/misc/endpoint">
11
+ <link rel="alternate" type="text/markdown" href="https://concorde.supersoniks.org/docs/misc/endpoint.md">
11
12
  </head>
12
13
  <body>
13
14
  <header>
14
- <p><a href="../../index.html">Concorde documentation (crawl)</a> · <a href="https://concorde.supersoniks.org/#docs/_misc/endpoint.md/endpoint" rel="nofollow">interactive version</a></p>
15
+ <p><a href="/docs/index.html">Concorde documentation</a> · <a href="https://concorde.supersoniks.org/docs/misc/endpoint">same URL (interactive)</a> · <a href="/llms.txt">llms.txt</a></p>
15
16
  </header>
16
17
  <main>
17
18
  <article>
18
- <p class="doc-lead" id="doc-summary"><strong>Concorde reference — Endpoint</strong>. Endpoint&lt;T, U&gt; describes a single HTTP path (or a path accepted by API.get) and carries the expected response type T. Unlike DataProviderKey, there is no dot-navigation: the path is one string. <span>Doc ID: <code>docs/_misc/endpoint</code>. Keywords: Concorde, supersoniks, docs/_misc/endpoint, endpoint, Endpoint, reference, API.get, (default , ${…}, {$…}, null, undefined, &quot;&quot;, and , userId. URL: <a href="https://concorde.supersoniks.org/crawl/docs/_misc/endpoint.html">https://concorde.supersoniks.org/crawl/docs/_misc/endpoint.html</a>.</span></p>
19
+ <p class="doc-lead" id="doc-summary"><strong>Concorde reference — Endpoint</strong>. Endpoint&lt;T, U&gt; describes a single HTTP path (or a path accepted by API.get) and carries the expected response type T. Unlike DataProviderKey, there is no dot-navigation: the path is one string. <span>Doc ID: <code>docs/misc/endpoint</code>. Keywords: Concorde, supersoniks, docs/misc/endpoint, endpoint, Endpoint, reference, API.get, (default , ${…}, {$…}, null, undefined, &quot;&quot;, and , userId. URL: <a href="https://concorde.supersoniks.org/docs/misc/endpoint">https://concorde.supersoniks.org/docs/misc/endpoint</a>.</span></p>
19
20
  <h1 id="endpoint">Endpoint</h1>
20
- <p><code>Endpoint&lt;T, U&gt;</code> describes a single HTTP path (or a path accepted by <code>API.get</code>) and carries the expected response type <code>T</code>. Unlike <a href="./dataProviderKey.html#dataProviderKey">DataProviderKey</a>, there is no dot-navigation: the path is one string.</p>
21
- <p>The optional second generic <code>U</code> (default <code>any</code>) describes host properties used to resolve dynamic segments in the path (<code>${…}</code> / <code>{$…}</code>), for example with <a href="../_decorators/get.html#get">@get</a> or <a href="../_decorators/post.html#post">@post</a>. See <a href="./dynamic-path.html#dynamic-path">Dynamic path placeholders</a> for <code>null</code> / <code>undefined</code> / <code>&quot;&quot;</code> / <code>0</code> and <code>skipEmptyPlaceholder</code>.</p>
21
+ <p><code>Endpoint&lt;T, U&gt;</code> describes a single HTTP path (or a path accepted by <code>API.get</code>) and carries the expected response type <code>T</code>. Unlike <a href="/docs/misc/dataProviderKey">DataProviderKey</a>, there is no dot-navigation: the path is one string.</p>
22
+ <p>The optional second generic <code>U</code> (default <code>any</code>) describes host properties used to resolve dynamic segments in the path (<code>${…}</code> / <code>{$…}</code>), for example with <a href="/docs/decorators/get">@get</a> or <a href="/docs/decorators/post">@post</a>. See <a href="/docs/misc/dynamic-path">Dynamic path placeholders</a> for <code>null</code> / <code>undefined</code> / <code>&quot;&quot;</code> / <code>0</code> and <code>skipEmptyPlaceholder</code>.</p>
22
23
  <h2 id="import">Import</h2>
23
24
  <pre><code class="language-typescript">import { Endpoint } from &quot;@supersoniks/concorde/utils/endpoint&quot;;
24
25
  </code></pre>
@@ -32,16 +33,16 @@ const one = new Endpoint&amp;lt;User, { userId: string }&amp;gt;(&quot;users/${u
32
33
  <h2 id="normalization">Normalization</h2>
33
34
  <p><code>Endpoint.normalizePath</code> trims the string, rejects an empty path, strips leading slashes for paths relative to <code>serviceURL</code>, collapses duplicate slashes, and validates absolute <code>http(s)://</code> URLs.</p>
34
35
  <h2 id="publisher-key-for-payloads">Publisher key for payloads</h2>
35
- <p><code>getDataProviderKey()</code> returns a typed publisher key whose <code>path</code> matches the endpoint path (payload typing follows <code>ApiResult</code> for this endpoint). Useful when pairing <code>@get</code> with <code>@publish</code> / <code>@subscribe</code> (see <a href="../_decorators/get.html#get">@get</a>).</p>
36
+ <p><code>getDataProviderKey()</code> returns a typed publisher key whose <code>path</code> matches the endpoint path (payload typing follows <code>ApiResult</code> for this endpoint). Useful when pairing <code>@get</code> with <code>@publish</code> / <code>@subscribe</code> (see <a href="/docs/decorators/get">@get</a>).</p>
36
37
  <h2 id="data-provider-paths">Data-provider paths</h2>
37
38
  <p><code>Endpoint.looksLikeDataProviderPath(path)</code> returns true for strings shaped like <code>dataProvider(id)…</code>, which <code>API.get</code> can resolve without HTTP.</p>
38
39
  <h2 id="see-also">See also</h2>
39
40
  <ul>
40
- <li><a href="./api-configuration.html#api-configuration">API configuration</a> — <code>serviceURL</code>, token, wording (mock demos)</li>
41
- <li><a href="../_decorators/get.html#get">@get</a> — GET decorator</li>
42
- <li><a href="../_decorators/post.html#post">@post</a> — POST decorator (body from a <code>DataProviderKey</code>)</li>
43
- <li><a href="../_decorators/put.html#put">@put</a> · <a href="../_decorators/patch.html#patch">@patch</a> — PUT / PATCH decorators</li>
44
- <li><a href="./dataProviderKey.html#dataProviderKey">DataProviderKey</a> — typed publisher paths (dot notation)</li>
41
+ <li><a href="/docs/misc/api-configuration">API configuration</a> — <code>serviceURL</code>, token, wording (mock demos)</li>
42
+ <li><a href="/docs/decorators/get">@get</a> — GET decorator</li>
43
+ <li><a href="/docs/decorators/post">@post</a> — POST decorator (body from a <code>DataProviderKey</code>)</li>
44
+ <li><a href="/docs/decorators/put">@put</a> · <a href="/docs/decorators/patch">@patch</a> — PUT / PATCH decorators</li>
45
+ <li><a href="/docs/misc/dataProviderKey">DataProviderKey</a> — typed publisher paths (dot notation)</li>
45
46
  </ul>
46
47
 
47
48
  </article>
@@ -1,8 +1,8 @@
1
1
  # Endpoint
2
2
 
3
- `Endpoint<T, U>` describes a single HTTP path (or a path accepted by `API.get`) and carries the expected response type `T`. Unlike [DataProviderKey](#docs/_misc/dataProviderKey.md/dataProviderKey), there is no dot-navigation: the path is one string.
3
+ `Endpoint<T, U>` describes a single HTTP path (or a path accepted by `API.get`) and carries the expected response type `T`. Unlike [DataProviderKey](/docs/misc/dataProviderKey), there is no dot-navigation: the path is one string.
4
4
 
5
- The optional second generic `U` (default `any`) describes host properties used to resolve dynamic segments in the path (`${…}` / `{$…}`), for example with [@get](#docs/_decorators/get.md/get) or [@post](#docs/_decorators/post.md/post). See [Dynamic path placeholders](#docs/_misc/dynamic-path.md/dynamic-path) for `null` / `undefined` / `""` / `0` and `skipEmptyPlaceholder`.
5
+ The optional second generic `U` (default `any`) describes host properties used to resolve dynamic segments in the path (`${…}` / `{$…}`), for example with [@get](/docs/decorators/get) or [@post](/docs/decorators/post). See [Dynamic path placeholders](/docs/misc/dynamic-path) for `null` / `undefined` / `""` / `0` and `skipEmptyPlaceholder`.
6
6
 
7
7
  ## Import
8
8
 
@@ -30,7 +30,7 @@ const one = new Endpoint&lt;User, { userId: string }&gt;("users/${userId}");
30
30
 
31
31
  ## Publisher key for payloads
32
32
 
33
- `getDataProviderKey()` returns a typed publisher key whose `path` matches the endpoint path (payload typing follows `ApiResult` for this endpoint). Useful when pairing `@get` with `@publish` / `@subscribe` (see [@get](#docs/_decorators/get.md/get)).
33
+ `getDataProviderKey()` returns a typed publisher key whose `path` matches the endpoint path (payload typing follows `ApiResult` for this endpoint). Useful when pairing `@get` with `@publish` / `@subscribe` (see [@get](/docs/decorators/get)).
34
34
 
35
35
  ## Data-provider paths
36
36
 
@@ -38,8 +38,8 @@ const one = new Endpoint&lt;User, { userId: string }&gt;("users/${userId}");
38
38
 
39
39
  ## See also
40
40
 
41
- - [API configuration](#docs/_misc/api-configuration.md/api-configuration) — `serviceURL`, token, wording (mock demos)
42
- - [@get](#docs/_decorators/get.md/get) — GET decorator
43
- - [@post](#docs/_decorators/post.md/post) — POST decorator (body from a `DataProviderKey`)
44
- - [@put](#docs/_decorators/put.md/put) · [@patch](#docs/_decorators/patch.md/patch) — PUT / PATCH decorators
45
- - [DataProviderKey](#docs/_misc/dataProviderKey.md/dataProviderKey) — typed publisher paths (dot notation)
41
+ - [API configuration](/docs/misc/api-configuration) — `serviceURL`, token, wording (mock demos)
42
+ - [@get](/docs/decorators/get) — GET decorator
43
+ - [@post](/docs/decorators/post) — POST decorator (body from a `DataProviderKey`)
44
+ - [@put](/docs/decorators/put) · [@patch](/docs/decorators/patch) — PUT / PATCH decorators
45
+ - [DataProviderKey](/docs/misc/dataProviderKey) — typed publisher paths (dot notation)
@@ -1,25 +1,26 @@
1
1
  <!DOCTYPE html>
2
- <html lang="fr" data-crawl-url="https://concorde.supersoniks.org/crawl/docs/_misc/html-integration.html" data-doc-id="docs/_misc/html-integration">
2
+ <html lang="en" data-doc-url="https://concorde.supersoniks.org/docs/misc/html-integration" data-doc-id="docs/misc/html-integration">
3
3
  <head>
4
4
  <meta charset="UTF-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>HTML integration (no Lit) — Concorde</title>
6
+ <title>HTML integration (no Lit) — Concorde by Supersoniks</title>
7
7
  <meta name="description" content="Some hosts (legacy PHP pages, static HTML) embed Concorde components without a Lit build step. They can use HTML attributes such as data-bind, dataProvider, and formDataProvider on tags directly in th">
8
- <meta name="keywords" content="Concorde, supersoniks, docs/_misc/html-integration, html-integration, HTML integration (no Lit), reference, data-bind, dataProvider, formDataProvider, sonic-input, name, src/docs/example/, ">
9
- <meta name="concorde-doc-id" content="docs/_misc/html-integration">
10
- <link rel="canonical" href="https://concorde.supersoniks.org/crawl/docs/_misc/html-integration.html">
8
+ <meta name="keywords" content="Concorde, supersoniks, docs/misc/html-integration, html-integration, HTML integration (no Lit), reference, data-bind, dataProvider, formDataProvider, sonic-input, name, src/docs/example/, ">
9
+ <meta name="concorde-doc-id" content="docs/misc/html-integration">
10
+ <link rel="canonical" href="https://concorde.supersoniks.org/docs/misc/html-integration">
11
+ <link rel="alternate" type="text/markdown" href="https://concorde.supersoniks.org/docs/misc/html-integration.md">
11
12
  </head>
12
13
  <body>
13
14
  <header>
14
- <p><a href="../../index.html">Concorde documentation (crawl)</a> · <a href="https://concorde.supersoniks.org/#docs/_misc/html-integration.md/html-integration" rel="nofollow">interactive version</a></p>
15
+ <p><a href="/docs/index.html">Concorde documentation</a> · <a href="https://concorde.supersoniks.org/docs/misc/html-integration">same URL (interactive)</a> · <a href="/llms.txt">llms.txt</a></p>
15
16
  </header>
16
17
  <main>
17
18
  <article>
18
- <p class="doc-lead" id="doc-summary"><strong>Concorde reference — HTML integration (no Lit)</strong>. Some hosts (legacy PHP pages, static HTML) embed Concorde components without a Lit build step. They can use HTML attributes such as data-bind, dataProvider, and formDataProvider on tags directly in th <span>Doc ID: <code>docs/_misc/html-integration</code>. Keywords: Concorde, supersoniks, docs/_misc/html-integration, html-integration, HTML integration (no Lit), reference, data-bind, dataProvider, formDataProvider, sonic-input, name, src/docs/example/, . URL: <a href="https://concorde.supersoniks.org/crawl/docs/_misc/html-integration.html">https://concorde.supersoniks.org/crawl/docs/_misc/html-integration.html</a>.</span></p>
19
+ <p class="doc-lead" id="doc-summary"><strong>Concorde reference — HTML integration (no Lit)</strong>. Some hosts (legacy PHP pages, static HTML) embed Concorde components without a Lit build step. They can use HTML attributes such as data-bind, dataProvider, and formDataProvider on tags directly in th <span>Doc ID: <code>docs/misc/html-integration</code>. Keywords: Concorde, supersoniks, docs/misc/html-integration, html-integration, HTML integration (no Lit), reference, data-bind, dataProvider, formDataProvider, sonic-input, name, src/docs/example/, . URL: <a href="https://concorde.supersoniks.org/docs/misc/html-integration">https://concorde.supersoniks.org/docs/misc/html-integration</a>.</span></p>
19
20
  <h1 id="html-integration-no-lit">HTML integration (no Lit)</h1>
20
21
  <p>Some hosts (legacy PHP pages, static HTML) embed Concorde components <strong>without</strong> a Lit build step. They can use HTML attributes such as <strong><code>data-bind</code></strong>, <strong><code>dataProvider</code></strong>, and <strong><code>formDataProvider</code></strong> on tags directly in the page.</p>
21
- <p><strong>Form fields</strong> (<code>sonic-input</code>, checkbox, select, …) bind only via <strong><code>formDataProvider</code> + <code>name</code></strong>. They do not autofill from ancestor <code>dataProvider</code> (Subscriber was removed from FormElement — see <a href="./formelement-subscriber-removal.html#formelement-subscriber-removal">FormElement without Subscriber</a>).</p>
22
- <p>That style is <strong>not</strong> what we demonstrate in this doc site: live examples are <strong>Lit components</strong> under <code>src/docs/example/</code>, registered once and reused from Markdown via tags like <code>&lt;docs-joke-search-demo&gt;</code>.</p>
22
+ <p><strong>Form fields</strong> (<code>sonic-input</code>, checkbox, select, …) bind only via <strong><code>formDataProvider</code> + <code>name</code></strong>. They do not autofill from ancestor <code>dataProvider</code>.</p>
23
+ <p>That style is <strong>not</strong> what we demonstrate in this doc site: live examples are <strong>Lit components</strong> under <code>src/docs/example/</code>, registered once and reused from Markdown via tags like <code>&lt;docs-flight-search-demo&gt;</code>.</p>
23
24
  <table>
24
25
  <thead>
25
26
  <tr>
@@ -29,15 +30,11 @@
29
30
  </thead>
30
31
  <tbody><tr>
31
32
  <td>Learn modern patterns</td>
32
- <td><a href="../_getting-started/my-first-component.html#my-first-component">My first component</a>, <a href="../_core-concept/dataFlow.html#dataFlow">Data flow</a></td>
33
+ <td><a href="/docs/getting-started/my-first-component">My first component</a>, <a href="/docs/getting-started/dataFlow">Data flow</a></td>
33
34
  </tr>
34
35
  <tr>
35
36
  <td>Author doc examples</td>
36
- <td><code>&lt;docs-lit-demo&gt;</code> + <code>src/docs/example/*.ts</code> — see <a href="../_getting-started/my-first-component.html#my-first-component">My first component</a></td>
37
- </tr>
38
- <tr>
39
- <td>Embed in plain HTML only</td>
40
- <td><code>data-bind</code> / Subscriber docs in <strong>Legacy</strong> — <a href="../_core-concept/subscriber.html#subscriber">Subscriber mixin</a></td>
37
+ <td><code>&lt;docs-lit-demo&gt;</code> + <code>src/docs/example/*.ts</code> — see <a href="/docs/getting-started/my-first-component">My first component</a></td>
41
38
  </tr>
42
39
  </tbody></table>
43
40
  <p>New application code in TypeScript should use <strong><code>@subscribe</code></strong>, <strong><code>formDataProvider</code> + <code>name</code></strong>, and Lit templates — not HTML <code>data-bind</code>.</p>
@@ -2,14 +2,13 @@
2
2
 
3
3
  Some hosts (legacy PHP pages, static HTML) embed Concorde components **without** a Lit build step. They can use HTML attributes such as **`data-bind`**, **`dataProvider`**, and **`formDataProvider`** on tags directly in the page.
4
4
 
5
- **Form fields** (`sonic-input`, checkbox, select, …) bind only via **`formDataProvider` + `name`**. They do not autofill from ancestor `dataProvider` (Subscriber was removed from FormElement — see [FormElement without Subscriber](#docs/_misc/formelement-subscriber-removal.md/formelement-subscriber-removal)).
5
+ **Form fields** (`sonic-input`, checkbox, select, …) bind only via **`formDataProvider` + `name`**. They do not autofill from ancestor `dataProvider`.
6
6
 
7
- That style is **not** what we demonstrate in this doc site: live examples are **Lit components** under `src/docs/example/`, registered once and reused from Markdown via tags like `<docs-joke-search-demo>`.
7
+ That style is **not** what we demonstrate in this doc site: live examples are **Lit components** under `src/docs/example/`, registered once and reused from Markdown via tags like `<docs-flight-search-demo>`.
8
8
 
9
9
  | Goal | Use |
10
10
  |------|-----|
11
- | Learn modern patterns | [My first component](#docs/_getting-started/my-first-component.md/my-first-component), [Data flow](#docs/_core-concept/dataFlow.md/dataFlow) |
12
- | Author doc examples | `<docs-lit-demo>` + `src/docs/example/*.ts` — see [My first component](#docs/_getting-started/my-first-component.md/my-first-component) |
13
- | Embed in plain HTML only | `data-bind` / Subscriber docs in **Legacy** — [Subscriber mixin](#docs/_core-concept/subscriber.md/subscriber) |
11
+ | Learn modern patterns | [My first component](/docs/getting-started/my-first-component), [Data flow](/docs/getting-started/dataFlow) |
12
+ | Author doc examples | `<docs-lit-demo>` + `src/docs/example/*.ts` — see [My first component](/docs/getting-started/my-first-component) |
14
13
 
15
14
  New application code in TypeScript should use **`@subscribe`**, **`formDataProvider` + `name`**, and Lit templates — not HTML `data-bind`.
@@ -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
  }
@@ -604,6 +440,7 @@
604
440
  {
605
441
  messages: [
606
442
  {
443
+ type: "public",
607
444
  content: "email and password are required",
608
445
  status: "error"
609
446
  }
@@ -646,6 +483,7 @@
646
483
  {
647
484
  messages: [
648
485
  {
486
+ type: "public",
649
487
  content: "email and password query params are required",
650
488
  status: "error"
651
489
  }
@@ -696,9 +534,8 @@
696
534
  headers: { "X-Fetched-At": (/* @__PURE__ */ new Date()).toISOString() }
697
535
  });
698
536
  }
699
- const jokeMatch = subPath.match(/^\/jokes\/joke\/([^/]+)$/);
700
- if (jokeMatch) {
701
- return json2(buildJokeApiResponse(url));
537
+ if (subPath === "/flights") {
538
+ return json2(buildFlightsResponse(url));
702
539
  }
703
540
  return json2({ error: "Not found", path: subPath }, { status: 404 });
704
541
  }