@supersoniks/concorde 5.0.5 → 5.1.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 (282) hide show
  1. package/.claude/launch.json +15 -0
  2. package/.claude/vite.http.config.mjs +7 -0
  3. package/.taste-skill/after/desktop-fold.jpg +0 -0
  4. package/.taste-skill/after/desktop-page-01.jpg +0 -0
  5. package/.taste-skill/after/desktop-page-02.jpg +0 -0
  6. package/.taste-skill/after/desktop-page-03.jpg +0 -0
  7. package/.taste-skill/after/mobile-fold.jpg +0 -0
  8. package/.taste-skill/after/mobile-page-01.jpg +0 -0
  9. package/.taste-skill/after/report.json +4103 -0
  10. package/.taste-skill/after/tablet-fold.jpg +0 -0
  11. package/.taste-skill/after/tablet-page-01.jpg +0 -0
  12. package/.taste-skill/after/tablet-page-02.jpg +0 -0
  13. package/.taste-skill/before/desktop-fold.jpg +0 -0
  14. package/.taste-skill/before/desktop-page-01.jpg +0 -0
  15. package/.taste-skill/before/desktop-page-02.jpg +0 -0
  16. package/.taste-skill/before/mobile-fold.jpg +0 -0
  17. package/.taste-skill/before/mobile-page-01.jpg +0 -0
  18. package/.taste-skill/before/report.json +2556 -0
  19. package/.taste-skill/before/tablet-fold.jpg +0 -0
  20. package/.taste-skill/before/tablet-page-01.jpg +0 -0
  21. package/.taste-skill/direction.json +510 -0
  22. package/.taste-skill/notes.md +84 -0
  23. package/.taste-skill/prod/desktop-fold.jpg +0 -0
  24. package/.taste-skill/prod/desktop-page-01.jpg +0 -0
  25. package/.taste-skill/prod/desktop-page-02.jpg +0 -0
  26. package/.taste-skill/prod/desktop-page-03.jpg +0 -0
  27. package/.taste-skill/prod/mobile-fold.jpg +0 -0
  28. package/.taste-skill/prod/mobile-page-01.jpg +0 -0
  29. package/.taste-skill/prod/mobile-page-02.jpg +0 -0
  30. package/.taste-skill/prod/report.json +1973 -0
  31. package/.taste-skill/prod/tablet-fold.jpg +0 -0
  32. package/.taste-skill/prod/tablet-page-01.jpg +0 -0
  33. package/.taste-skill/prod/tablet-page-02.jpg +0 -0
  34. package/.tmp-cem/custom-elements.json +13705 -0
  35. package/AUDIT.md +228 -0
  36. package/PLAN-AMELIORATION.md +220 -0
  37. package/build-infos.json +1 -1
  38. package/concorde-core.bundle.js +196 -196
  39. package/concorde-core.es.js +3854 -3572
  40. package/custom-elements-manifest.config.mjs +14 -0
  41. package/dist/concorde-core.bundle.js +196 -196
  42. package/dist/concorde-core.es.js +3854 -3572
  43. package/dist/img/archive/concorde-001-2cv.webp +0 -0
  44. package/dist/img/archive/concorde-red-arrows-2002-poster.jpg +0 -0
  45. package/dist/img/archive/concorde-red-arrows-2002.webm +0 -0
  46. package/dist/img/archive/credits.json +28 -0
  47. package/docs/assets/index-Bb-_LRyY.js +12280 -0
  48. package/docs/index.html +1 -1
  49. package/index.html +27 -63
  50. package/package.json +44 -3
  51. package/public/img/archive/concorde-001-2cv.webp +0 -0
  52. package/public/img/archive/concorde-red-arrows-2002-poster.jpg +0 -0
  53. package/public/img/archive/concorde-red-arrows-2002.webm +0 -0
  54. package/public/img/archive/credits.json +28 -0
  55. package/scripts/generate-sdui-catalog.mjs +250 -0
  56. package/scripts/generate-sdui-catalog.spec.ts +91 -0
  57. package/scripts/pre-build.mjs +15 -0
  58. package/src/core/components/functional/fetch/fetch.md +2 -2
  59. package/src/core/components/functional/sdui/SDUIDescriptorTransformer.ts +5 -5
  60. package/src/core/components/functional/sdui/__fixtures__/descriptors.ts +251 -0
  61. package/src/core/components/functional/sdui/__snapshots__/sdui-action.spec.ts.snap +73 -0
  62. package/src/core/components/functional/sdui/__snapshots__/sdui-incremental.spec.ts.snap +50 -0
  63. package/src/core/components/functional/sdui/__snapshots__/sdui-partial.spec.ts.snap +50 -0
  64. package/src/core/components/functional/sdui/__snapshots__/sdui.regression.spec.ts.snap +461 -0
  65. package/src/core/components/functional/sdui/component-catalog.gaps.json +511 -0
  66. package/src/core/components/functional/sdui/component-catalog.json +3103 -0
  67. package/src/core/components/functional/sdui/component-catalog.spec.ts +23 -0
  68. package/src/core/components/functional/sdui/sdui-action.spec.ts +99 -0
  69. package/src/core/components/functional/sdui/sdui-dom-snapshot.ts +61 -0
  70. package/src/core/components/functional/sdui/sdui-extension-points.md +94 -0
  71. package/src/core/components/functional/sdui/sdui-incremental.spec.ts +137 -0
  72. package/src/core/components/functional/sdui/sdui-partial.spec.ts +83 -0
  73. package/src/core/components/functional/sdui/sdui-partial.ts +19 -0
  74. package/src/core/components/functional/sdui/sdui-safe.spec.ts +188 -0
  75. package/src/core/components/functional/sdui/sdui-safe.ts +100 -0
  76. package/src/core/components/functional/sdui/sdui.md +122 -0
  77. package/src/core/components/functional/sdui/sdui.regression.spec.ts +64 -0
  78. package/src/core/components/functional/sdui/sdui.ts +442 -34
  79. package/src/core/components/functional/sdui/types.ts +49 -0
  80. package/src/core/components/ui/modal/modal.ts +14 -11
  81. package/src/docs/_getting-started/components.md +5 -0
  82. package/src/docs/_getting-started/theming.md +2 -2
  83. package/src/docs/code.ts +88 -75
  84. package/src/docs/components/docs-demo-sources.ts +16 -8
  85. package/src/docs/components/docs-lit-demo.ts +19 -37
  86. package/src/docs/docs.ts +5 -0
  87. package/src/docs/example/docs-boarding-pass-demo.ts +134 -0
  88. package/src/docs/example/docs-provider-keys.ts +12 -0
  89. package/src/docs/header/header.ts +233 -69
  90. package/src/docs/home/catalog.ts +44 -0
  91. package/src/docs/home/home.ts +513 -0
  92. package/src/docs/home/mach-stage.ts +389 -0
  93. package/src/docs/layout.ts +3 -1
  94. package/src/docs/navigation/components-index.ts +56 -0
  95. package/src/docs/navigation/navigation.ts +240 -232
  96. package/src/docs/navigation/pager.ts +67 -0
  97. package/src/docs/navigation/toc.ts +98 -0
  98. package/src/docs/search/docs-search.json +330 -20
  99. package/src/docs/search/markdown-renderer.ts +11 -3
  100. package/src/docs/shiki/index.ts +109 -0
  101. package/src/docs/tailwind/css/base/scrollbar.css +22 -0
  102. package/src/docs/tailwind/css/base/theme.css +96 -0
  103. package/src/docs/tailwind/css/base/typography.css +4 -0
  104. package/src/docs/tailwind/css/docs/boarding-pass.css +65 -0
  105. package/src/docs/tailwind/css/docs/content.css +32 -0
  106. package/src/docs/tailwind/css/docs/page.css +10 -0
  107. package/src/docs/tailwind/css/docs.css +9 -0
  108. package/src/docs/tailwind/css/home/hero.css +210 -0
  109. package/src/docs/tailwind/css/home/motion.css +84 -0
  110. package/src/docs/tailwind/css/home/sections.css +416 -0
  111. package/src/docs/tailwind/css/tailwind.css +7 -185
  112. package/src/tsconfig.json +113 -2
  113. package/src/tsconfig.tsbuildinfo +1 -1
  114. package/tailwind.config.js +8 -4
  115. package/docs/assets/index-wVZpLVYW.js +0 -12122
  116. package/docs/crawl/core/components/functional/date/date.html +0 -190
  117. package/docs/crawl/core/components/functional/fetch/fetch.html +0 -109
  118. package/docs/crawl/core/components/functional/if/if.html +0 -27
  119. package/docs/crawl/core/components/functional/jsonata/jsonata.html +0 -79
  120. package/docs/crawl/core/components/functional/list/list.html +0 -70
  121. package/docs/crawl/core/components/functional/mix/mix.html +0 -45
  122. package/docs/crawl/core/components/functional/queue/queue.html +0 -96
  123. package/docs/crawl/core/components/functional/router/router.html +0 -106
  124. package/docs/crawl/core/components/functional/sdui/sdui.html +0 -269
  125. package/docs/crawl/core/components/functional/states/states.html +0 -66
  126. package/docs/crawl/core/components/functional/submit/submit.html +0 -160
  127. package/docs/crawl/core/components/functional/subscriber/subscriber.html +0 -67
  128. package/docs/crawl/core/components/functional/value/value.html +0 -51
  129. package/docs/crawl/core/components/ui/alert/alert.html +0 -211
  130. package/docs/crawl/core/components/ui/alert-messages/alert-messages.html +0 -131
  131. package/docs/crawl/core/components/ui/badge/badge.html +0 -197
  132. package/docs/crawl/core/components/ui/button/button.html +0 -150
  133. package/docs/crawl/core/components/ui/captcha/captcha.html +0 -112
  134. package/docs/crawl/core/components/ui/card/card.html +0 -253
  135. package/docs/crawl/core/components/ui/divider/divider.html +0 -144
  136. package/docs/crawl/core/components/ui/form/checkbox/checkbox.html +0 -73
  137. package/docs/crawl/core/components/ui/form/fieldset/fieldset.html +0 -266
  138. package/docs/crawl/core/components/ui/form/form-actions/form-actions.html +0 -122
  139. package/docs/crawl/core/components/ui/form/form-layout/form-layout.html +0 -121
  140. package/docs/crawl/core/components/ui/form/input/input.html +0 -109
  141. package/docs/crawl/core/components/ui/form/input-autocomplete/input-autocomplete.html +0 -38
  142. package/docs/crawl/core/components/ui/form/radio/radio.html +0 -56
  143. package/docs/crawl/core/components/ui/form/select/select.html +0 -73
  144. package/docs/crawl/core/components/ui/form/switch/switch.html +0 -56
  145. package/docs/crawl/core/components/ui/form/textarea/textarea.html +0 -59
  146. package/docs/crawl/core/components/ui/group/group.html +0 -104
  147. package/docs/crawl/core/components/ui/icon/icon.html +0 -222
  148. package/docs/crawl/core/components/ui/image/image.html +0 -298
  149. package/docs/crawl/core/components/ui/link/link.html +0 -100
  150. package/docs/crawl/core/components/ui/loader/loader.html +0 -124
  151. package/docs/crawl/core/components/ui/menu/menu.html +0 -394
  152. package/docs/crawl/core/components/ui/modal/modal.html +0 -342
  153. package/docs/crawl/core/components/ui/pop/pop.html +0 -296
  154. package/docs/crawl/core/components/ui/progress/progress.html +0 -131
  155. package/docs/crawl/core/components/ui/table/table.html +0 -545
  156. package/docs/crawl/core/components/ui/theme/theme.html +0 -131
  157. package/docs/crawl/core/components/ui/toast/toast.html +0 -233
  158. package/docs/crawl/core/components/ui/tooltip/tooltip.html +0 -140
  159. package/docs/crawl/docs/_core-concept/dataFlow.html +0 -177
  160. package/docs/crawl/docs/_core-concept/overview.html +0 -66
  161. package/docs/crawl/docs/_core-concept/subscriber.html +0 -75
  162. package/docs/crawl/docs/_decorators/ancestor-attribute.html +0 -117
  163. package/docs/crawl/docs/_decorators/auto-subscribe.html +0 -202
  164. package/docs/crawl/docs/_decorators/bind.html +0 -141
  165. package/docs/crawl/docs/_decorators/get.html +0 -149
  166. package/docs/crawl/docs/_decorators/handle.html +0 -165
  167. package/docs/crawl/docs/_decorators/on-assign.html +0 -355
  168. package/docs/crawl/docs/_decorators/patch.html +0 -78
  169. package/docs/crawl/docs/_decorators/post.html +0 -139
  170. package/docs/crawl/docs/_decorators/publish.html +0 -61
  171. package/docs/crawl/docs/_decorators/put.html +0 -78
  172. package/docs/crawl/docs/_decorators/subscribe.html +0 -109
  173. package/docs/crawl/docs/_decorators/wait-for-ancestors.html +0 -137
  174. package/docs/crawl/docs/_directives/sub.html +0 -93
  175. package/docs/crawl/docs/_getting-started/ai-agents.html +0 -173
  176. package/docs/crawl/docs/_getting-started/concorde-manual-install.html +0 -100
  177. package/docs/crawl/docs/_getting-started/concorde-outside.html +0 -58
  178. package/docs/crawl/docs/_getting-started/create-a-component.html +0 -111
  179. package/docs/crawl/docs/_getting-started/my-first-component.html +0 -189
  180. package/docs/crawl/docs/_getting-started/my-first-subscriber.html +0 -110
  181. package/docs/crawl/docs/_getting-started/pubsub.html +0 -62
  182. package/docs/crawl/docs/_getting-started/start.html +0 -76
  183. package/docs/crawl/docs/_getting-started/theming.html +0 -333
  184. package/docs/crawl/docs/_misc/api-configuration.html +0 -149
  185. package/docs/crawl/docs/_misc/dataProviderKey.html +0 -135
  186. package/docs/crawl/docs/_misc/docs-mock-api.html +0 -158
  187. package/docs/crawl/docs/_misc/dynamic-path.html +0 -180
  188. package/docs/crawl/docs/_misc/endpoint.html +0 -50
  189. package/docs/crawl/docs/_misc/formelement-subscriber-removal.html +0 -138
  190. package/docs/crawl/docs/_misc/html-integration.html +0 -48
  191. package/docs/crawl/hubs/decorators.html +0 -547
  192. package/docs/crawl/hubs/form-components.html +0 -381
  193. package/docs/crawl/hubs/remote-data.html +0 -452
  194. package/docs/crawl/index.html +0 -102
  195. package/docs/llms-full.txt +0 -7008
  196. package/docs/llms.txt +0 -97
  197. package/docs/sitemap.xml +0 -240
  198. package/docs/src/core/components/functional/date/date.md +0 -290
  199. package/docs/src/core/components/functional/fetch/fetch.md +0 -125
  200. package/docs/src/core/components/functional/if/if.md +0 -9
  201. package/docs/src/core/components/functional/jsonata/jsonata.md +0 -56
  202. package/docs/src/core/components/functional/list/list.md +0 -65
  203. package/docs/src/core/components/functional/mix/mix.md +0 -41
  204. package/docs/src/core/components/functional/queue/queue.md +0 -72
  205. package/docs/src/core/components/functional/router/router.md +0 -94
  206. package/docs/src/core/components/functional/sdui/default-library.json +0 -108
  207. package/docs/src/core/components/functional/sdui/example.json +0 -99
  208. package/docs/src/core/components/functional/sdui/sdui.md +0 -356
  209. package/docs/src/core/components/functional/states/states.md +0 -87
  210. package/docs/src/core/components/functional/submit/submit.md +0 -114
  211. package/docs/src/core/components/functional/subscriber/subscriber.md +0 -91
  212. package/docs/src/core/components/functional/value/value.md +0 -35
  213. package/docs/src/core/components/ui/alert/alert.md +0 -196
  214. package/docs/src/core/components/ui/alert-messages/alert-messages.md +0 -85
  215. package/docs/src/core/components/ui/badge/badge.md +0 -188
  216. package/docs/src/core/components/ui/button/button.md +0 -183
  217. package/docs/src/core/components/ui/captcha/captcha.md +0 -71
  218. package/docs/src/core/components/ui/card/card.md +0 -215
  219. package/docs/src/core/components/ui/divider/divider.md +0 -129
  220. package/docs/src/core/components/ui/form/checkbox/checkbox.md +0 -77
  221. package/docs/src/core/components/ui/form/fieldset/fieldset.md +0 -205
  222. package/docs/src/core/components/ui/form/form-actions/form-actions.md +0 -100
  223. package/docs/src/core/components/ui/form/form-layout/form-layout.md +0 -119
  224. package/docs/src/core/components/ui/form/input/input.md +0 -142
  225. package/docs/src/core/components/ui/form/input-autocomplete/input-autocomplete.md +0 -29
  226. package/docs/src/core/components/ui/form/radio/radio.md +0 -57
  227. package/docs/src/core/components/ui/form/select/select.md +0 -71
  228. package/docs/src/core/components/ui/form/switch/switch.md +0 -57
  229. package/docs/src/core/components/ui/form/textarea/textarea.md +0 -65
  230. package/docs/src/core/components/ui/group/group.md +0 -75
  231. package/docs/src/core/components/ui/icon/icon.md +0 -214
  232. package/docs/src/core/components/ui/icon/icons.json +0 -1
  233. package/docs/src/core/components/ui/image/image.md +0 -233
  234. package/docs/src/core/components/ui/link/link.md +0 -81
  235. package/docs/src/core/components/ui/loader/loader.md +0 -112
  236. package/docs/src/core/components/ui/menu/menu.md +0 -370
  237. package/docs/src/core/components/ui/modal/modal.md +0 -235
  238. package/docs/src/core/components/ui/pop/pop.md +0 -294
  239. package/docs/src/core/components/ui/progress/progress.md +0 -109
  240. package/docs/src/core/components/ui/table/table.md +0 -431
  241. package/docs/src/core/components/ui/theme/theme.md +0 -122
  242. package/docs/src/core/components/ui/toast/toast.md +0 -216
  243. package/docs/src/core/components/ui/tooltip/tooltip.md +0 -124
  244. package/docs/src/docs/_core-concept/dataFlow.md +0 -88
  245. package/docs/src/docs/_core-concept/overview.md +0 -57
  246. package/docs/src/docs/_core-concept/subscriber.md +0 -75
  247. package/docs/src/docs/_decorators/ancestor-attribute.md +0 -128
  248. package/docs/src/docs/_decorators/auto-subscribe.md +0 -202
  249. package/docs/src/docs/_decorators/bind.md +0 -167
  250. package/docs/src/docs/_decorators/get.md +0 -162
  251. package/docs/src/docs/_decorators/handle.md +0 -175
  252. package/docs/src/docs/_decorators/on-assign.md +0 -390
  253. package/docs/src/docs/_decorators/patch.md +0 -70
  254. package/docs/src/docs/_decorators/post.md +0 -146
  255. package/docs/src/docs/_decorators/publish.md +0 -55
  256. package/docs/src/docs/_decorators/put.md +0 -70
  257. package/docs/src/docs/_decorators/subscribe.md +0 -100
  258. package/docs/src/docs/_decorators/wait-for-ancestors.md +0 -163
  259. package/docs/src/docs/_directives/sub.md +0 -91
  260. package/docs/src/docs/_getting-started/ai-agents.md +0 -76
  261. package/docs/src/docs/_getting-started/concorde-manual-install.md +0 -133
  262. package/docs/src/docs/_getting-started/concorde-outside.md +0 -33
  263. package/docs/src/docs/_getting-started/create-a-component.md +0 -139
  264. package/docs/src/docs/_getting-started/my-first-component.md +0 -236
  265. package/docs/src/docs/_getting-started/my-first-subscriber.md +0 -120
  266. package/docs/src/docs/_getting-started/pubsub.md +0 -37
  267. package/docs/src/docs/_getting-started/start.md +0 -47
  268. package/docs/src/docs/_getting-started/theming.md +0 -253
  269. package/docs/src/docs/_misc/api-configuration.md +0 -81
  270. package/docs/src/docs/_misc/dataProviderKey.md +0 -168
  271. package/docs/src/docs/_misc/docs-mock-api.md +0 -63
  272. package/docs/src/docs/_misc/dynamic-path.md +0 -71
  273. package/docs/src/docs/_misc/endpoint.md +0 -45
  274. package/docs/src/docs/_misc/formelement-subscriber-removal.md +0 -115
  275. package/docs/src/docs/_misc/html-integration.md +0 -15
  276. package/docs/src/docs/search/docs-search.json +0 -12242
  277. package/docs/src/tag-list.json +0 -1
  278. package/docs/src/tsconfig-model.json +0 -23
  279. package/docs/src/tsconfig.json +0 -1242
  280. package/src/docs/prism/index.ts +0 -6
  281. package/src/docs/prism/prism.css +0 -158
  282. package/src/docs/prism/prism.js +0 -1022
