@supersoniks/concorde 5.1.2 → 5.1.3-immutable.1

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 (497) hide show
  1. package/.agents/skills/concorde-docs/SKILL.md +1 -1
  2. package/.claude/skills +1 -0
  3. package/.github/workflows/ci.yml +21 -0
  4. package/.github-export-ignore +30 -0
  5. package/CONTRIBUTING.md +59 -0
  6. package/DEV.md +54 -0
  7. package/LICENSE +21 -0
  8. package/OPEN_SOURCE_CHECKPOINT.md +133 -0
  9. package/README.md +1 -1
  10. package/ai/README.md +29 -41
  11. package/ai/skills/concorde/SKILL.md +54 -324
  12. package/ai/skills/concorde/rules/composition.md +32 -0
  13. package/ai/skills/concorde/rules/data.md +47 -0
  14. package/ai/skills/concorde/rules/http.md +25 -0
  15. package/ai/skills/concorde/rules/lists-forms.md +35 -0
  16. package/ai/skills/concorde/rules/styling.md +46 -0
  17. package/ai/skills/concorde/rules/troubleshooting.md +45 -0
  18. package/build-infos.json +1 -1
  19. package/concorde-core.bundle.js +177 -177
  20. package/concorde-core.es.js +4993 -4833
  21. package/custom-elements-manifest.public.config.mjs +8 -0
  22. package/{.tmp-cem/custom-elements.json → custom-elements.json} +11722 -8868
  23. package/dist/concorde-core.bundle.js +177 -177
  24. package/dist/concorde-core.es.js +4993 -4833
  25. package/dist/docs-mock-api-sw.js +58 -223
  26. package/dist/docs-mock-api-sw.js.map +4 -4
  27. package/dist/img/og-concorde.jpg +0 -0
  28. package/dist/robots.txt +11 -10
  29. package/docs/assets/index-CD4WyL6o.css +1 -0
  30. package/docs/assets/index-D_alEsng.js +12122 -0
  31. package/docs/crawl/core/components/functional/date/date.html +190 -0
  32. package/docs/crawl/core/components/functional/fetch/fetch.html +109 -0
  33. package/docs/crawl/core/components/functional/if/if.html +27 -0
  34. package/docs/crawl/core/components/functional/jsonata/jsonata.html +79 -0
  35. package/docs/crawl/core/components/functional/list/list.html +70 -0
  36. package/docs/crawl/core/components/functional/mix/mix.html +45 -0
  37. package/docs/crawl/core/components/functional/queue/queue.html +96 -0
  38. package/docs/crawl/core/components/functional/router/router.html +106 -0
  39. package/docs/{core → crawl/core}/components/functional/sdui/sdui-extension-points.html +8 -9
  40. package/docs/crawl/core/components/functional/sdui/sdui.html +368 -0
  41. package/docs/crawl/core/components/functional/states/states.html +66 -0
  42. package/docs/crawl/core/components/functional/submit/submit.html +160 -0
  43. package/docs/{core → crawl/core}/components/functional/subscriber/subscriber.html +5 -6
  44. package/docs/crawl/core/components/functional/value/value.html +51 -0
  45. package/docs/{core → crawl/core}/components/ui/alert/alert.html +63 -53
  46. package/docs/{core → crawl/core}/components/ui/alert-messages/alert-messages.html +5 -6
  47. package/docs/{core → crawl/core}/components/ui/badge/badge.html +33 -33
  48. package/docs/crawl/core/components/ui/button/button.html +150 -0
  49. package/docs/crawl/core/components/ui/captcha/captcha.html +112 -0
  50. package/docs/{core → crawl/core}/components/ui/card/card.html +11 -12
  51. package/docs/{core → crawl/core}/components/ui/divider/divider.html +14 -14
  52. package/docs/crawl/core/components/ui/form/checkbox/checkbox.html +73 -0
  53. package/docs/crawl/core/components/ui/form/fieldset/fieldset.html +266 -0
  54. package/docs/{core → crawl/core}/components/ui/form/form-actions/form-actions.html +23 -23
  55. package/docs/crawl/core/components/ui/form/form-layout/form-layout.html +121 -0
  56. package/docs/crawl/core/components/ui/form/input/input.html +109 -0
  57. package/docs/crawl/core/components/ui/form/input-autocomplete/input-autocomplete.html +38 -0
  58. package/docs/crawl/core/components/ui/form/radio/radio.html +56 -0
  59. package/docs/crawl/core/components/ui/form/select/select.html +73 -0
  60. package/docs/crawl/core/components/ui/form/switch/switch.html +56 -0
  61. package/docs/crawl/core/components/ui/form/textarea/textarea.html +59 -0
  62. package/docs/crawl/core/components/ui/group/group.html +104 -0
  63. package/docs/{core → crawl/core}/components/ui/icon/icon.html +9 -10
  64. package/docs/crawl/core/components/ui/image/image.html +298 -0
  65. package/docs/{core → crawl/core}/components/ui/link/link.html +11 -12
  66. package/docs/crawl/core/components/ui/loader/loader.html +124 -0
  67. package/docs/{core → crawl/core}/components/ui/menu/menu.html +33 -34
  68. package/docs/crawl/core/components/ui/modal/modal.html +342 -0
  69. package/docs/crawl/core/components/ui/pop/pop.html +296 -0
  70. package/docs/{core → crawl/core}/components/ui/progress/progress.html +7 -8
  71. package/docs/crawl/core/components/ui/table/table.html +545 -0
  72. package/docs/crawl/core/components/ui/theme/theme.html +131 -0
  73. package/docs/crawl/core/components/ui/toast/toast.html +233 -0
  74. package/docs/crawl/core/components/ui/tooltip/tooltip.html +140 -0
  75. package/docs/{docs/getting-started → crawl/docs/_core-concept}/dataFlow.html +29 -26
  76. package/docs/crawl/docs/_core-concept/overview.html +66 -0
  77. package/docs/crawl/docs/_core-concept/subscriber.html +75 -0
  78. package/docs/crawl/docs/_decorators/ancestor-attribute.html +117 -0
  79. package/docs/crawl/docs/_decorators/auto-subscribe.html +202 -0
  80. package/docs/crawl/docs/_decorators/bind.html +141 -0
  81. package/docs/crawl/docs/_decorators/get.html +149 -0
  82. package/docs/crawl/docs/_decorators/handle.html +165 -0
  83. package/docs/crawl/docs/_decorators/on-assign.html +355 -0
  84. package/docs/crawl/docs/_decorators/patch.html +78 -0
  85. package/docs/crawl/docs/_decorators/post.html +139 -0
  86. package/docs/crawl/docs/_decorators/publish.html +61 -0
  87. package/docs/crawl/docs/_decorators/put.html +78 -0
  88. package/docs/crawl/docs/_decorators/subscribe.html +109 -0
  89. package/docs/crawl/docs/_decorators/wait-for-ancestors.html +137 -0
  90. package/docs/crawl/docs/_directives/sub.html +93 -0
  91. package/docs/{docs/getting-started → crawl/docs/_getting-started}/ai-agents.html +11 -12
  92. package/docs/crawl/docs/_getting-started/concorde-manual-install.html +100 -0
  93. package/docs/crawl/docs/_getting-started/concorde-outside.html +58 -0
  94. package/docs/{docs/getting-started → crawl/docs/_getting-started}/create-a-component.html +14 -11
  95. package/docs/{docs/getting-started → crawl/docs/_getting-started}/my-first-component.html +22 -13
  96. package/docs/crawl/docs/_getting-started/my-first-subscriber.html +110 -0
  97. package/docs/crawl/docs/_getting-started/pubsub.html +62 -0
  98. package/docs/crawl/docs/_getting-started/start.html +76 -0
  99. package/docs/{docs/getting-started → crawl/docs/_getting-started}/theming.html +9 -10
  100. package/docs/{docs/misc → crawl/docs/_misc}/api-configuration.html +18 -18
  101. package/docs/{docs/misc → crawl/docs/_misc}/dataProviderKey.html +11 -12
  102. package/docs/{docs/misc → crawl/docs/_misc}/docs-mock-api.html +28 -25
  103. package/docs/{docs/misc → crawl/docs/_misc}/dynamic-path.html +15 -16
  104. package/docs/{docs/misc → crawl/docs/_misc}/endpoint.html +15 -16
  105. package/docs/crawl/docs/_misc/formelement-subscriber-removal.html +138 -0
  106. package/docs/{docs/misc → crawl/docs/_misc}/html-integration.html +15 -12
  107. package/docs/crawl/hubs/decorators.html +547 -0
  108. package/docs/crawl/hubs/form-components.html +381 -0
  109. package/docs/crawl/hubs/remote-data.html +452 -0
  110. package/docs/crawl/index.html +103 -0
  111. package/docs/docs-mock-api-sw.js +223 -58
  112. package/docs/docs-mock-api-sw.js.map +4 -4
  113. package/docs/index.html +68 -95
  114. package/docs/llms-full.txt +3610 -2231
  115. package/docs/llms.txt +86 -94
  116. package/docs/robots.txt +10 -11
  117. package/docs/sitemap.xml +84 -78
  118. package/docs/src/core/components/functional/date/date.md +231 -91
  119. package/docs/src/core/components/functional/fetch/fetch.md +83 -66
  120. package/docs/src/core/components/functional/if/if.md +3 -28
  121. package/docs/src/core/components/functional/jsonata/jsonata.md +37 -42
  122. package/docs/src/core/components/functional/list/list.md +43 -99
  123. package/docs/src/core/components/functional/mix/mix.md +26 -31
  124. package/docs/src/core/components/functional/queue/queue.md +61 -40
  125. package/docs/src/core/components/functional/router/router.md +65 -64
  126. package/docs/src/core/components/functional/sdui/component-catalog.gaps.json +1 -1
  127. package/docs/src/core/components/functional/sdui/component-catalog.json +1 -1
  128. package/docs/src/core/components/functional/sdui/example.json +86 -19
  129. package/docs/src/core/components/functional/sdui/sdui-extension-points.md +1 -1
  130. package/docs/src/core/components/functional/sdui/sdui.md +358 -187
  131. package/docs/src/core/components/functional/states/states.md +61 -86
  132. package/docs/src/core/components/functional/submit/submit.md +72 -64
  133. package/docs/src/core/components/functional/value/value.md +22 -34
  134. package/docs/src/core/components/ui/alert/alert.md +58 -48
  135. package/docs/src/core/components/ui/badge/badge.md +34 -27
  136. package/docs/src/core/components/ui/button/button.md +106 -139
  137. package/docs/src/core/components/ui/captcha/captcha.md +32 -17
  138. package/docs/src/core/components/ui/card/card.md +6 -6
  139. package/docs/src/core/components/ui/divider/divider.md +11 -8
  140. package/docs/src/core/components/ui/form/checkbox/checkbox.md +42 -90
  141. package/docs/src/core/components/ui/form/fieldset/fieldset.md +75 -31
  142. package/docs/src/core/components/ui/form/form-actions/form-actions.md +16 -14
  143. package/docs/src/core/components/ui/form/form-layout/form-layout.md +29 -19
  144. package/docs/src/core/components/ui/form/input/input.md +95 -95
  145. package/docs/src/core/components/ui/form/input-autocomplete/input-autocomplete.md +29 -0
  146. package/docs/src/core/components/ui/form/radio/radio.md +34 -55
  147. package/docs/src/core/components/ui/form/select/select.md +45 -60
  148. package/docs/src/core/components/ui/form/switch/switch.md +34 -57
  149. package/docs/src/core/components/ui/form/textarea/textarea.md +38 -55
  150. package/docs/src/core/components/ui/group/group.md +33 -35
  151. package/docs/src/core/components/ui/icon/icon.md +4 -4
  152. package/docs/src/core/components/ui/image/image.md +107 -41
  153. package/docs/src/core/components/ui/link/link.md +6 -6
  154. package/docs/src/core/components/ui/loader/loader.md +55 -30
  155. package/docs/src/core/components/ui/menu/menu.md +27 -27
  156. package/docs/src/core/components/ui/modal/modal.md +96 -72
  157. package/docs/src/core/components/ui/pop/pop.md +158 -80
  158. package/docs/src/core/components/ui/progress/progress.md +2 -2
  159. package/docs/src/core/components/ui/table/table.md +255 -91
  160. package/docs/src/core/components/ui/theme/theme.md +36 -11
  161. package/docs/src/core/components/ui/toast/toast.md +117 -48
  162. package/docs/src/core/components/ui/tooltip/tooltip.md +62 -27
  163. package/docs/{docs/getting-started → src/docs/_core-concept}/dataFlow.md +18 -17
  164. package/docs/src/docs/_core-concept/overview.md +57 -0
  165. package/docs/src/docs/_core-concept/subscriber.md +75 -0
  166. package/docs/src/docs/_decorators/ancestor-attribute.md +128 -0
  167. package/docs/src/docs/_decorators/auto-subscribe.md +202 -0
  168. package/docs/src/docs/_decorators/bind.md +167 -0
  169. package/docs/src/docs/_decorators/get.md +162 -0
  170. package/docs/src/docs/_decorators/handle.md +175 -0
  171. package/docs/src/docs/_decorators/on-assign.md +390 -0
  172. package/docs/src/docs/_decorators/patch.md +70 -0
  173. package/docs/src/docs/_decorators/post.md +146 -0
  174. package/docs/src/docs/_decorators/publish.md +55 -0
  175. package/docs/src/docs/_decorators/put.md +70 -0
  176. package/docs/src/docs/_decorators/subscribe.md +100 -0
  177. package/docs/src/docs/_decorators/wait-for-ancestors.md +163 -0
  178. package/docs/src/docs/_directives/sub.md +91 -0
  179. package/docs/src/docs/{getting-started → _getting-started}/ai-agents.md +3 -3
  180. package/docs/src/docs/_getting-started/concorde-manual-install.md +133 -0
  181. package/docs/src/docs/_getting-started/concorde-outside.md +33 -0
  182. package/docs/{docs/getting-started → src/docs/_getting-started}/create-a-component.md +6 -3
  183. package/docs/src/docs/{getting-started → _getting-started}/my-first-component.md +14 -5
  184. package/docs/src/docs/_getting-started/my-first-subscriber.md +120 -0
  185. package/docs/src/docs/_getting-started/pubsub.md +37 -0
  186. package/docs/src/docs/{getting-started → _getting-started}/start.md +13 -1
  187. package/docs/src/docs/{getting-started → _getting-started}/theming.md +2 -2
  188. package/docs/src/docs/{misc → _misc}/api-configuration.md +12 -10
  189. package/docs/src/docs/{misc → _misc}/dataProviderKey.md +4 -4
  190. package/docs/{docs/misc → src/docs/_misc}/docs-mock-api.md +13 -12
  191. package/docs/{docs/misc → src/docs/_misc}/dynamic-path.md +8 -8
  192. package/docs/{docs/misc → src/docs/_misc}/endpoint.md +8 -8
  193. package/docs/src/docs/_misc/formelement-subscriber-removal.md +115 -0
  194. package/docs/{docs/misc → src/docs/_misc}/html-integration.md +5 -4
  195. package/docs/src/docs/search/docs-search.json +4375 -2420
  196. package/docs/src/tsconfig.declarations.json +22 -0
  197. package/docs/src/tsconfig.emit.json +23 -0
  198. package/docs/src/tsconfig.json +2 -23
  199. package/gitlab/job_github_mirror.sh +39 -0
  200. package/index.html +89 -0
  201. package/package.json +22 -4
  202. package/public/img/og-concorde.jpg +0 -0
  203. package/scripts/ai-init.mjs +104 -379
  204. package/scripts/ai-init.test.mjs +81 -239
  205. package/scripts/docs-markdown-vite-plugin.ts +11 -5
  206. package/scripts/docs-public-url.mjs +6 -0
  207. package/scripts/docs.htaccess +7 -0
  208. package/scripts/generate-cem.mjs +244 -0
  209. package/scripts/generate-cem.test.mjs +122 -0
  210. package/scripts/generate-crawl-docs.mjs +29 -5
  211. package/scripts/generate-sdui-catalog.mjs +11 -10
  212. package/scripts/github-export.mjs +150 -0
  213. package/scripts/post-build-docs.js +3 -0
  214. package/scripts/post-build.mjs +0 -0
  215. package/scripts/pre-publish.mjs +2 -1
  216. package/scripts/site-pages.mjs +212 -0
  217. package/scripts/site-pages.test.mjs +116 -0
  218. package/site-pages/about.md +22 -0
  219. package/site-pages/privacy.md +32 -0
  220. package/src/core/components/functional/date/date.md +1 -1
  221. package/src/core/components/functional/example/example.ts +3 -1
  222. package/src/core/components/functional/if/if.ts +0 -0
  223. package/src/core/components/functional/list/list.demo.ts +0 -0
  224. package/src/core/components/functional/list/list.md +6 -2
  225. package/src/core/components/functional/list/list.ts +17 -4
  226. package/src/core/components/functional/mix/mix.md +0 -0
  227. package/src/core/components/functional/router/router.demo.ts +0 -0
  228. package/src/core/components/functional/router/router.ts +0 -0
  229. package/src/core/components/functional/sdui/SDUIDescriptorTransformer.ts +0 -0
  230. package/src/core/components/functional/sdui/component-catalog.gaps.json +1 -1
  231. package/src/core/components/functional/sdui/component-catalog.json +2 -2
  232. package/src/core/components/functional/sdui/example.json +0 -0
  233. package/src/core/components/functional/sdui/sdui-immutable.spec.ts +74 -0
  234. package/src/core/components/functional/sdui/sdui.ts +33 -8
  235. package/src/core/components/functional/sdui/types.ts +0 -0
  236. package/src/core/components/functional/states/states.ts +0 -0
  237. package/src/core/components/functional/submit/submit.spec.ts +60 -0
  238. package/src/core/components/functional/submit/submit.ts +6 -3
  239. package/src/core/components/functional/subscriber/subscriber.ts +0 -0
  240. package/src/core/components/functional/value/value.md +0 -0
  241. package/src/core/components/functional/value/value.ts +0 -0
  242. package/src/core/components/ui/_css/size.ts +0 -0
  243. package/src/core/components/ui/captcha/altchaStyles.ts +0 -0
  244. package/src/core/components/ui/card/card.md +1 -1
  245. package/src/core/components/ui/form/input/input.md +19 -1
  246. package/src/core/components/ui/form/input/input.ts +8 -2
  247. package/src/core/components/ui/form/radio/radio.md +14 -0
  248. package/src/core/components/ui/image/image.md +17 -17
  249. package/src/core/components/ui/modal/modal.md +2 -2
  250. package/src/core/decorators/subscriber/bind.ts +9 -14
  251. package/src/core/decorators/subscriber/subscribe.ts +15 -9
  252. package/src/core/decorators/subscriber/subscribe.type-test.ts +14 -5
  253. package/src/core/mixins/Subscriber.ts +0 -0
  254. package/src/core/utils/DataBindObserver.ts +0 -0
  255. package/src/core/utils/Objects.ts +0 -0
  256. package/src/core/utils/PublisherProxy.ts +166 -125
  257. package/src/core/utils/deepReadonly.spec.ts +66 -0
  258. package/src/core/utils/deepReadonly.ts +71 -0
  259. package/src/core/utils/immutableValue.spec.ts +54 -0
  260. package/src/core/utils/immutableValue.ts +102 -0
  261. package/src/core/utils/nestedDotForm.spec.ts +88 -0
  262. package/src/core/utils/publisherImmutable.spec.ts +76 -0
  263. package/src/core/utils/route.ts +0 -0
  264. package/src/core/utils/strictGet.spec.ts +61 -0
  265. package/src/core/utils/strictGet.ts +102 -0
  266. package/src/css.d.ts +19 -0
  267. package/src/docs/components/docs-demo-sources.ts +3 -3
  268. package/src/docs/decorators/bind.md +23 -24
  269. package/src/docs/docs-location.spec.ts +10 -0
  270. package/src/docs/docs-location.ts +10 -0
  271. package/src/docs/example/decorators-demo-bind-demos.ts +11 -28
  272. package/src/docs/example/docs-toggle-demos.ts +1 -1
  273. package/src/docs/example/users.ts +0 -0
  274. package/src/docs/getting-started/ai-agents.md +29 -55
  275. package/src/docs/getting-started/dataFlow.md +2 -2
  276. package/src/docs/home/home.ts +3 -1
  277. package/src/docs/misc/publisher-get-immutability-docs-crawl.json +902 -0
  278. package/src/docs/misc/publisher-get-immutability-docs-recheck.json +13 -0
  279. package/src/docs/misc/publisher-get-immutability-study.md +229 -0
  280. package/src/docs/navigation/navigation.ts +5 -1
  281. package/src/docs/search/docs-search.json +358 -58
  282. package/src/docs/search/markdown-renderer.ts +6 -1
  283. package/src/docs/tailwind/css/docs/content.css +4 -5
  284. package/src/tsconfig.declarations.json +22 -0
  285. package/src/tsconfig.emit.json +23 -0
  286. package/src/tsconfig.json +53 -5
  287. package/src/tsconfig.tsbuildinfo +1 -1
  288. package/.taste-skill/after/desktop-fold.jpg +0 -0
  289. package/.taste-skill/after/desktop-page-01.jpg +0 -0
  290. package/.taste-skill/after/desktop-page-02.jpg +0 -0
  291. package/.taste-skill/after/desktop-page-03.jpg +0 -0
  292. package/.taste-skill/after/mobile-fold.jpg +0 -0
  293. package/.taste-skill/after/mobile-page-01.jpg +0 -0
  294. package/.taste-skill/after/report.json +0 -4103
  295. package/.taste-skill/after/tablet-fold.jpg +0 -0
  296. package/.taste-skill/after/tablet-page-01.jpg +0 -0
  297. package/.taste-skill/after/tablet-page-02.jpg +0 -0
  298. package/.taste-skill/before/desktop-fold.jpg +0 -0
  299. package/.taste-skill/before/desktop-page-01.jpg +0 -0
  300. package/.taste-skill/before/desktop-page-02.jpg +0 -0
  301. package/.taste-skill/before/mobile-fold.jpg +0 -0
  302. package/.taste-skill/before/mobile-page-01.jpg +0 -0
  303. package/.taste-skill/before/report.json +0 -2556
  304. package/.taste-skill/before/tablet-fold.jpg +0 -0
  305. package/.taste-skill/before/tablet-page-01.jpg +0 -0
  306. package/.taste-skill/direction.json +0 -510
  307. package/.taste-skill/notes.md +0 -84
  308. package/.taste-skill/prod/desktop-fold.jpg +0 -0
  309. package/.taste-skill/prod/desktop-page-01.jpg +0 -0
  310. package/.taste-skill/prod/desktop-page-02.jpg +0 -0
  311. package/.taste-skill/prod/desktop-page-03.jpg +0 -0
  312. package/.taste-skill/prod/mobile-fold.jpg +0 -0
  313. package/.taste-skill/prod/mobile-page-01.jpg +0 -0
  314. package/.taste-skill/prod/mobile-page-02.jpg +0 -0
  315. package/.taste-skill/prod/report.json +0 -1973
  316. package/.taste-skill/prod/tablet-fold.jpg +0 -0
  317. package/.taste-skill/prod/tablet-page-01.jpg +0 -0
  318. package/.taste-skill/prod/tablet-page-02.jpg +0 -0
  319. package/AUDIT.md +0 -228
  320. package/PLAN-AMELIORATION.md +0 -220
  321. package/PLAN-DOCS-AGENTS.md +0 -80
  322. package/ai/AGENTS.md +0 -56
  323. package/ai/cursor/rules/concorde-menu.mdc +0 -15
  324. package/ai/cursor/rules/concorde-scope.mdc +0 -14
  325. package/ai/cursor/rules/concorde-theme.mdc +0 -13
  326. package/ai/cursor/rules/concorde.mdc +0 -66
  327. package/ai/jetbrains/rules/concorde.md +0 -53
  328. package/ai/skills/concorde-get-set-dp/SKILL.md +0 -194
  329. package/ai/skills/concorde-imports/SKILL.md +0 -78
  330. package/ai/skills/concorde-menu/SKILL.md +0 -74
  331. package/ai/skills/concorde-scope/SKILL.md +0 -70
  332. package/ai/skills/concorde-theme/SKILL.md +0 -57
  333. package/docs/.htaccess +0 -75
  334. package/docs/404.html +0 -15
  335. package/docs/404.md +0 -5
  336. package/docs/assets/index-BgG6FFPt.js +0 -11765
  337. package/docs/assets/index-x89XINSG.css +0 -1
  338. package/docs/core/components/functional/date/date.html +0 -211
  339. package/docs/core/components/functional/date/date.md +0 -150
  340. package/docs/core/components/functional/fetch/fetch.html +0 -180
  341. package/docs/core/components/functional/fetch/fetch.md +0 -108
  342. package/docs/core/components/functional/if/if.html +0 -65
  343. package/docs/core/components/functional/if/if.md +0 -34
  344. package/docs/core/components/functional/jsonata/jsonata.html +0 -110
  345. package/docs/core/components/functional/jsonata/jsonata.md +0 -61
  346. package/docs/core/components/functional/list/list.html +0 -198
  347. package/docs/core/components/functional/list/list.md +0 -121
  348. package/docs/core/components/functional/mix/mix.html +0 -78
  349. package/docs/core/components/functional/mix/mix.md +0 -46
  350. package/docs/core/components/functional/queue/queue.html +0 -155
  351. package/docs/core/components/functional/queue/queue.md +0 -51
  352. package/docs/core/components/functional/router/router.html +0 -154
  353. package/docs/core/components/functional/router/router.md +0 -93
  354. package/docs/core/components/functional/sdui/sdui-extension-points.md +0 -94
  355. package/docs/core/components/functional/sdui/sdui.html +0 -397
  356. package/docs/core/components/functional/sdui/sdui.md +0 -307
  357. package/docs/core/components/functional/states/states.html +0 -141
  358. package/docs/core/components/functional/states/states.md +0 -112
  359. package/docs/core/components/functional/submit/submit.html +0 -178
  360. package/docs/core/components/functional/submit/submit.md +0 -106
  361. package/docs/core/components/functional/subscriber/subscriber.md +0 -91
  362. package/docs/core/components/functional/translation/translation.html +0 -60
  363. package/docs/core/components/functional/translation/translation.md +0 -38
  364. package/docs/core/components/functional/value/value.html +0 -81
  365. package/docs/core/components/functional/value/value.md +0 -47
  366. package/docs/core/components/ui/alert/alert.md +0 -186
  367. package/docs/core/components/ui/alert-messages/alert-messages.md +0 -85
  368. package/docs/core/components/ui/badge/badge.md +0 -181
  369. package/docs/core/components/ui/button/button.html +0 -309
  370. package/docs/core/components/ui/button/button.md +0 -216
  371. package/docs/core/components/ui/captcha/captcha.html +0 -80
  372. package/docs/core/components/ui/captcha/captcha.md +0 -56
  373. package/docs/core/components/ui/card/card.md +0 -215
  374. package/docs/core/components/ui/divider/divider.md +0 -126
  375. package/docs/core/components/ui/form/checkbox/checkbox.html +0 -200
  376. package/docs/core/components/ui/form/checkbox/checkbox.md +0 -125
  377. package/docs/core/components/ui/form/fieldset/fieldset.html +0 -238
  378. package/docs/core/components/ui/form/fieldset/fieldset.md +0 -161
  379. package/docs/core/components/ui/form/form-actions/form-actions.md +0 -98
  380. package/docs/core/components/ui/form/form-layout/form-layout.html +0 -115
  381. package/docs/core/components/ui/form/form-layout/form-layout.md +0 -109
  382. package/docs/core/components/ui/form/input/input.html +0 -235
  383. package/docs/core/components/ui/form/input/input.md +0 -142
  384. package/docs/core/components/ui/form/radio/radio.html +0 -144
  385. package/docs/core/components/ui/form/radio/radio.md +0 -78
  386. package/docs/core/components/ui/form/select/select.html +0 -178
  387. package/docs/core/components/ui/form/select/select.md +0 -86
  388. package/docs/core/components/ui/form/switch/switch.html +0 -146
  389. package/docs/core/components/ui/form/switch/switch.md +0 -80
  390. package/docs/core/components/ui/form/textarea/textarea.html +0 -162
  391. package/docs/core/components/ui/form/textarea/textarea.md +0 -82
  392. package/docs/core/components/ui/group/group.html +0 -113
  393. package/docs/core/components/ui/group/group.md +0 -77
  394. package/docs/core/components/ui/icon/icon.md +0 -214
  395. package/docs/core/components/ui/image/image.html +0 -194
  396. package/docs/core/components/ui/image/image.md +0 -167
  397. package/docs/core/components/ui/link/link.md +0 -81
  398. package/docs/core/components/ui/loader/loader.html +0 -114
  399. package/docs/core/components/ui/loader/loader.md +0 -87
  400. package/docs/core/components/ui/menu/menu.md +0 -370
  401. package/docs/core/components/ui/modal/modal.html +0 -324
  402. package/docs/core/components/ui/modal/modal.md +0 -211
  403. package/docs/core/components/ui/pop/pop.html +0 -250
  404. package/docs/core/components/ui/pop/pop.md +0 -216
  405. package/docs/core/components/ui/progress/progress.md +0 -109
  406. package/docs/core/components/ui/table/table.html +0 -333
  407. package/docs/core/components/ui/table/table.md +0 -267
  408. package/docs/core/components/ui/theme/theme.html +0 -116
  409. package/docs/core/components/ui/theme/theme.md +0 -97
  410. package/docs/core/components/ui/toast/toast.html +0 -185
  411. package/docs/core/components/ui/toast/toast.md +0 -147
  412. package/docs/core/components/ui/tooltip/tooltip.html +0 -112
  413. package/docs/core/components/ui/tooltip/tooltip.md +0 -89
  414. package/docs/docs/decorators/ancestor-attribute.html +0 -71
  415. package/docs/docs/decorators/ancestor-attribute.md +0 -59
  416. package/docs/docs/decorators/auto-subscribe.html +0 -61
  417. package/docs/docs/decorators/auto-subscribe.md +0 -40
  418. package/docs/docs/decorators/bind.html +0 -86
  419. package/docs/docs/decorators/bind.md +0 -77
  420. package/docs/docs/decorators/get.html +0 -166
  421. package/docs/docs/decorators/get.md +0 -160
  422. package/docs/docs/decorators/handle.html +0 -139
  423. package/docs/docs/decorators/handle.md +0 -119
  424. package/docs/docs/decorators/on-assign.html +0 -72
  425. package/docs/docs/decorators/on-assign.md +0 -63
  426. package/docs/docs/decorators/patch.html +0 -76
  427. package/docs/docs/decorators/patch.md +0 -44
  428. package/docs/docs/decorators/post.html +0 -150
  429. package/docs/docs/decorators/post.md +0 -134
  430. package/docs/docs/decorators/publish.html +0 -74
  431. package/docs/docs/decorators/publish.md +0 -56
  432. package/docs/docs/decorators/put.html +0 -83
  433. package/docs/docs/decorators/put.md +0 -51
  434. package/docs/docs/decorators/subscribe.html +0 -91
  435. package/docs/docs/decorators/subscribe.md +0 -87
  436. package/docs/docs/decorators/wait-for-ancestors.html +0 -82
  437. package/docs/docs/decorators/wait-for-ancestors.md +0 -76
  438. package/docs/docs/directives/sub.html +0 -79
  439. package/docs/docs/directives/sub.md +0 -75
  440. package/docs/docs/directives/t.html +0 -91
  441. package/docs/docs/directives/t.md +0 -73
  442. package/docs/docs/getting-started/ai-agents.md +0 -76
  443. package/docs/docs/getting-started/components.html +0 -27
  444. package/docs/docs/getting-started/components.md +0 -5
  445. package/docs/docs/getting-started/installation.html +0 -69
  446. package/docs/docs/getting-started/installation.md +0 -36
  447. package/docs/docs/getting-started/my-first-component.md +0 -227
  448. package/docs/docs/getting-started/start.html +0 -47
  449. package/docs/docs/getting-started/start.md +0 -35
  450. package/docs/docs/getting-started/theming.md +0 -253
  451. package/docs/docs/index.html +0 -99
  452. package/docs/docs/misc/api-configuration.md +0 -79
  453. package/docs/docs/misc/dataProviderKey.md +0 -168
  454. package/docs/hubs/decorators.html +0 -443
  455. package/docs/hubs/form-components.html +0 -404
  456. package/docs/hubs/remote-data.html +0 -371
  457. package/docs/img/archive/concorde-001-2cv.webp +0 -0
  458. package/docs/img/archive/concorde-red-arrows-2002-poster.jpg +0 -0
  459. package/docs/img/archive/concorde-red-arrows-2002.webm +0 -0
  460. package/docs/img/archive/credits.json +0 -28
  461. package/docs/index.md +0 -22
  462. package/docs/src/core/components/functional/translation/translation.md +0 -38
  463. package/docs/src/docs/decorators/ancestor-attribute.md +0 -59
  464. package/docs/src/docs/decorators/auto-subscribe.md +0 -40
  465. package/docs/src/docs/decorators/bind.md +0 -77
  466. package/docs/src/docs/decorators/get.md +0 -160
  467. package/docs/src/docs/decorators/handle.md +0 -119
  468. package/docs/src/docs/decorators/on-assign.md +0 -63
  469. package/docs/src/docs/decorators/patch.md +0 -44
  470. package/docs/src/docs/decorators/post.md +0 -134
  471. package/docs/src/docs/decorators/publish.md +0 -56
  472. package/docs/src/docs/decorators/put.md +0 -51
  473. package/docs/src/docs/decorators/subscribe.md +0 -87
  474. package/docs/src/docs/decorators/wait-for-ancestors.md +0 -76
  475. package/docs/src/docs/directives/sub.md +0 -75
  476. package/docs/src/docs/directives/t.md +0 -73
  477. package/docs/src/docs/getting-started/components.md +0 -5
  478. package/docs/src/docs/getting-started/create-a-component.md +0 -136
  479. package/docs/src/docs/getting-started/dataFlow.md +0 -87
  480. package/docs/src/docs/getting-started/installation.md +0 -36
  481. package/docs/src/docs/misc/docs-mock-api.md +0 -62
  482. package/docs/src/docs/misc/dynamic-path.md +0 -71
  483. package/docs/src/docs/misc/endpoint.md +0 -45
  484. package/docs/src/docs/misc/html-integration.md +0 -14
  485. /package/{docs → dist}/img/concorde/plane_01.jpg +0 -0
  486. /package/{docs → dist}/img/concorde/plane_02.jpg +0 -0
  487. /package/{docs → dist}/img/concorde/plane_03.jpg +0 -0
  488. /package/{docs → dist}/img/concorde/plane_04.jpg +0 -0
  489. /package/{docs → dist}/img/concorde/plane_05.jpg +0 -0
  490. /package/{docs → dist}/img/concorde/plane_06.jpg +0 -0
  491. /package/{docs → dist}/img/concorde/plane_07.jpg +0 -0
  492. /package/{docs → dist}/img/concorde/plane_08.jpg +0 -0
  493. /package/{docs → dist}/img/concorde/plane_09.jpg +0 -0
  494. /package/{docs → dist}/img/concorde/plane_10.jpg +0 -0
  495. /package/{docs → dist}/img/concorde/plane_11.jpg +0 -0
  496. /package/{docs → dist}/img/concorde/plane_12.jpg +0 -0
  497. /package/{docs → dist}/img/concorde/plane_13.jpg +0 -0
@@ -1,25 +1,24 @@
1
1
  <!DOCTYPE html>
2
- <html lang="en" data-doc-url="https://concorde.supersoniks.org/docs/misc/dataProviderKey" data-doc-id="docs/misc/dataProviderKey">
2
+ <html lang="fr" data-crawl-url="https://concorde.supersoniks.org/crawl/docs/_misc/dataProviderKey.html" data-doc-id="docs/_misc/dataProviderKey">
3
3
  <head>
4
4
  <meta charset="UTF-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>DataProviderKey — Concorde by Supersoniks</title>
6
+ <title>DataProviderKey — Concorde</title>
7
7
  <meta name="description" content="The DataProviderKey&lt;T&gt; utility provides type-safe navigation through composite data structures. Each property or index access extends the path, and the final key can be retrieved via toString() or the">
8
- <meta name="keywords" content="Concorde, supersoniks, docs/misc/dataProviderKey, dataProviderKey, DataProviderKey, reference, toString(), path, myKey.items[0], items, Item[], .path">
9
- <meta name="concorde-doc-id" content="docs/misc/dataProviderKey">
10
- <link rel="canonical" href="https://concorde.supersoniks.org/docs/misc/dataProviderKey">
11
- <link rel="alternate" type="text/markdown" href="https://concorde.supersoniks.org/docs/misc/dataProviderKey.md">
8
+ <meta name="keywords" content="Concorde, supersoniks, docs/_misc/dataProviderKey, dataProviderKey, DataProviderKey, reference, toString(), path, myKey.items[0], items, Item[], .path">
9
+ <meta name="concorde-doc-id" content="docs/_misc/dataProviderKey">
10
+ <link rel="canonical" href="https://concorde.supersoniks.org/crawl/docs/_misc/dataProviderKey.html">
12
11
  </head>