package/docs/llms.txt DELETED
@@ -1,97 +0,0 @@
1
- # Concorde
2
-
3
- > Web components framework (Lit, DataProvider, decorators).
4
-
5
- Documentation for AI indexers lives under `/crawl/` as **HTML** (`.html`), not Markdown.
6
- Example: https://concorde.supersoniks.org/crawl/docs/_decorators/post.html
7
- Do not fetch `/crawl/**/*.md` (does not exist) nor `/src/docs/**/*.md` (SPA source only).
8
-
9
- Full text: https://concorde.supersoniks.org/llms-full.txt
10
-
11
- ## Topic hubs (start here for RAG)
12
-
13
- - [Concorde decorators reference](https://concorde.supersoniks.org/crawl/hubs/decorators.html) (hubs/decorators, 12 pages)
14
- - [Fetching remote data in Concorde](https://concorde.supersoniks.org/crawl/hubs/remote-data.html) (hubs/remote-data, 11 pages)
15
- - [Concorde form components](https://concorde.supersoniks.org/crawl/hubs/form-components.html) (hubs/form-components, 10 pages)
16
-
17
- ## Docs
18
-
19
- - [Date](https://concorde.supersoniks.org/crawl/core/components/functional/date/date.html) (core/components/functional/date/date): Nothing is displayed.
20
- - [Fetch](https://concorde.supersoniks.org/crawl/core/components/functional/fetch/fetch.html) (core/components/functional/fetch/fetch): > New apps: prefer @get for a typed GET on a component, or List / Queue with fetch for collections. Use Local API demos (serviceURL="/docs-mock-api") to try examples offline.
21
- - [if](https://concorde.supersoniks.org/crawl/core/components/functional/if/if.html) (core/components/functional/if/if): The sonic-if component shows its slot when .condition is true. In Lit, bind .condition from store-driven state (@subscribe on a formDataProvider field) — live preview and TypeScript source are the sam
22
- - [Jsonata](https://concorde.supersoniks.org/crawl/core/components/functional/jsonata/jsonata.html) (core/components/functional/jsonata/jsonata): sonic-jsonata : 1 input → expression → 1 output (readonly).
23
- - [List](https://concorde.supersoniks.org/crawl/core/components/functional/list/list.html) (core/components/functional/list/list): > Try offline: serviceURL="/docs-mock-api" and dataProvider="api/users" with key="data" — see Local API demos. Recommended patterns: Data flow.
24
- - [Mix](https://concorde.supersoniks.org/crawl/core/components/functional/mix/mix.html) (core/components/functional/mix/mix): Mix allows you to mix several subsets of dataProvider in a new key/value structure which is itself associated with a new dataProvider. The data update is then bidirectional.
25
- - [Queue](https://concorde.supersoniks.org/crawl/core/components/functional/queue/queue.html) (core/components/functional/queue/queue): > Try offline: serviceURL="/docs-mock-api" — see Local API demos. Row rendering: Data flow (.items property binding).
26
- - [Router](https://concorde.supersoniks.org/crawl/core/components/functional/router/router.html) (core/components/functional/router/router): sonic-router watches document.location (pathname + hash) and renders the matching view.
27
- - [SDUI](https://concorde.supersoniks.org/crawl/core/components/functional/sdui/sdui.html) (core/components/functional/sdui/sdui): SDUI stands for Server Driven User Interfaces.
28
- - [States](https://concorde.supersoniks.org/crawl/core/components/functional/states/states.html) (core/components/functional/states/states): * It loops over its child templates and tests if the regexp contained in the *data-value* attribute matches the value of the property
29
- - [Submit](https://concorde.supersoniks.org/crawl/core/components/functional/submit/submit.html) (core/components/functional/submit/submit): > Live demos: <docs-lit-demo> + src/docs/example/docs-submit-demos.ts. Use Local API demos (serviceURL="/docs-mock-api").
30
- - [Subscriber](https://concorde.supersoniks.org/crawl/core/components/functional/subscriber/subscriber.html) (core/components/functional/subscriber/subscriber): La mixin Subscriber permet lier un composant à un publisher.
31
- - [Value](https://concorde.supersoniks.org/crawl/core/components/functional/value/value.html) (core/components/functional/value/value): Simply shows a value from a data provider.
32
- - [Alert messages](https://concorde.supersoniks.org/crawl/core/components/ui/alert-messages/alert-messages.html) (core/components/ui/alert-messages/alert-messages): sonic-alert-messages renders a vertical stack of sonic-alert items from a messages array on a linked data provider (typical pattern: submitResultDataProvider after a form submit). Only entries with ty
33
- - [Alert](https://concorde.supersoniks.org/crawl/core/components/ui/alert/alert.html) (core/components/ui/alert/alert): Alerts surface important feedback inline—errors, confirmations, or contextual help. Use label / text for simple copy, or the default slot for rich content (links, buttons). Set announce when the messa
34
- - [Badge](https://concorde.supersoniks.org/crawl/core/components/ui/badge/badge.html) (core/components/ui/badge/badge): Badges are compact, non-interactive labels for status, counts, or categories. They mirror sonic-button styling (type, variant, size) without focus rings or click handling—use a button when the control
35
- - [Button](https://concorde.supersoniks.org/crawl/core/components/ui/button/button.html) (core/components/ui/button/button): The length of the button depends on the size of its content
36
- - [Captcha](https://concorde.supersoniks.org/crawl/core/components/ui/captcha/captcha.html) (core/components/ui/captcha/captcha): sonic-captcha embeds an ALTCHA widget and wires captchaToken / needsCaptchaValidation on the ancestor formDataProvider (or headersDataProvider). sonic-submit waits for a token before sending when vali
37
- - [Card](https://concorde.supersoniks.org/crawl/core/components/ui/card/card.html) (core/components/ui/card/card): Cards group related content on a padded surface with radius, theme type colors, and elevation. Default shadow is lg. Compose sonic-card-header / sonic-card-main / sonic-card-footer, or place any marku
38
- - [Divider](https://concorde.supersoniks.org/crawl/core/components/ui/divider/divider.html) (core/components/ui/divider/divider): sonic-divider draws a horizontal or vertical rule with optional centered label copy. Use it to separate sections in forms, cards, and sonic-menu. Set label for simple HTML captions or use the default
39
- - [Checkbox](https://concorde.supersoniks.org/crawl/core/components/ui/form/checkbox/checkbox.html) (core/components/ui/form/checkbox/checkbox): >Already checked checkbox
40
- - [Fieldset](https://concorde.supersoniks.org/crawl/core/components/ui/form/fieldset/fieldset.html) (core/components/ui/form/fieldset/fieldset): sonic-fieldset groups related form controls with a bordered container and an accessible <fieldset> semantics layer. Put fields in the default slot; add a title with sonic-legend or the shorthand label
41
- - [Form actions](https://concorde.supersoniks.org/crawl/core/components/ui/form/form-actions/form-actions.html) (core/components/ui/form/form-actions/form-actions): sonic-form-actions lays out submit / cancel and other form footer controls in a wrapping flex row with a small fixed gap. Place it inside sonic-form-layout (full-width row) or any block that should en
42
- - [Form layout](https://concorde.supersoniks.org/crawl/core/components/ui/form/form-layout/form-layout.html) (core/components/ui/form/form-layout/form-layout): sonic-form-layout arranges slotted form controls in a responsive CSS grid with consistent vertical spacing. Pair sonic-input · sonic-select and sonic-input-autocomplete fields side by side when the ho
43
- - [Input-autocomplete](https://concorde.supersoniks.org/crawl/core/components/ui/form/input-autocomplete/input-autocomplete.html) (core/components/ui/form/input-autocomplete/input-autocomplete): Champ formulaire + suggestions via queue. Valeur via formDataProvider + name ; la recherche filtre la queue (store interne).
44
- - [Input](https://concorde.supersoniks.org/crawl/core/components/ui/form/input/input.html) (core/components/ui/form/input/input): Native attributes list
45
- - [Radio](https://concorde.supersoniks.org/crawl/core/components/ui/form/radio/radio.html) (core/components/ui/form/radio/radio): >Already checked radio
46
- - [Select](https://concorde.supersoniks.org/crawl/core/components/ui/form/select/select.html) (core/components/ui/form/select/select): {"value":"dark", "wording":"dark (set by \"attribute\")", "selected" : "true"}, {"value":"auto", "wording":"auto"}
47
- - [Switch](https://concorde.supersoniks.org/crawl/core/components/ui/form/switch/switch.html) (core/components/ui/form/switch/switch): >Already checked switch
48
- - [Textarea](https://concorde.supersoniks.org/crawl/core/components/ui/form/textarea/textarea.html) (core/components/ui/form/textarea/textarea): Native attributes list
49
- - [Group](https://concorde.supersoniks.org/crawl/core/components/ui/group/group.html) (core/components/ui/group/group): sonic-group lays out slotted sonic-button · sonic-input and sonic-select controls in a single horizontal row with shared corner radius (first / middle / last items). Optional label and description fol
50
- - [Icon](https://concorde.supersoniks.org/crawl/core/components/ui/icon/icon.html) (core/components/ui/icon/icon): sonic-icon renders inline SVG icons from the bundled core set or from CDN libraries. Set name (and library / prefix when needed); scale with size. Icons inherit currentColor and are aria-hidden by def
51
- - [Image](https://concorde.supersoniks.org/crawl/core/components/ui/image/image.html) (core/components/ui/image/image): sonic-image wraps a responsive <img> with aspect ratio, object-fit: cover, optional rounded corners, and load transitions. The host shows a placeholder background (--sc-placeholder-bg) until the asset
52
- - [Link](https://concorde.supersoniks.org/crawl/core/components/ui/link/link.html) (core/components/ui/link/link): Links navigate with inherited typography: internal routes, anchors, or external URLs. The default slot is the anchor label. For in-app routing, pair href with pushstate; use autoActive to reflect the
53
- - [Loader](https://concorde.supersoniks.org/crawl/core/components/ui/loader/loader.html) (core/components/ui/loader/loader): sonic-loader shows a loading animation in the page or as a viewport overlay. Default mode is fixed (centered overlay). Use inline inside lists and fetch placeholders. Pair noDelay when the spinner sho
54
- - [Menu](https://concorde.supersoniks.org/crawl/core/components/ui/menu/menu.html) (core/components/ui/menu/menu): sonic-menu lays out navigation or actions as a direction row or column of sonic-menu-item entries (ghost variant and block shape by default), optional sonic-divider separators, and overflow content in
55
- - [Modal](https://concorde.supersoniks.org/crawl/core/components/ui/modal/modal.html) (core/components/ui/modal/modal): sonic-modal presents focused content in a <dialog> overlay with backdrop, enter/exit animation, and a built-in close control. Compose sonic-modal-title / sonic-modal-subtitle / sonic-modal-content / s
56
- - [Pop](https://concorde.supersoniks.org/crawl/core/components/ui/pop/pop.html) (core/components/ui/pop/pop): sonic-pop anchors floating panels to a trigger: put the control in the default slot and the panel in slot="content" (menus, forms, custom markup). Click toggles open/closed unless manual is set; defau
57
- - [Progress](https://concorde.supersoniks.org/crawl/core/components/ui/progress/progress.html) (core/components/ui/progress/progress): Shows task completion on a value / max scale via a native <progress> bar. Omit value for an indeterminate loading animation. Put primary copy in the default slot and optional secondary text in remaini
58
- - [Table](https://concorde.supersoniks.org/crawl/core/components/ui/table/table.html) (core/components/ui/table/table): sonic-table lays out tabular data with composable sonic-tr / sonic-th / sonic-td children. The root applies shared typography via size, scrolls horizontally when content overflows, and optionally caps
59
- - [Theme](https://concorde.supersoniks.org/crawl/core/components/ui/theme/theme.html) (core/components/ui/theme/theme): sonic-theme wraps a Concorde UI: it registers --sc-* design tokens and provides the default slot for your app. With no theme attribute (or theme="custom"), only shared primitives and your overrides ap
60
- - [Toast](https://concorde.supersoniks.org/crawl/core/components/ui/toast/toast.html) (core/components/ui/toast/toast): Toasts surface short-lived feedback in a fixed stack (bottom-right in the main window). Queue messages with SonicToast.add() on the global SonicToast class—the host sonic-toast is created automaticall
61
- - [Tooltip](https://concorde.supersoniks.org/crawl/core/components/ui/tooltip/tooltip.html) (core/components/ui/tooltip/tooltip): Tooltip shows a short label on hover (and on focus when the trigger can receive focus). Wrap the trigger in the default slot—buttons, icons, or plain text. Default placement is top (center-aligned). A
62
- - [Data flow](https://concorde.supersoniks.org/crawl/docs/_core-concept/dataFlow.html) (docs/_core-concept/dataFlow): Recommended patterns for new Concorde apps (Lit + TypeScript). Under the hood, data lives in a DataProvider store (legacy Publisher API: Legacy: Sharing data).
63
- - [lit + tailwind + vite](https://concorde.supersoniks.org/crawl/docs/_core-concept/overview.html) (docs/_core-concept/overview): Some notes for an overview of Concorde's functioning
64
- - [Legacy: Subscriber mixin](https://concorde.supersoniks.org/crawl/docs/_core-concept/subscriber.html) (docs/_core-concept/subscriber): > New app components: My first component and Data flow — extend LitElement with decorators (@subscribe, @ancestorAttribute, …). This mixin remains in core components (sonic-list, sonic-fetch, …) and l
65
- - [@ancestorAttribute](https://concorde.supersoniks.org/crawl/docs/_decorators/ancestor-attribute.html) (docs/_decorators/ancestor-attribute): The @ancestorAttribute decorator automatically injects the value of an ancestor's attribute into a class property at the time of connectedCallback.
66
- - [@autoSubscribe](https://concorde.supersoniks.org/crawl/docs/_decorators/auto-subscribe.html) (docs/_decorators/auto-subscribe): > Legacy: prefer @subscribe + DataProviderKey. Examples below may still show PublisherManager for existing codebases.
67
- - [@bind](https://concorde.supersoniks.org/crawl/docs/_decorators/bind.html) (docs/_decorators/bind): Binds a class property to a path in a publisher. The property updates when publisher data changes.
68
- - [@get](https://concorde.supersoniks.org/crawl/docs/_decorators/get.html) (docs/_decorators/get): @get loads data and stores the result in an optional ApiResult<T> property.
69
- - [@handle](https://concorde.supersoniks.org/crawl/docs/_decorators/handle.html) (docs/_decorators/handle): Typed callback on one or more DataProviderKey<T> paths: invokes the decorated method when a publisher assigns a value (calculations, side effects, updating other @state properties, etc.).
70
- - [@onAssign](https://concorde.supersoniks.org/crawl/docs/_decorators/on-assign.html) (docs/_decorators/on-assign): > New apps: use @handle with DataProviderKey (Data flow). @onAssign uses untyped string paths; it remains documented for existing codebases — see Migrating to @handle below.
71
- - [@patch](https://concorde.supersoniks.org/crawl/docs/_decorators/patch.html) (docs/_decorators/patch): @patch applies a partial update with the body from a publisher. It uses the
72
- - [@post](https://concorde.supersoniks.org/crawl/docs/_decorators/post.html) (docs/_decorators/post): @post sends the contents of a publisher and stores the response in an
73
- - [@publish](https://concorde.supersoniks.org/crawl/docs/_decorators/publish.html) (docs/_decorators/publish): Write-only binding: assigning to the property publishes to the DataProviderKey path. No read subscription (inverse of @subscribe).
74
- - [@put](https://concorde.supersoniks.org/crawl/docs/_decorators/put.html) (docs/_decorators/put): @put replaces a resource with the body from a publisher. It uses exactly the
75
- - [@subscribe](https://concorde.supersoniks.org/crawl/docs/_decorators/subscribe.html) (docs/_decorators/subscribe): Keeps a Lit property in sync with a read-only slice of the DataProvider store. You pass a DataProviderKey; when that path changes, the property updates and the component re-renders.
76
- - [@awaitConnectedAncestors and @dispatchConnectedEvent](https://concorde.supersoniks.org/crawl/docs/_decorators/wait-for-ancestors.html) (docs/_decorators/wait-for-ancestors): The @awaitConnectedAncestors and @dispatchConnectedEvent decorators delay a web component's initialization until its matching ancestors have executed their connectedCallback. This is when contextual e
77
- - [sub()](https://concorde.supersoniks.org/crawl/docs/_directives/sub.html) (docs/_directives/sub): Read-only Lit directive: displays the current DataProvider value and updates whenever it is assigned.
78
- - [AI agents (skills & AGENTS.md)](https://concorde.supersoniks.org/crawl/docs/_getting-started/ai-agents.html) (docs/_getting-started/ai-agents): Concorde ships skills, rules, and a root AGENTS.md so Cursor, JetBrains AI Assistant, and other coding agents follow framework patterns (DataProvider, decorators, short imports, scope, theme, migratio
79
- - [Manual installation (Vite)](https://concorde.supersoniks.org/crawl/docs/_getting-started/concorde-manual-install.html) (docs/_getting-started/concorde-manual-install): > Legacy — for brownfield apps or custom stacks. New projects should use the starter.
80
- - [Installation](https://concorde.supersoniks.org/crawl/docs/_getting-started/concorde-outside.html) (docs/_getting-started/concorde-outside): The following command creates a new Vite project in TypeScript mode with Tailwind and an example component to get started.
81
- - [Creating components](https://concorde.supersoniks.org/crawl/docs/_getting-started/create-a-component.html) (docs/_getting-started/create-a-component): > New app components: start with My first component and Data flow. The Subscriber mixin below is legacy.
82
- - [My first component](https://concorde.supersoniks.org/crawl/docs/_getting-started/my-first-component.html) (docs/_getting-started/my-first-component): Build a Lit user card with Tailwind and Concorde UI, then connect it to the DataProvider store: declare the data configuration (type, key, scope), and let @subscribe keep the card in sync.
83
- - [Legacy: My first subscriber component](https://concorde.supersoniks.org/crawl/docs/_getting-started/my-first-subscriber.html) (docs/_getting-started/my-first-subscriber): > New projects: use My first component (@ancestorAttribute, @subscribe + DataProviderKey, .items on lists) and Data flow. This page documents the Subscriber mixin used by older apps and core component
84
- - [Legacy: Sharing data](https://concorde.supersoniks.org/crawl/docs/_getting-started/pubsub.html) (docs/_getting-started/pubsub): > New apps: Data flow (get / set / DataProviderKey, decorators). This page documents the historical Publisher proxy API (PublisherManager, publisher.set, onAssign, …).
85
- - [Introduction](https://concorde.supersoniks.org/crawl/docs/_getting-started/start.html) (docs/_getting-started/start): Based on lit.dev, Concorde is a collection of web components for shared apps and websites.
86
- - [Customization](https://concorde.supersoniks.org/crawl/docs/_getting-started/theming.html) (docs/_getting-started/theming): Concorde components ship with default styles (fallback values in each component and in <sonic-theme>).
87
- - [API configuration](https://concorde.supersoniks.org/crawl/docs/_misc/api-configuration.html) (docs/_misc/api-configuration): APIConfiguration is the object built by HTML.getApiConfiguration from ancestor attributes on the DOM (or from a typed publisher — see @get / @post configuration key). It is passed to API by fetchers,
88
- - [DataProviderKey](https://concorde.supersoniks.org/crawl/docs/_misc/dataProviderKey.html) (docs/_misc/dataProviderKey): The DataProviderKey<T> 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
89
- - [Local API demos (offline)](https://concorde.supersoniks.org/crawl/docs/_misc/docs-mock-api.html) (docs/_misc/docs-mock-api): 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.
90
- - [Dynamic path placeholders](https://concorde.supersoniks.org/crawl/docs/_misc/dynamic-path.html) (docs/_misc/dynamic-path): Decorators and DataProviderKey paths can include placeholders resolved on the host component at runtime:
91
- - [Endpoint](https://concorde.supersoniks.org/crawl/docs/_misc/endpoint.html) (docs/_misc/endpoint): Endpoint<T, U> 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.
92
- - [FormElement without Subscriber (REDMINE-79569)](https://concorde.supersoniks.org/crawl/docs/_misc/formelement-subscriber-removal.html) (docs/_misc/formelement-subscriber-removal): Form fields (sonic-input, textarea, select, checkbox, radio, switch, button, input-autocomplete) no longer inherit the Subscriber mixin.
93
- - [HTML integration (no Lit)](https://concorde.supersoniks.org/crawl/docs/_misc/html-integration.html) (docs/_misc/html-integration): 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
94
-
95
- ## Optional
96
-
97
- - [Full index](https://concorde.supersoniks.org/crawl/index.html)
package/docs/sitemap.xml DELETED
@@ -1,240 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
3
- <url>
4
- <loc>https://concorde.supersoniks.org/crawl/index.html</loc>
5
- </url>
6
- <url>
7
- <loc>https://concorde.supersoniks.org/crawl/hubs/decorators.html</loc>
8
- </url>
9
- <url>
10
- <loc>https://concorde.supersoniks.org/crawl/hubs/remote-data.html</loc>
11
- </url>
12
- <url>
13
- <loc>https://concorde.supersoniks.org/crawl/hubs/form-components.html</loc>
14
- </url>
15
- <url>
16
- <loc>https://concorde.supersoniks.org/crawl/core/components/functional/date/date.html</loc>
17
- </url>
18
- <url>
19
- <loc>https://concorde.supersoniks.org/crawl/core/components/functional/fetch/fetch.html</loc>
20
- </url>
21
- <url>
22
- <loc>https://concorde.supersoniks.org/crawl/core/components/functional/if/if.html</loc>
23
- </url>
24
- <url>
25
- <loc>https://concorde.supersoniks.org/crawl/core/components/functional/jsonata/jsonata.html</loc>
26
- </url>
27
- <url>
28
- <loc>https://concorde.supersoniks.org/crawl/core/components/functional/list/list.html</loc>
29
- </url>
30
- <url>
31
- <loc>https://concorde.supersoniks.org/crawl/core/components/functional/mix/mix.html</loc>
32
- </url>
33
- <url>
34
- <loc>https://concorde.supersoniks.org/crawl/core/components/functional/queue/queue.html</loc>
35
- </url>
36
- <url>
37
- <loc>https://concorde.supersoniks.org/crawl/core/components/functional/router/router.html</loc>
38
- </url>
39
- <url>
40
- <loc>https://concorde.supersoniks.org/crawl/core/components/functional/sdui/sdui.html</loc>
41
- </url>
42
- <url>
43
- <loc>https://concorde.supersoniks.org/crawl/core/components/functional/states/states.html</loc>
44
- </url>
45
- <url>
46
- <loc>https://concorde.supersoniks.org/crawl/core/components/functional/submit/submit.html</loc>
47
- </url>
48
- <url>
49
- <loc>https://concorde.supersoniks.org/crawl/core/components/functional/subscriber/subscriber.html</loc>
50
- </url>
51
- <url>
52
- <loc>https://concorde.supersoniks.org/crawl/core/components/functional/value/value.html</loc>
53
- </url>
54
- <url>
55
- <loc>https://concorde.supersoniks.org/crawl/core/components/ui/alert-messages/alert-messages.html</loc>
56
- </url>
57
- <url>
58
- <loc>https://concorde.supersoniks.org/crawl/core/components/ui/alert/alert.html</loc>
59
- </url>
60
- <url>
61
- <loc>https://concorde.supersoniks.org/crawl/core/components/ui/badge/badge.html</loc>
62
- </url>
63
- <url>
64
- <loc>https://concorde.supersoniks.org/crawl/core/components/ui/button/button.html</loc>
65
- </url>
66
- <url>
67
- <loc>https://concorde.supersoniks.org/crawl/core/components/ui/captcha/captcha.html</loc>
68
- </url>
69
- <url>
70
- <loc>https://concorde.supersoniks.org/crawl/core/components/ui/card/card.html</loc>
71
- </url>
72
- <url>
73
- <loc>https://concorde.supersoniks.org/crawl/core/components/ui/divider/divider.html</loc>
74
- </url>
75
- <url>
76
- <loc>https://concorde.supersoniks.org/crawl/core/components/ui/form/checkbox/checkbox.html</loc>
77
- </url>
78
- <url>
79
- <loc>https://concorde.supersoniks.org/crawl/core/components/ui/form/fieldset/fieldset.html</loc>
80
- </url>
81
- <url>
82
- <loc>https://concorde.supersoniks.org/crawl/core/components/ui/form/form-actions/form-actions.html</loc>
83
- </url>
84
- <url>
85
- <loc>https://concorde.supersoniks.org/crawl/core/components/ui/form/form-layout/form-layout.html</loc>
86
- </url>
87
- <url>
88
- <loc>https://concorde.supersoniks.org/crawl/core/components/ui/form/input-autocomplete/input-autocomplete.html</loc>
89
- </url>
90
- <url>
91
- <loc>https://concorde.supersoniks.org/crawl/core/components/ui/form/input/input.html</loc>
92
- </url>
93
- <url>
94
- <loc>https://concorde.supersoniks.org/crawl/core/components/ui/form/radio/radio.html</loc>
95
- </url>
96
- <url>
97
- <loc>https://concorde.supersoniks.org/crawl/core/components/ui/form/select/select.html</loc>
98
- </url>
99
- <url>
100
- <loc>https://concorde.supersoniks.org/crawl/core/components/ui/form/switch/switch.html</loc>
101
- </url>
102
- <url>
103
- <loc>https://concorde.supersoniks.org/crawl/core/components/ui/form/textarea/textarea.html</loc>
104
- </url>
105
- <url>
106
- <loc>https://concorde.supersoniks.org/crawl/core/components/ui/group/group.html</loc>
107
- </url>
108
- <url>
109
- <loc>https://concorde.supersoniks.org/crawl/core/components/ui/icon/icon.html</loc>
110
- </url>
111
- <url>
112
- <loc>https://concorde.supersoniks.org/crawl/core/components/ui/image/image.html</loc>
113
- </url>
114
- <url>
115
- <loc>https://concorde.supersoniks.org/crawl/core/components/ui/link/link.html</loc>
116
- </url>
117
- <url>
118
- <loc>https://concorde.supersoniks.org/crawl/core/components/ui/loader/loader.html</loc>
119
- </url>
120
- <url>
121
- <loc>https://concorde.supersoniks.org/crawl/core/components/ui/menu/menu.html</loc>
122
- </url>
123
- <url>
124
- <loc>https://concorde.supersoniks.org/crawl/core/components/ui/modal/modal.html</loc>
125
- </url>
126
- <url>
127
- <loc>https://concorde.supersoniks.org/crawl/core/components/ui/pop/pop.html</loc>
128
- </url>
129
- <url>
130
- <loc>https://concorde.supersoniks.org/crawl/core/components/ui/progress/progress.html</loc>
131
- </url>
132
- <url>
133
- <loc>https://concorde.supersoniks.org/crawl/core/components/ui/table/table.html</loc>
134
- </url>
135
- <url>
136
- <loc>https://concorde.supersoniks.org/crawl/core/components/ui/theme/theme.html</loc>
137
- </url>
138
- <url>
139
- <loc>https://concorde.supersoniks.org/crawl/core/components/ui/toast/toast.html</loc>
140
- </url>
141
- <url>
142
- <loc>https://concorde.supersoniks.org/crawl/core/components/ui/tooltip/tooltip.html</loc>
143
- </url>
144
- <url>
145
- <loc>https://concorde.supersoniks.org/crawl/docs/_core-concept/dataFlow.html</loc>
146
- </url>
147
- <url>
148
- <loc>https://concorde.supersoniks.org/crawl/docs/_core-concept/overview.html</loc>
149
- </url>
150
- <url>
151
- <loc>https://concorde.supersoniks.org/crawl/docs/_core-concept/subscriber.html</loc>
152
- </url>
153
- <url>
154
- <loc>https://concorde.supersoniks.org/crawl/docs/_decorators/ancestor-attribute.html</loc>
155
- </url>
156
- <url>
157
- <loc>https://concorde.supersoniks.org/crawl/docs/_decorators/auto-subscribe.html</loc>
158
- </url>
159
- <url>
160
- <loc>https://concorde.supersoniks.org/crawl/docs/_decorators/bind.html</loc>
161
- </url>
162
- <url>
163
- <loc>https://concorde.supersoniks.org/crawl/docs/_decorators/get.html</loc>
164
- </url>
165
- <url>
166
- <loc>https://concorde.supersoniks.org/crawl/docs/_decorators/handle.html</loc>
167
- </url>
168
- <url>
169
- <loc>https://concorde.supersoniks.org/crawl/docs/_decorators/on-assign.html</loc>
170
- </url>
171
- <url>
172
- <loc>https://concorde.supersoniks.org/crawl/docs/_decorators/patch.html</loc>
173
- </url>
174
- <url>
175
- <loc>https://concorde.supersoniks.org/crawl/docs/_decorators/post.html</loc>
176
- </url>
177
- <url>
178
- <loc>https://concorde.supersoniks.org/crawl/docs/_decorators/publish.html</loc>
179
- </url>
180
- <url>
181
- <loc>https://concorde.supersoniks.org/crawl/docs/_decorators/put.html</loc>
182
- </url>
183
- <url>
184
- <loc>https://concorde.supersoniks.org/crawl/docs/_decorators/subscribe.html</loc>
185
- </url>
186
- <url>
187
- <loc>https://concorde.supersoniks.org/crawl/docs/_decorators/wait-for-ancestors.html</loc>
188
- </url>
189
- <url>
190
- <loc>https://concorde.supersoniks.org/crawl/docs/_directives/sub.html</loc>
191
- </url>
192
- <url>
193
- <loc>https://concorde.supersoniks.org/crawl/docs/_getting-started/ai-agents.html</loc>
194
- </url>
195
- <url>
196
- <loc>https://concorde.supersoniks.org/crawl/docs/_getting-started/concorde-manual-install.html</loc>
197
- </url>
198
- <url>
199
- <loc>https://concorde.supersoniks.org/crawl/docs/_getting-started/concorde-outside.html</loc>
200
- </url>
201
- <url>
202
- <loc>https://concorde.supersoniks.org/crawl/docs/_getting-started/create-a-component.html</loc>
203
- </url>
204
- <url>
205
- <loc>https://concorde.supersoniks.org/crawl/docs/_getting-started/my-first-component.html</loc>
206
- </url>
207
- <url>
208
- <loc>https://concorde.supersoniks.org/crawl/docs/_getting-started/my-first-subscriber.html</loc>
209
- </url>
210
- <url>
211
- <loc>https://concorde.supersoniks.org/crawl/docs/_getting-started/pubsub.html</loc>
212
- </url>
213
- <url>
214
- <loc>https://concorde.supersoniks.org/crawl/docs/_getting-started/start.html</loc>
215
- </url>
216
- <url>
217
- <loc>https://concorde.supersoniks.org/crawl/docs/_getting-started/theming.html</loc>
218
- </url>
219
- <url>
220
- <loc>https://concorde.supersoniks.org/crawl/docs/_misc/api-configuration.html</loc>
221
- </url>
222
- <url>
223
- <loc>https://concorde.supersoniks.org/crawl/docs/_misc/dataProviderKey.html</loc>
224
- </url>
225
- <url>
226
- <loc>https://concorde.supersoniks.org/crawl/docs/_misc/docs-mock-api.html</loc>
227
- </url>
228
- <url>
229
- <loc>https://concorde.supersoniks.org/crawl/docs/_misc/dynamic-path.html</loc>
230
- </url>
231
- <url>
232
- <loc>https://concorde.supersoniks.org/crawl/docs/_misc/endpoint.html</loc>
233
- </url>
234
- <url>
235
- <loc>https://concorde.supersoniks.org/crawl/docs/_misc/formelement-subscriber-removal.html</loc>
236
- </url>
237
- <url>
238
- <loc>https://concorde.supersoniks.org/crawl/docs/_misc/html-integration.html</loc>
239
- </url>
240
- </urlset>
@@ -1,290 +0,0 @@
1
- # Date
2
-
3
- ## No attribute
4
-
5
- **Nothing** is displayed.
6
-
7
- <sonic-code>
8
- <template>
9
- <sonic-date></sonic-date>
10
- </template>
11
- </sonic-code>
12
-
13
- ## Now
14
-
15
- Displays the **current date**.
16
-
17
- <sonic-code>
18
- <template>
19
- <sonic-date now></sonic-date>
20
- </template>
21
- </sonic-code>
22
-
23
-
24
- ## Date
25
-
26
- Displays a date from a **timestamp**.
27
-
28
- <sonic-code>
29
- <template>
30
- <sonic-date date= "1640265629"></sonic-date>
31
- </template>
32
- </sonic-code>
33
-
34
- ## Date_string
35
-
36
- Displays a date from a **string**.
37
-
38
- <sonic-code>
39
- <template>
40
- <sonic-date date_string="July 20, 69 20:17:40 GMT+00:00"></sonic-date>
41
- </template>
42
- </sonic-code>
43
-
44
- ## Start_date / end_date
45
-
46
- Displays a period of time **from start_date to end_date**.
47
- When by itself **start_date** will act as **date**
48
- if a **start_date is not specified** it will be set by the **current date**.
49
- if the **end_date is anterior** to start date date it will be **used as the start_date**.
50
-
51
- <sonic-code>
52
- <template>
53
- <!-- from start_date to end_date -->
54
- <sonic-date start_date="1640265629" end_date= "1640365629"></sonic-date>
55
- <br>
56
- <!-- start_date is not specified -->
57
- <sonic-date end_date= "2640365629"></sonic-date>
58
- <br>
59
- <!-- end_date is anterior -->
60
- <sonic-date end_date= "640365629"></sonic-date>
61
- </template>
62
- </sonic-code>
63
-
64
-
65
- ## Start_date_string / end_date_string
66
-
67
- <sonic-code>
68
- <template>
69
- <!-- from start_date to end_date -->
70
- <sonic-date date_string="July 20, 90 20:17:40 GMT+00:00" end_date_string= "June 20, 94 20:17:40 GMT+00:00"></sonic-date>
71
- <br>
72
- <!-- start_date is not specified -->
73
- <sonic-date end_date_string= "May 20, 34 20:17:40 GMT+00:00"></sonic-date>
74
- <br>
75
- <!-- end_date is anterior -->
76
- <sonic-date end_date_string= "April 20, 06 20:17:40 GMT+00:00"></sonic-date>
77
- </template>
78
- </sonic-code>
79
-
80
- ## Wording_billet_periode_validite
81
-
82
- <sonic-code>
83
- <template>
84
- <sonic-date wording_billet_periode_validite= "À partir du %s jusqu'au %s" start_date="1640265629" end_date= "1640365629"></sonic-date>
85
- </template>
86
- </sonic-code>
87
-
88
-
89
- ## Weekday
90
-
91
- <sonic-code>
92
- <template>
93
- <b>narrow : </b>
94
- <sonic-date weekday="narrow" now></sonic-date>
95
- <br>
96
- <b>short (default) : </b>
97
- <sonic-date weekday="short" now></sonic-date>
98
- <br>
99
- <b>long : </b>
100
- <sonic-date weekday="long" now></sonic-date>
101
- <br>
102
- <b>hidden : </b>
103
- <sonic-date weekday="hidden" now></sonic-date>
104
- </template>
105
- </sonic-code>
106
-
107
- ## Day
108
-
109
- <sonic-code>
110
- <template>
111
- <b>numeric : </b>
112
- <sonic-date day="numeric" date_string="July 01, 69"></sonic-date>
113
- <br>
114
- <b>2-digit (default) : </b>
115
- <sonic-date day="2-digit" date_string="July 01, 69"></sonic-date>
116
- </template>
117
- </sonic-code>
118
-
119
- ## Month
120
-
121
- <sonic-code>
122
- <template>
123
- <b>numeric : </b>
124
- <sonic-date month="numeric" now></sonic-date>
125
- <br>
126
- <b>2-digit : </b>
127
- <sonic-date month="2-digit" now></sonic-date>
128
- <br>
129
- <b>narrow : </b>
130
- <sonic-date month="narrow" now></sonic-date>
131
- <br>
132
- <b>short (default) : </b>
133
- <sonic-date month="short" now></sonic-date>
134
- <br>
135
- <b>long : </b>
136
- <sonic-date month="long" now></sonic-date>
137
- </template>
138
- </sonic-code>
139
-
140
- ## Year
141
-
142
- <sonic-code>
143
- <template>
144
- <b>numeric (default) : </b>
145
- <sonic-date year="numeric" now></sonic-date>
146
- <br>
147
- <b>2-digit : </b>
148
- <sonic-date year="2-digit" now></sonic-date>
149
- </template>
150
- </sonic-code>
151
-
152
- ## Hour
153
-
154
- <sonic-code>
155
- <template>
156
- <b>numeric : </b>
157
- <sonic-date hour="numeric" date_string= "June 20, 04 02:06:02 GMT+00:00"></sonic-date>
158
- <br>
159
- <b>2-digit (default) : </b>
160
- <sonic-date hour="2-digit" date_string= "June 20, 04 02:06:02 GMT+00:00"></sonic-date>
161
- <br>
162
- <b>hidden : </b>
163
- <sonic-date hour="hidden" date_string= "June 20, 04 02:06:02 GMT+00:00"></sonic-date>
164
- </template>
165
- </sonic-code>
166
-
167
- ## Minute
168
-
169
- <sonic-code>
170
- <template>
171
- <b>numeric : </b>
172
- <sonic-date minute="numeric" date_string= "June 20, 04 02:06:02 GMT+00:00"></sonic-date>
173
- <br>
174
- <b>2-digit (default) : </b>
175
- <sonic-date minute="2-digit" date_string= "June 20, 04 02:06:02 GMT+00:00"></sonic-date>
176
- <br>
177
- <b>hidden : </b>
178
- <sonic-date minute="hidden" date_string= "June 20, 04 02:06:02 GMT+00:00"></sonic-date>
179
- </template>
180
- </sonic-code>
181
-
182
- ## Language
183
-
184
- <sonic-button href="https://www.w3schools.com/tags/ref_language_codes.asp" target="_blank" type="info" size="sm">ISO 639-1 Language Codes</sonic-button>
185
-
186
- <sonic-code>
187
- <template>
188
- <b>fr : </b>
189
- <sonic-date language="fr" now></sonic-date>
190
- <br>
191
- <b>en : </b>
192
- <sonic-date language="en" now></sonic-date>
193
- <br>
194
- <b>zh : </b>
195
- <sonic-date language="zh" now></sonic-date>
196
- <br>
197
- <b>ja : </b>
198
- <sonic-date language="ja" now></sonic-date>
199
- </template>
200
- </sonic-code>
201
-
202
- ## Time_zone
203
-
204
- For the list of supported timeZones, run <b class="text-info">Intl.supportedValuesOf('timeZone')</b> in the console
205
-
206
- <sonic-code>
207
- <template>
208
- <b>Europe/London : </b>
209
- <sonic-date time_zone="Europe/London" now></sonic-date>
210
- <br>
211
- <b>Europe/Paris : </b>
212
- <sonic-date time_zone="Europe/Paris" now></sonic-date>
213
- <br>
214
- <b>America/Tijuana : </b>
215
- <sonic-date time_zone="America/Tijuana" now></sonic-date>
216
- </template>
217
- </sonic-code>
218
-
219
- ## Era
220
-
221
- <sonic-code>
222
- <template>
223
- <b>narrow : </b>
224
- <sonic-date era="narrow" now></sonic-date>
225
- <br>
226
- <b>short : </b>
227
- <sonic-date era="short" now></sonic-date>
228
- <br>
229
- <b>long : </b>
230
- <sonic-date era="long" now></sonic-date>
231
- </template>
232
- </sonic-code>
233
-
234
- ## .renderIf
235
-
236
- <sonic-alert status="error" background>Deprecated</sonic-alert>
237
-
238
- <sonic-code>
239
- <template>
240
- <b>True statement : </b>
241
- <sonic-date data-bind ::render-if="|10>2" now></sonic-date>
242
- <br>
243
- <b>False statement : </b>
244
- <sonic-date data-bind ::render-if="|10<2" now></sonic-date>
245
- </template>
246
- </sonic-code>
247
-
248
- ## DesignMode
249
-
250
- <sonic-code>
251
- <template>
252
- <div class="relative max-w-lg rounded-lg overflow-hidden">
253
- <div class="absolute top-0 h-1/2 w-full bg-gradient-to-b from-[rgba(0,0,10,.2)] z-10 "></div>
254
- <sonic-date
255
- designMode
256
- noShadowDom
257
- start_date= "1640265629"
258
- end_date= "1640365629"
259
- language= "fr"
260
- wording_billet_periode_validite= "Du %s au %s"
261
- year= "numeric"
262
- month= "short"
263
- weekday= "short"
264
- hour= "2-digit"
265
- minute= "2-digit"
266
- class="py-4 drop-shadow-lg text-contrast-content p-4 inline-block text-center absolute left-0 z-20 text-sm"
267
- >
268
- <template data-value="weekday">
269
- <span class="hidden"></span>
270
- </template>
271
- <template data-value="day">
272
- <span class="text-4xl block uppercase leading-none font-bold"></span>
273
- </template>
274
- <template data-value="month">
275
- <span class="text-xl block uppercase leading-tight font-bold"></span>
276
- </template>
277
- <template data-value="year">
278
- <span class="text-lg mb-1 font-bold block uppercase leading-tight "></span>
279
- </template>
280
- <template data-value="to">
281
- <span class="font-medium block my-1 text-3xl leading-none">↓</span>
282
- </template>
283
- </sonic-date>
284
- <sonic-image
285
- ratio="1/1" src="https://picsum.photos/id/237/700/700">
286
- </sonic-image>
287
- </div>
288
- </template>
289
- </sonic-code>
290
-