13
12
  <body>
14
13
  <header>
15
- <p><a href="/docs/index.html">Concorde documentation</a> · <a href="https://concorde.supersoniks.org/docs/misc/dataProviderKey">same URL (interactive)</a> · <a href="/llms.txt">llms.txt</a></p>
14
+ <p><a href="../../index.html">Concorde documentation (crawl)</a> · <a href="https://concorde.supersoniks.org/#docs/_misc/dataProviderKey.md/dataProviderKey" rel="nofollow">interactive version</a></p>
16
15
  </header>
17
16
  <main>
18
17
  <article>
19
- <p class="doc-lead" id="doc-summary"><strong>Concorde reference — DataProviderKey</strong>. The DataProviderKey&lt;T&gt; utility provides type-safe navigation through composite data structures. Each property or index access extends the path, and the final key can be retrieved via toString() or the <span>Doc ID: <code>docs/misc/dataProviderKey</code>. Keywords: Concorde, supersoniks, docs/misc/dataProviderKey, dataProviderKey, DataProviderKey, reference, toString(), path, myKey.items[0], items, Item[], .path. URL: <a href="https://concorde.supersoniks.org/docs/misc/dataProviderKey">https://concorde.supersoniks.org/docs/misc/dataProviderKey</a>.</span></p>
18
+ <p class="doc-lead" id="doc-summary"><strong>Concorde reference — DataProviderKey</strong>. The DataProviderKey&lt;T&gt; utility provides type-safe navigation through composite data structures. Each property or index access extends the path, and the final key can be retrieved via toString() or the <span>Doc ID: <code>docs/_misc/dataProviderKey</code>. Keywords: Concorde, supersoniks, docs/_misc/dataProviderKey, dataProviderKey, DataProviderKey, reference, toString(), path, myKey.items[0], items, Item[], .path. URL: <a href="https://concorde.supersoniks.org/crawl/docs/_misc/dataProviderKey.html">https://concorde.supersoniks.org/crawl/docs/_misc/dataProviderKey.html</a>.</span></p>
20
19
  <h1 id="dataproviderkey">DataProviderKey</h1>
21
20
  <p>The <code>DataProviderKey&lt;T&gt;</code> utility provides type-safe navigation through composite data structures. Each property or index access extends the path, and the final key can be retrieved via <code>toString()</code> or the <code>path</code> property.</p>
22
- <p>For a <strong>single HTTP path string</strong> (no dot-syntax), see <a href="/docs/misc/endpoint">Endpoint</a>. For <strong><code>DataProviderKey&lt;APIConfiguration&gt;</code></strong>, see <a href="/docs/misc/api-configuration">API configuration</a>.</p>
21
+ <p>For a <strong>single HTTP path string</strong> (no dot-syntax), see <a href="./endpoint.html#endpoint">Endpoint</a>. For <strong><code>DataProviderKey&lt;APIConfiguration&gt;</code></strong>, see <a href="./api-configuration.html#api-configuration">API configuration</a>.</p>
23
22
  <h2 id="principle">Principle</h2>
24
23
  <p><code>DataProviderKey</code> uses a Proxy to intercept property access and build a cumulative path string. TypeScript infers the nested type at each level, so <code>myKey.items[0]</code> is correctly typed as <code>DataProviderKey&lt;Item&gt;</code> when <code>items</code> is <code>Item[]</code>.</p>
25
24
  <p>In Lit demos, bind HTML attributes from a key’s <strong><code>.path</code></strong> (single source of truth), and use <strong><code>get</code> / <code>set</code> / <code>dp</code></strong> instead of <code>PublisherManager.get(&quot;…&quot;)</code>:</p>
@@ -65,7 +64,7 @@ firstItem.path; // &quot;data.items.0&quot;
65
64
  // firstItem is DataProviderKey&amp;lt;Item&amp;gt;
66
65
  </code></pre>
67
66
  <h3 id="dynamic-paths">Dynamic paths</h3>
68
- <p>Use placeholders <code>${prop}</code> or <code>{$prop}</code> in the path string. The path is resolved at runtime from the component&#39;s properties. See <a href="/docs/misc/dynamic-path">Dynamic path placeholders</a> for resolution rules and <code>skipEmptyPlaceholder</code>. The type remains declarative:</p>
67
+ <p>Use placeholders <code>${prop}</code> or <code>{$prop}</code> in the path string. The path is resolved at runtime from the component&#39;s properties. See <a href="./dynamic-path.html#dynamic-path">Dynamic path placeholders</a> for resolution rules and <code>skipEmptyPlaceholder</code>. The type remains declarative:</p>
69
68
  <pre><code class="language-typescript">type User = { name: string; email: string };
70
69
  //
71
70
  // Path resolved from component.userIndex at runtime
@@ -73,7 +72,7 @@ firstItem.path; // &quot;data.items.0&quot;
73
72
  @state()
74
73
  user: User | null = null;
75
74
  </code></pre>
76
- <p>Dynamic keys are <strong>not</strong> supported by <code>get</code>, <code>set</code>, or <code>dp</code> — those APIs take a snapshot at call time with no component context. For dynamic paths use decorators (<code>@subscribe</code>, <code>@publish</code>, <code>@handle</code>) or <strong><code>sub(key)</code></strong> in Lit templates (resolves <code>${…}</code> from the host component). See <a href="/docs/directives/sub">sub()</a>.</p>
75
+ <p>Dynamic keys are <strong>not</strong> supported by <code>get</code>, <code>set</code>, or <code>dp</code> — those APIs take a snapshot at call time with no component context. For dynamic paths use decorators (<code>@subscribe</code>, <code>@publish</code>, <code>@handle</code>) or <strong><code>sub(key)</code></strong> in Lit templates (resolves <code>${…}</code> from the host component). See <a href="../_directives/sub.html#sub">sub()</a>.</p>
77
76
  <h3 id="get--set--dp-with-static-keys">get / set / dp with static keys</h3>
78
77
  <p>For programmatic access, pass a <code>DataProviderKey</code> or a static path string. Dynamic placeholders are rejected:</p>
79
78
  <pre><code class="language-typescript">import { dp, get, set } from &quot;@supersoniks/concorde/utils&quot;;
@@ -122,7 +121,7 @@ export class UserForm extends LitElement {
122
121
  }
123
122
  }
124
123
  </code></pre>
125
- <p>These decorators support dynamic paths: <code>&quot;base.${prop}&quot;</code> in the constructor. A wrong property type (e.g. <code>number</code> for <code>DataProviderKey&lt;string&gt;</code>) is a TypeScript error. Resolution rules: <a href="/docs/misc/dynamic-path">Dynamic path placeholders</a>. See <a href="/docs/decorators/handle">@handle</a> for method callbacks.</p>
124
+ <p>These decorators support dynamic paths: <code>&quot;base.${prop}&quot;</code> in the constructor. A wrong property type (e.g. <code>number</code> for <code>DataProviderKey&lt;string&gt;</code>) is a TypeScript error. Resolution rules: <a href="./dynamic-path.html#dynamic-path">Dynamic path placeholders</a>. See <a href="../_decorators/handle.html#handle">@handle</a> for method callbacks.</p>
126
125
  <h2 id="notes">Notes</h2>
127
126
  <ul>
128
127
  <li>Function properties are excluded from navigation (no <code>key.method()</code> chaining)</li>
@@ -1,22 +1,21 @@
1
1
  <!DOCTYPE html>
2
- <html lang="en" data-doc-url="https://concorde.supersoniks.org/docs/misc/docs-mock-api" data-doc-id="docs/misc/docs-mock-api">
2
+ <html lang="fr" data-crawl-url="https://concorde.supersoniks.org/crawl/docs/_misc/docs-mock-api.html" data-doc-id="docs/_misc/docs-mock-api">
3
3
  <head>
4
4
  <meta charset="UTF-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>Local API demos (offline) — Concorde by Supersoniks</title>
6
+ <title>Local API demos (offline) — Concorde</title>
7
7
  <meta name="description" content="The Concorde doc site does not call fragile third-party APIs during yarn dev. A Service Worker and the Vite dev middleware serve /docs-mock-api/* on the same origin.">
8
- <meta name="keywords" content="Concorde, supersoniks, docs/misc/docs-mock-api, docs-mock-api, Local API demos (offline), reference, yarn dev, /docs-mock-api/*, registerDocsMockApiServiceWorker(), /docs-mock-api-sw.js, /docs-mock-api/..., serviceURL=&quot;/docs-mock-api&quot;, src/docs/mock-api/urls.ts, DOCS_MOCK_REQRES_SERVICE, DOCS_MOCK_GEO_SERVICE, /docs-mock-api/api/users">
9
- <meta name="concorde-doc-id" content="docs/misc/docs-mock-api">
10
- <link rel="canonical" href="https://concorde.supersoniks.org/docs/misc/docs-mock-api">
11
- <link rel="alternate" type="text/markdown" href="https://concorde.supersoniks.org/docs/misc/docs-mock-api.md">
8
+ <meta name="keywords" content="Concorde, supersoniks, docs/_misc/docs-mock-api, docs-mock-api, Local API demos (offline), reference, yarn dev, /docs-mock-api/*, registerDocsMockApiServiceWorker(), /docs-mock-api-sw.js, /docs-mock-api/..., serviceURL=&quot;/docs-mock-api&quot;, src/docs/mock-api/urls.ts, DOCS_MOCK_REQRES_SERVICE, DOCS_MOCK_GEO_SERVICE, /docs-mock-api/api/users">
9
+ <meta name="concorde-doc-id" content="docs/_misc/docs-mock-api">
10
+ <link rel="canonical" href="https://concorde.supersoniks.org/crawl/docs/_misc/docs-mock-api.html">
12
11
  </head>
13
12
  <body>
14
13
  <header>
15
- <p><a href="/docs/index.html">Concorde documentation</a> · <a href="https://concorde.supersoniks.org/docs/misc/docs-mock-api">same URL (interactive)</a> · <a href="/llms.txt">llms.txt</a></p>
14
+ <p><a href="../../index.html">Concorde documentation (crawl)</a> · <a href="https://concorde.supersoniks.org/#docs/_misc/docs-mock-api.md/docs-mock-api" rel="nofollow">interactive version</a></p>
16
15
  </header>
17
16
  <main>
18
17
  <article>
19
- <p class="doc-lead" id="doc-summary"><strong>Concorde reference — Local API demos (offline)</strong>. The Concorde doc site does not call fragile third-party APIs during yarn dev. A Service Worker and the Vite dev middleware serve /docs-mock-api/* on the same origin. <span>Doc ID: <code>docs/misc/docs-mock-api</code>. Keywords: Concorde, supersoniks, docs/misc/docs-mock-api, docs-mock-api, Local API demos (offline), reference, yarn dev, /docs-mock-api/*, registerDocsMockApiServiceWorker(), /docs-mock-api-sw.js, /docs-mock-api/..., serviceURL=&quot;/docs-mock-api&quot;, src/docs/mock-api/urls.ts, DOCS_MOCK_REQRES_SERVICE, DOCS_MOCK_GEO_SERVICE, /docs-mock-api/api/users. URL: <a href="https://concorde.supersoniks.org/docs/misc/docs-mock-api">https://concorde.supersoniks.org/docs/misc/docs-mock-api</a>.</span></p>
18
+ <p class="doc-lead" id="doc-summary"><strong>Concorde reference — Local API demos (offline)</strong>. The Concorde doc site does not call fragile third-party APIs during yarn dev. A Service Worker and the Vite dev middleware serve /docs-mock-api/* on the same origin. <span>Doc ID: <code>docs/_misc/docs-mock-api</code>. Keywords: Concorde, supersoniks, docs/_misc/docs-mock-api, docs-mock-api, Local API demos (offline), reference, yarn dev, /docs-mock-api/*, registerDocsMockApiServiceWorker(), /docs-mock-api-sw.js, /docs-mock-api/..., serviceURL=&quot;/docs-mock-api&quot;, src/docs/mock-api/urls.ts, DOCS_MOCK_REQRES_SERVICE, DOCS_MOCK_GEO_SERVICE, /docs-mock-api/api/users. URL: <a href="https://concorde.supersoniks.org/crawl/docs/_misc/docs-mock-api.html">https://concorde.supersoniks.org/crawl/docs/_misc/docs-mock-api.html</a>.</span></p>
20
19
  <h1 id="local-api-demos-offline">Local API demos (offline)</h1>
21
20
  <p>The Concorde doc site does not call fragile third-party APIs during <code>yarn dev</code>. A <strong>Service Worker</strong> and the Vite dev middleware serve <strong><code>/docs-mock-api/*</code></strong> on the same origin.</p>
22
21
  <h2 id="how-it-works">How it works</h2>
@@ -36,7 +35,7 @@
36
35
  </thead>
37
36
  <tbody><tr>
38
37
  <td><code>/docs-mock-api/api/users</code></td>
39
- <td><a href="/docs/getting-started/my-first-component">My first component</a> users list</td>
38
+ <td><code>sonic-list</code>, <code>sonic-fetch</code>, <code>sonic-queue</code> (users)</td>
40
39
  </tr>
41
40
  <tr>
42
41
  <td><code>/docs-mock-api/api/users/:id</code></td>
@@ -44,7 +43,7 @@
44
43
  </tr>
45
44
  <tr>
46
45
  <td><code>/docs-mock-api/api/space-cats</code></td>
47
- <td>Fixtures shared with the jsonata unit tests</td>
46
+ <td><code>sonic-jsonata</code> top-N demo</td>
48
47
  </tr>
49
48
  <tr>
50
49
  <td><code>/docs-mock-api/api/coffee-bags</code></td>
@@ -52,7 +51,7 @@
52
51
  </tr>
53
52
  <tr>
54
53
  <td><code>/docs-mock-api/api/market-order</code></td>
55
- <td>Fixtures shared with the jsonata unit tests</td>
54
+ <td><code>sonic-jsonata</code> totals demo</td>
56
55
  </tr>
57
56
  <tr>
58
57
  <td><code>POST /docs-mock-api/api/register</code></td>
@@ -60,7 +59,7 @@
60
59
  </tr>
61
60
  <tr>
62
61
  <td><code>POST /docs-mock-api/api/register/nested</code></td>
63
- <td>Wrapped body <code>{ data: { id, token } }</code> for the <code>submitResultKey</code> demo</td>
62
+ <td>Wrapped body <code>{ data: { id, token } }</code> for <code>submit-result-key</code> demo</td>
64
63
  </tr>
65
64
  <tr>
66
65
  <td><code>GET /docs-mock-api/api/register/echo</code></td>
@@ -68,7 +67,7 @@
68
67
  </tr>
69
68
  <tr>
70
69
  <td><code>GET /docs-mock-api/auth/token</code></td>
71
- <td><a href="/docs/misc/api-configuration">API configuration</a> — tokenProvider (Basic or <code>eventsApiToken</code>)</td>
70
+ <td><a href="./api-configuration.html#api-configuration">API configuration</a> — tokenProvider (Basic or <code>eventsApiToken</code>)</td>
72
71
  </tr>
73
72
  <tr>
74
73
  <td><code>GET /docs-mock-api/api/config/protected</code></td>
@@ -80,14 +79,14 @@
80
79
  </tr>
81
80
  <tr>
82
81
  <td><code>/docs-mock-api/geo/communes</code></td>
83
- <td><code>@get</code> demos</td>
82
+ <td>Geo list, <code>@get</code> demos</td>
84
83
  </tr>
85
84
  <tr>
86
- <td><code>GET /docs-mock-api/flights</code></td>
87
- <td>Flight board (<code>key=&quot;flights&quot;</code>): <code>sonic-list</code> · <code>sonic-fetch</code> · <code>sonic-queue</code> · <code>sonic-jsonata</code> · <code>sonic-states</code> and the input / select / radio / switch filter demos</td>
85
+ <td><code>/docs-mock-api/jokes/joke/:category</code></td>
86
+ <td>JokeAPI-shaped list (<code>key=&quot;jokes&quot;</code> on queue/list)</td>
88
87
  </tr>
89
88
  </tbody></table>
90
- <h3 id="filters-get-flights">Filters <code>GET /flights</code></h3>
89
+ <h3 id="filtres-get-jokesjoke">Filtres <code>GET /jokes/joke/…</code></h3>
91
90
  <table>
92
91
  <thead>
93
92
  <tr>
@@ -96,20 +95,24 @@
96
95
  </tr>
97
96
  </thead>
98
97
  <tbody><tr>
99
- <td><code>direction</code></td>
100
- <td><code>departures</code> · <code>arrivals</code></td>
98
+ <td><code>amount</code></td>
99
+ <td>Max jokes per request when not using <code>offset</code></td>
101
100
  </tr>
102
101
  <tr>
103
- <td><code>q</code></td>
104
- <td>Substring on flight number, city or airport code</td>
102
+ <td><code>offset</code> + <code>limit</code> / <code>per_page</code></td>
103
+ <td>Pagination for <strong>sonic-queue</strong> lazy load</td>
105
104
  </tr>
106
105
  <tr>
107
- <td><code>status</code></td>
108
- <td>Comma-separated statuses to keep: <code>on-time</code> · <code>boarding</code> · <code>delayed</code> · <code>landed</code> · <code>cancelled</code> (<code>all</code> = no filter)</td>
106
+ <td><code>contains</code></td>
107
+ <td>Substring on joke text, setup/delivery, categories (<strong>input</strong> demo, <code>name=&quot;contains&quot;</code>)</td>
109
108
  </tr>
110
109
  <tr>
111
- <td><code>offset</code> + <code>limit</code></td>
112
- <td>Pagination for <strong>sonic-queue</strong> lazy load</td>
110
+ <td><code>lang</code></td>
111
+ <td><code>fr</code> or <code>en</code> — filters the local dataset (<strong>select</strong> demo, <code>name=&quot;lang&quot;</code>)</td>
112
+ </tr>
113
+ <tr>
114
+ <td><code>blacklistFlags</code></td>
115
+ <td>Comma-separated flags to <strong>exclude</strong> (<code>nsfw</code>, <code>religious</code>, <code>political</code>, <code>racist</code>, <code>sexist</code>, <code>explicit</code>) — checkbox/radio/switch « Remove following jokes » demos; each joke has matching <code>flags</code> in fixtures</td>
113
116
  </tr>
114
117
  </tbody></table>
115
118
  <h3 id="pagination-get-apiusers">Pagination <code>GET /api/users</code></h3>
@@ -1,22 +1,21 @@
1
1
  <!DOCTYPE html>
2
- <html lang="en" data-doc-url="https://concorde.supersoniks.org/docs/misc/dynamic-path" data-doc-id="docs/misc/dynamic-path">
2
+ <html lang="fr" data-crawl-url="https://concorde.supersoniks.org/crawl/docs/_misc/dynamic-path.html" 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 by Supersoniks</title>
6
+ <title>Dynamic path placeholders — Concorde</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/docs/misc/dynamic-path">
11
- <link rel="alternate" type="text/markdown" href="https://concorde.supersoniks.org/docs/misc/dynamic-path.md">
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">
12
11
  </head>
13
12
  <body>
14
13
  <header>
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>
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>
16
15
  </header>
17
16
  <main>
18
17
  <article>
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>
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>
20
19
  <h1 id="dynamic-path-placeholders">Dynamic path placeholders</h1>
21
20
  <p>Decorators and <code>DataProviderKey</code> paths can include <strong>placeholders</strong> resolved on the host component at runtime:</p>
22
21
  <ul>
@@ -117,7 +116,7 @@
117
116
  <td><code>PostOptions</code> / <code>ApiSendOptions</code></td>
118
117
  </tr>
119
118
  <tr>
120
- <td><code>@bind</code></td>
119
+ <td><code>@bind</code> / <code>@subscribe</code></td>
121
120
  <td><code>BindOptions</code></td>
122
121
  </tr>
123
122
  <tr>
@@ -166,13 +165,13 @@
166
165
  </tbody></table>
167
166
  <h2 id="see-also">See also</h2>
168
167
  <ul>
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>
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>
176
175
  </ul>
177
176
 
178
177
  </article>
@@ -1,25 +1,24 @@
1
1
  <!DOCTYPE html>
2
- <html lang="en" data-doc-url="https://concorde.supersoniks.org/docs/misc/endpoint" data-doc-id="docs/misc/endpoint">
2
+ <html lang="fr" data-crawl-url="https://concorde.supersoniks.org/crawl/docs/_misc/endpoint.html" 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 by Supersoniks</title>
6
+ <title>Endpoint — Concorde</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/docs/misc/endpoint">
11
- <link rel="alternate" type="text/markdown" href="https://concorde.supersoniks.org/docs/misc/endpoint.md">
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">
12
11
  </head>
13
12
  <body>
14
13
  <header>
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>
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>
16
15
  </header>
17
16
  <main>
18
17
  <article>
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>
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>
20
19
  <h1 id="endpoint">Endpoint</h1>
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>
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>
23
22
  <h2 id="import">Import</h2>
24
23
  <pre><code class="language-typescript">import { Endpoint } from &quot;@supersoniks/concorde/utils/endpoint&quot;;
25
24
  </code></pre>
@@ -33,16 +32,16 @@ const one = new Endpoint&amp;lt;User, { userId: string }&amp;gt;(&quot;users/${u
33
32
  <h2 id="normalization">Normalization</h2>
34
33
  <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>
35
34
  <h2 id="publisher-key-for-payloads">Publisher key for payloads</h2>
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>
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>
37
36
  <h2 id="data-provider-paths">Data-provider paths</h2>
38
37
  <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>
39
38
  <h2 id="see-also">See also</h2>
40
39
  <ul>
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>
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>
46
45
  </ul>
47
46
 
48
47
  </article>
@@ -0,0 +1,138 @@
1
+ <!DOCTYPE html>
2
+ <html lang="fr" data-crawl-url="https://concorde.supersoniks.org/crawl/docs/_misc/formelement-subscriber-removal.html" data-doc-id="docs/_misc/formelement-subscriber-removal">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>FormElement without Subscriber (REDMINE-79569) — Concorde</title>
7
+ <meta name="description" content="Form fields (sonic-input, textarea, select, checkbox, radio, switch, button, input-autocomplete) no longer inherit the Subscriber mixin.">
8
+ <meta name="keywords" content="Concorde, supersoniks, docs/_misc/formelement-subscriber-removal, formelement-subscriber-removal, FormElement without Subscriber (REDMINE-79569), reference, sonic-input, textarea, select, checkbox, radio, switch, button, input-autocomplete, dataProvider, formDataProvider">
9
+ <meta name="concorde-doc-id" content="docs/_misc/formelement-subscriber-removal">
10
+ <link rel="canonical" href="https://concorde.supersoniks.org/crawl/docs/_misc/formelement-subscriber-removal.html">
11
+ </head>
12
+ <body>
13
+ <header>
14
+ <p><a href="../../index.html">Concorde documentation (crawl)</a> · <a href="https://concorde.supersoniks.org/#docs/_misc/formelement-subscriber-removal.md/formelement-subscriber-removal" rel="nofollow">interactive version</a></p>
15
+ </header>
16
+ <main>
17
+ <article>
18
+ <p class="doc-lead" id="doc-summary"><strong>Concorde reference — FormElement without Subscriber (REDMINE-79569)</strong>. Form fields (sonic-input, textarea, select, checkbox, radio, switch, button, input-autocomplete) no longer inherit the Subscriber mixin. <span>Doc ID: <code>docs/_misc/formelement-subscriber-removal</code>. Keywords: Concorde, supersoniks, docs/_misc/formelement-subscriber-removal, formelement-subscriber-removal, FormElement without Subscriber (REDMINE-79569), reference, sonic-input, textarea, select, checkbox, radio, switch, button, input-autocomplete, dataProvider, formDataProvider. URL: <a href="https://concorde.supersoniks.org/crawl/docs/_misc/formelement-subscriber-removal.html">https://concorde.supersoniks.org/crawl/docs/_misc/formelement-subscriber-removal.html</a>.</span></p>
19
+ <h1 id="formelement-without-subscriber-redmine-79569">FormElement without Subscriber (REDMINE-79569)</h1>
20
+ <p>Form fields (<code>sonic-input</code>, <code>textarea</code>, <code>select</code>, <code>checkbox</code>, <code>radio</code>, <code>switch</code>, <code>button</code>, <code>input-autocomplete</code>) no longer inherit the <strong>Subscriber</strong> mixin.</p>
21
+ <h2 id="behaviour-now">Behaviour now</h2>
22
+ <table>
23
+ <thead>
24
+ <tr>
25
+ <th>Before</th>
26
+ <th>After</th>
27
+ </tr>
28
+ </thead>
29
+ <tbody><tr>
30
+ <td>Dual channel <code>dataProvider</code> (autofill) + <code>formDataProvider</code></td>
31
+ <td><strong><code>formDataProvider</code> + <code>name</code> only</strong></td>
32
+ </tr>
33
+ <tr>
34
+ <td>Ancestor <code>dataProvider</code> auto-filled field props</td>
35
+ <td>Ignored by form fields</td>
36
+ </tr>
37
+ <tr>
38
+ <td><code>noAutoFill</code> on fields/buttons inside a <code>dataProvider</code> tree</td>
39
+ <td>Dead on form fields (attribute harmless; can be cleaned in apps)</td>
40
+ </tr>
41
+ </tbody></table>
42
+ <p>Preview pattern still valid: form writes via <code>formDataProvider</code>, display card reads via <code>dataProvider</code> on a <strong>Subscriber</strong> (or <code>@subscribe</code>) sibling — not on the fields themselves.</p>
43
+ <h2 id="migration-checklist-apps">Migration checklist (apps)</h2>
44
+ <ol>
45
+ <li>Prefer <code>formDataProvider</code> alone on forms / fieldsets.</li>
46
+ <li>Drop redundant <code>dataProvider={sameKey}</code> on form containers when it only existed for field autofill.</li>
47
+ <li>Prefill edit forms with <code>set(formKey, row)</code> / <code>dp(formKey.field).set(...)</code> before mount — not field <code>dataProvider</code>.</li>
48
+ <li>Remove <code>noAutoFill</code> on <code>sonic-button</code> / fields when it only blocked Subscriber autofill.</li>
49
+ <li><code>initFromPublisher</code> still works (form publisher only).</li>
50
+ </ol>
51
+ <h2 id="billetterie-collect--dual-channel-risk">Billetterie collect — dual-channel risk</h2>
52
+ <p>Files under <code>la-billetterie/concorde</code> that mention both <code>formDataProvider</code> and <code>dataProvider=</code> (review; many are filter+queue, not field autofill):</p>
53
+ <h3 id="high-priority-same-key-on-form-container">High priority (same key on form container)</h3>
54
+ <ul>
55
+ <li><code>la-billetterie/components/reservation-request/atoms/request-event-form.ts</code> — <code>form</code> / <code>fieldset</code> with both attrs equal</li>
56
+ <li><code>la-billetterie/components/reservation/atoms/new-quote-form.ts</code></li>
57
+ <li><code>la-billetterie/components/stats/sales-summary/sales-summary.ts</code></li>
58
+ <li><code>la-billetterie/components/product/price-selection-form/price-selection-form.ts</code> — <code>formDataProvider</code> + <code>dataProvider=&quot;cart/editForm&quot;</code></li>
59
+ <li><code>la-billetterie/components/user/account/link-ticket/link-ticket.ts</code> — distinct keys (API vs form) — keep <code>dataProvider</code> only if used by fetch/submit siblings</li>
60
+ </ul>
61
+ <h3 id="filters--queue-usually-ok">Filters + queue (usually OK)</h3>
62
+ <p><code>formDataProvider</code> on filter bar, <code>dataProvider</code> on <code>sonic-queue</code> / list — no field autofill dependency:</p>
63
+ <ul>
64
+ <li><code>access-control/components/event/list/index.ts</code></li>
65
+ <li><code>access-control/components/control/search/views/list.ts</code></li>
66
+ <li><code>la-billetterie/components/event/form-event-filter/form-event-filter.ts</code></li>
67
+ <li><code>la-billetterie/components/counter/*</code> (agenda, store, reservation-request-treatment, …)</li>
68
+ <li><code>widgets/agenda/agenda.ts</code></li>
69
+ <li>… see full dual list in ticket notes / grep below</li>
70
+ </ul>
71
+ <h3 id="full-dual-channel-file-list-55">Full dual-channel file list (55)</h3>
72
+ <pre><code>concorde/src/access-control/components/control/search/views/list.ts
73
+ concorde/src/access-control/components/event/list/index.ts
74
+ concorde/src/la-billetterie/components/access-control-mobile/access-controller-picker.ts
75
+ concorde/src/la-billetterie/components/accreditations-directory/accreditations-directory.ts
76
+ concorde/src/la-billetterie/components/address/address-suggestion.ts
77
+ concorde/src/la-billetterie/components/bulk/bulk.ts
78
+ concorde/src/la-billetterie/components/campaign/campaign-content.ts
79
+ concorde/src/la-billetterie/components/counter/agenda/agenda.ts
80
+ concorde/src/la-billetterie/components/counter/event-selector/event-selector.ts
81
+ concorde/src/la-billetterie/components/counter/order-validation/order-validation-settings.ts
82
+ concorde/src/la-billetterie/components/counter/print/format-menu.ts
83
+ concorde/src/la-billetterie/components/counter/reservation-request-treatment/reservation-request-treatment.ts
84
+ concorde/src/la-billetterie/components/counter/store/counter-store.ts
85
+ concorde/src/la-billetterie/components/counter/widgets-settings/widgets-settings-page.ts
86
+ concorde/src/la-billetterie/components/custom-list/custom-list.ts
87
+ concorde/src/la-billetterie/components/event/agenda/agenda.ts
88
+ concorde/src/la-billetterie/components/event/atoms/buy-event-block/buy-event-block.ts
89
+ concorde/src/la-billetterie/components/event/atoms/categorizedPrices/categorizedPrices.ts
90
+ concorde/src/la-billetterie/components/event/event-store/event-store-content.ts
91
+ concorde/src/la-billetterie/components/event/form-event-filter/form-event-filter.ts
92
+ concorde/src/la-billetterie/components/form/event-selection/event-selection-filters.ts
93
+ concorde/src/la-billetterie/components/form/event-selection/event-selection.ts
94
+ concorde/src/la-billetterie/components/giftcards/giftcard-link.ts
95
+ concorde/src/la-billetterie/components/layout/header.ts
96
+ concorde/src/la-billetterie/components/orders/recover/recover.ts
97
+ concorde/src/la-billetterie/components/placing/atoms/placement-choice/placement-choice.ts
98
+ concorde/src/la-billetterie/components/placing/seatmap-view/seatmap-view.ts
99
+ concorde/src/la-billetterie/components/product/price-selection-form/price-selection-form.ts
100
+ concorde/src/la-billetterie/components/product/prices-form/price-button/price-button.ts
101
+ concorde/src/la-billetterie/components/purchase/purchase-summary/complementary-info/complementary-info.ts
102
+ concorde/src/la-billetterie/components/reservation-request/atoms/request-event-form.ts
103
+ concorde/src/la-billetterie/components/reservation/atoms/new-quote-form.ts
104
+ concorde/src/la-billetterie/components/reservation/reservation-content.ts
105
+ concorde/src/la-billetterie/components/seatmap/seatmap.ts
106
+ concorde/src/la-billetterie/components/shop/shop.ts
107
+ concorde/src/la-billetterie/components/stats/dashboard/dashboard.ts
108
+ concorde/src/la-billetterie/components/stats/event/event-stats-check.ts
109
+ concorde/src/la-billetterie/components/stats/sales-summary/sales-summary.ts
110
+ concorde/src/la-billetterie/components/subscription/atoms/quick-select-display-toggle/quick-select-display-toggle.ts
111
+ concorde/src/la-billetterie/components/subscription/cart-quick-select.ts
112
+ concorde/src/la-billetterie/components/subscription/edit/subscription-renew-form.ts
113
+ concorde/src/la-billetterie/components/ticket/ticket-freeup.ts
114
+ concorde/src/la-billetterie/components/tickets-app/default-router.ts
115
+ concorde/src/la-billetterie/components/user/account/account-purchases.ts
116
+ concorde/src/la-billetterie/components/user/account/account-tickets.ts
117
+ concorde/src/la-billetterie/components/user/account/link-ticket/link-ticket.ts
118
+ concorde/src/la-billetterie/components/user/form/login.ts
119
+ concorde/src/la-billetterie/components/user/user-attach/buyer-attach-form.ts
120
+ concorde/src/la-billetterie/components/user/user-attach/buyer-attach.ts
121
+ concorde/src/la-billetterie/components/user/user-attach/owner-attach-form.ts
122
+ concorde/src/la-billetterie/components/user/user-attach/subscription-attach-form.ts
123
+ concorde/src/la-billetterie/components/user/user-attach/subscription-selector.ts
124
+ concorde/src/la-billetterie/components/user/user-selector/user-selector.ts
125
+ concorde/src/la-billetterie/components/user/user-suggest/user-suggest.ts
126
+ concorde/src/widgets/agenda/agenda.ts
127
+ </code></pre>
128
+ <p>Re-run audit:</p>
129
+ <pre><code class="language-bash"># from la-billetterie
130
+ rg -l &#39;formDataProvider&#39; concorde/src | while read f; do rg -q &#39;dataProvider\s*=&#39; &quot;$f&quot; &amp;&amp; echo &quot;$f&quot;; done
131
+ </code></pre>
132
+ <h2 id="non-regression-concorde-docs">Non-regression (Concorde docs)</h2>
133
+ <p>Smoke form demos: input, textarea, select, checkbox (incl. check-all), radio, switch, button form modes, queue + <code>dataFilterProvider</code>, submit, validation / sameValueAs, input-autocomplete.</p>
134
+
135
+ </article>
136
+ </main>
137
+ </body>
138
+ </html>
@@ -1,26 +1,25 @@
1
1
  <!DOCTYPE html>
2
- <html lang="en" data-doc-url="https://concorde.supersoniks.org/docs/misc/html-integration" data-doc-id="docs/misc/html-integration">
2
+ <html lang="fr" data-crawl-url="https://concorde.supersoniks.org/crawl/docs/_misc/html-integration.html" 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 by Supersoniks</title>
6
+ <title>HTML integration (no Lit) — Concorde</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/docs/misc/html-integration">
11
- <link rel="alternate" type="text/markdown" href="https://concorde.supersoniks.org/docs/misc/html-integration.md">
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">
12
11
  </head>
13
12
  <body>
14
13
  <header>
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>
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>
16
15
  </header>
17
16
  <main>
18
17
  <article>
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>
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>
20
19
  <h1 id="html-integration-no-lit">HTML integration (no Lit)</h1>
21
20
  <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>
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>
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>
24
23
  <table>
25
24
  <thead>
26
25
  <tr>
@@ -30,11 +29,15 @@
30
29
  </thead>
31
30
  <tbody><tr>
32
31
  <td>Learn modern patterns</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>
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>
34
33
  </tr>
35
34
  <tr>
36
35
  <td>Author doc examples</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>
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>
38
41
  </tr>
39
42
  </tbody></table>
40
43
  <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>