@supersoniks/concorde 5.1.1 → 5.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (438) hide show
  1. package/.agents/skills/concorde-docs/SKILL.md +153 -0
  2. package/.agents/skills/{concorde-component-docs/template.md → concorde-docs/templates/component.md} +6 -2
  3. package/.agents/skills/concorde-docs/templates/decorator.md +43 -0
  4. package/.agents/skills/concorde-docs/templates/guide.md +25 -0
  5. package/.tmp-cem/custom-elements.json +503 -503
  6. package/PLAN-DOCS-AGENTS.md +80 -0
  7. package/README.md +3 -3
  8. package/ai/skills/concorde/SKILL.md +1 -1
  9. package/ai/skills/concorde-get-set-dp/SKILL.md +3 -3
  10. package/ai/skills/concorde-theme/SKILL.md +1 -1
  11. package/build-infos.json +1 -1
  12. package/concorde-core.bundle.js +1 -1
  13. package/concorde-core.es.js +1 -1
  14. package/dist/concorde-core.bundle.js +1 -1
  15. package/dist/concorde-core.es.js +1 -1
  16. package/docs/.htaccess +75 -0
  17. package/docs/404.html +15 -0
  18. package/docs/404.md +5 -0
  19. package/docs/assets/{index-Bb-_LRyY.js → index-BgG6FFPt.js} +2582 -3097
  20. package/docs/assets/index-x89XINSG.css +1 -0
  21. package/docs/core/components/functional/date/date.html +211 -0
  22. package/docs/core/components/functional/date/date.md +150 -0
  23. package/docs/core/components/functional/fetch/fetch.html +180 -0
  24. package/docs/core/components/functional/fetch/fetch.md +108 -0
  25. package/docs/core/components/functional/if/if.html +65 -0
  26. package/docs/core/components/functional/if/if.md +34 -0
  27. package/docs/core/components/functional/jsonata/jsonata.html +110 -0
  28. package/docs/core/components/functional/jsonata/jsonata.md +61 -0
  29. package/docs/core/components/functional/list/list.html +198 -0
  30. package/docs/core/components/functional/list/list.md +121 -0
  31. package/docs/core/components/functional/mix/mix.html +78 -0
  32. package/docs/core/components/functional/mix/mix.md +46 -0
  33. package/docs/core/components/functional/queue/queue.html +155 -0
  34. package/docs/core/components/functional/queue/queue.md +51 -0
  35. package/docs/core/components/functional/router/router.html +154 -0
  36. package/docs/core/components/functional/router/router.md +93 -0
  37. package/docs/core/components/functional/sdui/sdui-extension-points.html +127 -0
  38. package/docs/core/components/functional/sdui/sdui-extension-points.md +94 -0
  39. package/docs/core/components/functional/sdui/sdui.html +397 -0
  40. package/docs/core/components/functional/sdui/sdui.md +307 -0
  41. package/docs/core/components/functional/states/states.html +141 -0
  42. package/docs/core/components/functional/states/states.md +112 -0
  43. package/docs/core/components/functional/submit/submit.html +178 -0
  44. package/docs/core/components/functional/submit/submit.md +106 -0
  45. package/docs/core/components/functional/subscriber/subscriber.html +68 -0
  46. package/docs/core/components/functional/subscriber/subscriber.md +91 -0
  47. package/docs/core/components/functional/translation/translation.html +60 -0
  48. package/docs/core/components/functional/translation/translation.md +38 -0
  49. package/docs/core/components/functional/value/value.html +81 -0
  50. package/docs/core/components/functional/value/value.md +47 -0
  51. package/docs/core/components/ui/alert/alert.html +201 -0
  52. package/docs/core/components/ui/alert/alert.md +186 -0
  53. package/docs/core/components/ui/alert-messages/alert-messages.html +132 -0
  54. package/docs/core/components/ui/alert-messages/alert-messages.md +85 -0
  55. package/docs/core/components/ui/badge/badge.html +197 -0
  56. package/docs/core/components/ui/badge/badge.md +181 -0
  57. package/docs/core/components/ui/button/button.html +309 -0
  58. package/docs/core/components/ui/button/button.md +216 -0
  59. package/docs/core/components/ui/captcha/captcha.html +80 -0
  60. package/docs/core/components/ui/captcha/captcha.md +56 -0
  61. package/docs/core/components/ui/card/card.html +254 -0
  62. package/docs/core/components/ui/card/card.md +215 -0
  63. package/docs/core/components/ui/divider/divider.html +144 -0
  64. package/docs/core/components/ui/divider/divider.md +126 -0
  65. package/docs/core/components/ui/form/checkbox/checkbox.html +200 -0
  66. package/docs/core/components/ui/form/checkbox/checkbox.md +125 -0
  67. package/docs/core/components/ui/form/fieldset/fieldset.html +238 -0
  68. package/docs/core/components/ui/form/fieldset/fieldset.md +161 -0
  69. package/docs/core/components/ui/form/form-actions/form-actions.html +122 -0
  70. package/docs/core/components/ui/form/form-actions/form-actions.md +98 -0
  71. package/docs/core/components/ui/form/form-layout/form-layout.html +115 -0
  72. package/docs/core/components/ui/form/form-layout/form-layout.md +109 -0
  73. package/docs/core/components/ui/form/input/input.html +235 -0
  74. package/docs/core/components/ui/form/input/input.md +142 -0
  75. package/docs/core/components/ui/form/radio/radio.html +144 -0
  76. package/docs/core/components/ui/form/radio/radio.md +78 -0
  77. package/docs/core/components/ui/form/select/select.html +178 -0
  78. package/docs/core/components/ui/form/select/select.md +86 -0
  79. package/docs/core/components/ui/form/switch/switch.html +146 -0
  80. package/docs/core/components/ui/form/switch/switch.md +80 -0
  81. package/docs/core/components/ui/form/textarea/textarea.html +162 -0
  82. package/docs/core/components/ui/form/textarea/textarea.md +82 -0
  83. package/docs/core/components/ui/group/group.html +113 -0
  84. package/docs/core/components/ui/group/group.md +77 -0
  85. package/docs/core/components/ui/icon/icon.html +223 -0
  86. package/docs/core/components/ui/icon/icon.md +214 -0
  87. package/docs/core/components/ui/image/image.html +194 -0
  88. package/docs/core/components/ui/image/image.md +167 -0
  89. package/docs/core/components/ui/link/link.html +101 -0
  90. package/docs/core/components/ui/link/link.md +81 -0
  91. package/docs/core/components/ui/loader/loader.html +114 -0
  92. package/docs/core/components/ui/loader/loader.md +87 -0
  93. package/docs/core/components/ui/menu/menu.html +395 -0
  94. package/docs/core/components/ui/menu/menu.md +370 -0
  95. package/docs/core/components/ui/modal/modal.html +324 -0
  96. package/docs/core/components/ui/modal/modal.md +211 -0
  97. package/docs/core/components/ui/pop/pop.html +250 -0
  98. package/docs/core/components/ui/pop/pop.md +216 -0
  99. package/docs/core/components/ui/progress/progress.html +132 -0
  100. package/docs/core/components/ui/progress/progress.md +109 -0
  101. package/docs/core/components/ui/table/table.html +333 -0
  102. package/docs/core/components/ui/table/table.md +267 -0
  103. package/docs/core/components/ui/theme/theme.html +116 -0
  104. package/docs/core/components/ui/theme/theme.md +97 -0
  105. package/docs/core/components/ui/toast/toast.html +185 -0
  106. package/docs/core/components/ui/toast/toast.md +147 -0
  107. package/docs/core/components/ui/tooltip/tooltip.html +112 -0
  108. package/docs/core/components/ui/tooltip/tooltip.md +89 -0
  109. package/docs/docs/decorators/ancestor-attribute.html +71 -0
  110. package/docs/docs/decorators/ancestor-attribute.md +59 -0
  111. package/docs/docs/decorators/auto-subscribe.html +61 -0
  112. package/docs/docs/decorators/auto-subscribe.md +40 -0
  113. package/docs/docs/decorators/bind.html +86 -0
  114. package/docs/docs/decorators/bind.md +77 -0
  115. package/docs/docs/decorators/get.html +166 -0
  116. package/docs/docs/decorators/get.md +160 -0
  117. package/docs/docs/decorators/handle.html +139 -0
  118. package/docs/docs/decorators/handle.md +119 -0
  119. package/docs/docs/decorators/on-assign.html +72 -0
  120. package/docs/docs/decorators/on-assign.md +63 -0
  121. package/docs/docs/decorators/patch.html +76 -0
  122. package/docs/docs/decorators/patch.md +44 -0
  123. package/docs/docs/decorators/post.html +150 -0
  124. package/docs/docs/decorators/post.md +134 -0
  125. package/docs/docs/decorators/publish.html +74 -0
  126. package/docs/docs/decorators/publish.md +56 -0
  127. package/docs/docs/decorators/put.html +83 -0
  128. package/docs/docs/decorators/put.md +51 -0
  129. package/docs/docs/decorators/subscribe.html +91 -0
  130. package/docs/docs/decorators/subscribe.md +87 -0
  131. package/docs/docs/decorators/wait-for-ancestors.html +82 -0
  132. package/docs/docs/decorators/wait-for-ancestors.md +76 -0
  133. package/docs/docs/directives/sub.html +79 -0
  134. package/docs/docs/directives/sub.md +75 -0
  135. package/docs/docs/directives/t.html +91 -0
  136. package/docs/docs/directives/t.md +73 -0
  137. package/docs/docs/getting-started/ai-agents.html +174 -0
  138. package/{src/docs/_getting-started → docs/docs/getting-started}/ai-agents.md +3 -3
  139. package/docs/docs/getting-started/components.html +27 -0
  140. package/docs/docs/getting-started/create-a-component.html +108 -0
  141. package/{src/docs/_getting-started → docs/docs/getting-started}/create-a-component.md +3 -6
  142. package/docs/docs/getting-started/dataFlow.html +174 -0
  143. package/{src/docs/_core-concept → docs/docs/getting-started}/dataFlow.md +17 -18
  144. package/docs/docs/getting-started/installation.html +69 -0
  145. package/docs/docs/getting-started/installation.md +36 -0
  146. package/docs/docs/getting-started/my-first-component.html +180 -0
  147. package/{src/docs/_getting-started → docs/docs/getting-started}/my-first-component.md +5 -14
  148. package/docs/docs/getting-started/start.html +47 -0
  149. package/{src/docs/_getting-started → docs/docs/getting-started}/start.md +1 -13
  150. package/docs/docs/getting-started/theming.html +334 -0
  151. package/docs/docs/index.html +99 -0
  152. package/docs/docs/misc/api-configuration.html +149 -0
  153. package/{src/docs/_misc → docs/docs/misc}/api-configuration.md +10 -12
  154. package/docs/docs/misc/dataProviderKey.html +136 -0
  155. package/{src/docs/_misc → docs/docs/misc}/dataProviderKey.md +4 -4
  156. package/docs/docs/misc/docs-mock-api.html +155 -0
  157. package/{src/docs/_misc → docs/docs/misc}/docs-mock-api.md +12 -13
  158. package/docs/docs/misc/dynamic-path.html +181 -0
  159. package/{src/docs/_misc → docs/docs/misc}/dynamic-path.md +8 -8
  160. package/docs/docs/misc/endpoint.html +51 -0
  161. package/{src/docs/_misc → docs/docs/misc}/endpoint.md +8 -8
  162. package/docs/docs/misc/html-integration.html +45 -0
  163. package/{src/docs/_misc → docs/docs/misc}/html-integration.md +4 -5
  164. package/docs/docs-mock-api-sw.js +58 -223
  165. package/docs/docs-mock-api-sw.js.map +4 -4
  166. package/docs/hubs/decorators.html +443 -0
  167. package/docs/hubs/form-components.html +404 -0
  168. package/docs/hubs/remote-data.html +371 -0
  169. package/docs/img/archive/concorde-001-2cv.webp +0 -0
  170. package/docs/img/archive/concorde-red-arrows-2002-poster.jpg +0 -0
  171. package/docs/img/archive/concorde-red-arrows-2002.webm +0 -0
  172. package/docs/img/archive/credits.json +28 -0
  173. package/docs/img/concorde/plane_01.jpg +0 -0
  174. package/docs/img/concorde/plane_02.jpg +0 -0
  175. package/docs/img/concorde/plane_03.jpg +0 -0
  176. package/docs/img/concorde/plane_04.jpg +0 -0
  177. package/docs/img/concorde/plane_05.jpg +0 -0
  178. package/docs/img/concorde/plane_06.jpg +0 -0
  179. package/docs/img/concorde/plane_07.jpg +0 -0
  180. package/docs/img/concorde/plane_08.jpg +0 -0
  181. package/docs/img/concorde/plane_09.jpg +0 -0
  182. package/docs/img/concorde/plane_10.jpg +0 -0
  183. package/docs/img/concorde/plane_11.jpg +0 -0
  184. package/docs/img/concorde/plane_12.jpg +0 -0
  185. package/docs/img/concorde/plane_13.jpg +0 -0
  186. package/docs/index.html +95 -68
  187. package/docs/index.md +22 -0
  188. package/docs/llms-full.txt +5795 -0
  189. package/docs/llms.txt +106 -0
  190. package/docs/robots.txt +11 -10
  191. package/docs/sitemap.xml +237 -0
  192. package/docs/src/core/components/functional/date/date.md +150 -0
  193. package/docs/src/core/components/functional/fetch/fetch.md +108 -0
  194. package/docs/src/core/components/functional/if/if.md +34 -0
  195. package/docs/src/core/components/functional/jsonata/jsonata.md +61 -0
  196. package/docs/src/core/components/functional/list/list.md +121 -0
  197. package/docs/src/core/components/functional/mix/mix.md +46 -0
  198. package/docs/src/core/components/functional/queue/queue.md +51 -0
  199. package/docs/src/core/components/functional/router/router.md +93 -0
  200. package/docs/src/core/components/functional/sdui/component-catalog.gaps.json +511 -0
  201. package/docs/src/core/components/functional/sdui/component-catalog.json +3103 -0
  202. package/docs/src/core/components/functional/sdui/default-library.json +108 -0
  203. package/docs/src/core/components/functional/sdui/example.json +32 -0
  204. package/docs/src/core/components/functional/sdui/sdui-extension-points.md +94 -0
  205. package/docs/src/core/components/functional/sdui/sdui.md +307 -0
  206. package/docs/src/core/components/functional/states/states.md +112 -0
  207. package/docs/src/core/components/functional/submit/submit.md +106 -0
  208. package/docs/src/core/components/functional/subscriber/subscriber.md +91 -0
  209. package/docs/src/core/components/functional/translation/translation.md +38 -0
  210. package/docs/src/core/components/functional/value/value.md +47 -0
  211. package/docs/src/core/components/ui/alert/alert.md +186 -0
  212. package/docs/src/core/components/ui/alert-messages/alert-messages.md +85 -0
  213. package/docs/src/core/components/ui/badge/badge.md +181 -0
  214. package/docs/src/core/components/ui/button/button.md +216 -0
  215. package/docs/src/core/components/ui/captcha/captcha.md +56 -0
  216. package/docs/src/core/components/ui/card/card.md +215 -0
  217. package/docs/src/core/components/ui/divider/divider.md +126 -0
  218. package/docs/src/core/components/ui/form/checkbox/checkbox.md +125 -0
  219. package/docs/src/core/components/ui/form/fieldset/fieldset.md +161 -0
  220. package/docs/src/core/components/ui/form/form-actions/form-actions.md +98 -0
  221. package/docs/src/core/components/ui/form/form-layout/form-layout.md +109 -0
  222. package/docs/src/core/components/ui/form/input/input.md +142 -0
  223. package/docs/src/core/components/ui/form/radio/radio.md +78 -0
  224. package/docs/src/core/components/ui/form/select/select.md +86 -0
  225. package/docs/src/core/components/ui/form/switch/switch.md +80 -0
  226. package/docs/src/core/components/ui/form/textarea/textarea.md +82 -0
  227. package/docs/src/core/components/ui/group/group.md +77 -0
  228. package/docs/src/core/components/ui/icon/icon.md +214 -0
  229. package/docs/src/core/components/ui/icon/icons.json +1 -0
  230. package/docs/src/core/components/ui/image/image.md +167 -0
  231. package/docs/src/core/components/ui/link/link.md +81 -0
  232. package/docs/src/core/components/ui/loader/loader.md +87 -0
  233. package/docs/src/core/components/ui/menu/menu.md +370 -0
  234. package/docs/src/core/components/ui/modal/modal.md +211 -0
  235. package/docs/src/core/components/ui/pop/pop.md +216 -0
  236. package/docs/src/core/components/ui/progress/progress.md +109 -0
  237. package/docs/src/core/components/ui/table/table.md +267 -0
  238. package/docs/src/core/components/ui/theme/theme.md +97 -0
  239. package/docs/src/core/components/ui/toast/toast.md +147 -0
  240. package/docs/src/core/components/ui/tooltip/tooltip.md +89 -0
  241. package/docs/src/docs/decorators/ancestor-attribute.md +59 -0
  242. package/docs/src/docs/decorators/auto-subscribe.md +40 -0
  243. package/docs/src/docs/decorators/bind.md +77 -0
  244. package/docs/src/docs/decorators/get.md +160 -0
  245. package/docs/src/docs/decorators/handle.md +119 -0
  246. package/docs/src/docs/decorators/on-assign.md +63 -0
  247. package/docs/src/docs/decorators/patch.md +44 -0
  248. package/docs/src/docs/decorators/post.md +134 -0
  249. package/docs/src/docs/decorators/publish.md +56 -0
  250. package/docs/src/docs/decorators/put.md +51 -0
  251. package/docs/src/docs/decorators/subscribe.md +87 -0
  252. package/docs/src/docs/decorators/wait-for-ancestors.md +76 -0
  253. package/docs/src/docs/directives/sub.md +75 -0
  254. package/docs/src/docs/directives/t.md +73 -0
  255. package/docs/src/docs/getting-started/ai-agents.md +76 -0
  256. package/docs/src/docs/getting-started/components.md +5 -0
  257. package/docs/src/docs/getting-started/create-a-component.md +136 -0
  258. package/docs/src/docs/getting-started/dataFlow.md +87 -0
  259. package/docs/src/docs/getting-started/installation.md +36 -0
  260. package/docs/src/docs/getting-started/my-first-component.md +227 -0
  261. package/docs/src/docs/getting-started/start.md +35 -0
  262. package/docs/src/docs/getting-started/theming.md +253 -0
  263. package/docs/src/docs/misc/api-configuration.md +79 -0
  264. package/docs/src/docs/misc/dataProviderKey.md +168 -0
  265. package/docs/src/docs/misc/docs-mock-api.md +62 -0
  266. package/docs/src/docs/misc/dynamic-path.md +71 -0
  267. package/docs/src/docs/misc/endpoint.md +45 -0
  268. package/docs/src/docs/misc/html-integration.md +14 -0
  269. package/docs/src/docs/search/docs-search.json +10287 -0
  270. package/docs/src/tag-list.json +1 -0
  271. package/docs/src/tsconfig-model.json +23 -0
  272. package/docs/src/tsconfig.json +1353 -0
  273. package/index.html +68 -5
  274. package/package.json +1 -1
  275. package/public/docs-mock-api-sw.js +58 -223
  276. package/public/docs-mock-api-sw.js.map +4 -4
  277. package/public/img/concorde/plane_01.jpg +0 -0
  278. package/public/img/concorde/plane_02.jpg +0 -0
  279. package/public/img/concorde/plane_03.jpg +0 -0
  280. package/public/img/concorde/plane_04.jpg +0 -0
  281. package/public/img/concorde/plane_05.jpg +0 -0
  282. package/public/img/concorde/plane_06.jpg +0 -0
  283. package/public/img/concorde/plane_07.jpg +0 -0
  284. package/public/img/concorde/plane_08.jpg +0 -0
  285. package/public/img/concorde/plane_09.jpg +0 -0
  286. package/public/img/concorde/plane_10.jpg +0 -0
  287. package/public/img/concorde/plane_11.jpg +0 -0
  288. package/public/img/concorde/plane_12.jpg +0 -0
  289. package/public/img/concorde/plane_13.jpg +0 -0
  290. package/public/robots.txt +11 -10
  291. package/scripts/docs-markdown-vite-plugin.ts +37 -0
  292. package/scripts/docs-public-url.mjs +50 -0
  293. package/scripts/docs.htaccess +75 -0
  294. package/scripts/generate-crawl-docs.mjs +207 -116
  295. package/scripts/generate-crawl-docs.test.mjs +124 -0
  296. package/scripts/post-build-docs.js +34 -50
  297. package/src/core/components/functional/date/date.md +91 -231
  298. package/src/core/components/functional/fetch/fetch.md +66 -83
  299. package/src/core/components/functional/if/if.md +28 -3
  300. package/src/core/components/functional/jsonata/jsonata.md +42 -37
  301. package/src/core/components/functional/list/list.md +99 -43
  302. package/src/core/components/functional/mix/mix.md +31 -26
  303. package/src/core/components/functional/queue/queue.demo.ts +10 -7
  304. package/src/core/components/functional/queue/queue.md +40 -61
  305. package/src/core/components/functional/router/router.demo.ts +16 -16
  306. package/src/core/components/functional/router/router.md +64 -65
  307. package/src/core/components/functional/sdui/component-catalog.gaps.json +1 -1
  308. package/src/core/components/functional/sdui/component-catalog.json +1 -1
  309. package/src/core/components/functional/sdui/example.json +19 -86
  310. package/src/core/components/functional/sdui/sdui-extension-points.md +1 -1
  311. package/src/core/components/functional/sdui/sdui.md +187 -358
  312. package/src/core/components/functional/states/states.demo.ts +21 -22
  313. package/src/core/components/functional/states/states.md +86 -61
  314. package/src/core/components/functional/states/states.ts +1 -1
  315. package/src/core/components/functional/submit/submit.md +64 -72
  316. package/src/core/components/functional/translation/translation.md +38 -0
  317. package/src/core/components/functional/value/value.md +34 -22
  318. package/src/core/components/ui/alert/alert.md +48 -58
  319. package/src/core/components/ui/badge/badge.md +27 -34
  320. package/src/core/components/ui/button/button.md +139 -106
  321. package/src/core/components/ui/captcha/captcha.md +17 -32
  322. package/src/core/components/ui/card/card.md +6 -6
  323. package/src/core/components/ui/divider/divider.md +8 -11
  324. package/src/core/components/ui/form/checkbox/checkbox.md +90 -42
  325. package/src/core/components/ui/form/fieldset/fieldset.md +31 -75
  326. package/src/core/components/ui/form/form-actions/form-actions.md +14 -16
  327. package/src/core/components/ui/form/form-layout/form-layout.md +19 -29
  328. package/src/core/components/ui/form/input/input.md +95 -95
  329. package/src/core/components/ui/form/radio/radio.md +55 -34
  330. package/src/core/components/ui/form/select/select.md +60 -45
  331. package/src/core/components/ui/form/switch/switch.md +57 -34
  332. package/src/core/components/ui/form/textarea/textarea.md +55 -38
  333. package/src/core/components/ui/group/group.md +35 -33
  334. package/src/core/components/ui/icon/icon.md +4 -4
  335. package/src/core/components/ui/image/image.md +41 -107
  336. package/src/core/components/ui/link/link.md +6 -6
  337. package/src/core/components/ui/loader/loader.md +30 -55
  338. package/src/core/components/ui/menu/menu.md +27 -27
  339. package/src/core/components/ui/modal/modal.md +72 -96
  340. package/src/core/components/ui/pop/pop.md +80 -158
  341. package/src/core/components/ui/progress/progress.md +2 -2
  342. package/src/core/components/ui/table/table.md +91 -255
  343. package/src/core/components/ui/theme/theme.md +11 -36
  344. package/src/core/components/ui/toast/toast.md +48 -117
  345. package/src/core/components/ui/tooltip/tooltip.md +27 -62
  346. package/src/core/utils/LocationHandler.spec.ts +80 -0
  347. package/src/core/utils/LocationHandler.ts +5 -9
  348. package/src/docs/components/docs-demo-sources.ts +55 -140
  349. package/src/docs/components/docs-lit-demo.ts +1 -3
  350. package/src/docs/components/docs-source-link.ts +0 -82
  351. package/src/docs/decorators/ancestor-attribute.md +59 -0
  352. package/src/docs/decorators/auto-subscribe.md +40 -0
  353. package/src/docs/decorators/bind.md +77 -0
  354. package/src/docs/decorators/get.md +160 -0
  355. package/src/docs/decorators/handle.md +119 -0
  356. package/src/docs/decorators/on-assign.md +63 -0
  357. package/src/docs/decorators/patch.md +44 -0
  358. package/src/docs/decorators/post.md +134 -0
  359. package/src/docs/decorators/publish.md +56 -0
  360. package/src/docs/decorators/put.md +51 -0
  361. package/src/docs/decorators/subscribe.md +87 -0
  362. package/src/docs/decorators/wait-for-ancestors.md +76 -0
  363. package/src/docs/directives/sub.md +75 -0
  364. package/src/docs/directives/t.md +73 -0
  365. package/src/docs/docs-location.spec.ts +46 -0
  366. package/src/docs/docs-location.ts +123 -32
  367. package/src/docs/docs.ts +1 -2
  368. package/src/docs/example/decorators-demo-bind-demos.ts +81 -116
  369. package/src/docs/example/decorators-demo-geo.ts +30 -19
  370. package/src/docs/example/decorators-demo-post.ts +88 -186
  371. package/src/docs/example/decorators-demo-subscribe-publish-get-demos.ts +165 -268
  372. package/src/docs/example/decorators-demo.ts +85 -98
  373. package/src/docs/example/docs-api-config-demos.ts +19 -20
  374. package/src/docs/example/docs-flight-demos.ts +147 -0
  375. package/src/docs/example/docs-jsonata-demos.ts +52 -52
  376. package/src/docs/example/docs-list-demos.ts +43 -123
  377. package/src/docs/example/docs-provider-keys.ts +21 -28
  378. package/src/docs/example/docs-queue-demos.ts +37 -77
  379. package/src/docs/example/docs-router-demos.ts +20 -25
  380. package/src/docs/example/docs-submit-demos.ts +48 -48
  381. package/src/docs/example/docs-toggle-demos.ts +4 -3
  382. package/src/docs/getting-started/ai-agents.md +76 -0
  383. package/src/docs/getting-started/components.md +5 -0
  384. package/src/docs/getting-started/create-a-component.md +136 -0
  385. package/src/docs/getting-started/dataFlow.md +87 -0
  386. package/src/docs/getting-started/installation.md +36 -0
  387. package/src/docs/getting-started/my-first-component.md +227 -0
  388. package/src/docs/getting-started/start.md +35 -0
  389. package/src/docs/getting-started/theming.md +253 -0
  390. package/src/docs/header/header.ts +11 -6
  391. package/src/docs/home/catalog.ts +1 -1
  392. package/src/docs/home/home.ts +17 -10
  393. package/src/docs/layout.ts +12 -13
  394. package/src/docs/misc/api-configuration.md +79 -0
  395. package/src/docs/misc/dataProviderKey.md +168 -0
  396. package/src/docs/misc/docs-mock-api.md +62 -0
  397. package/src/docs/misc/dynamic-path.md +71 -0
  398. package/src/docs/misc/endpoint.md +45 -0
  399. package/src/docs/misc/html-integration.md +14 -0
  400. package/src/docs/mock-api/api-config-mock.ts +5 -0
  401. package/src/docs/mock-api/fixtures.ts +0 -278
  402. package/src/docs/mock-api/flights.ts +89 -0
  403. package/src/docs/mock-api/router.ts +3 -4
  404. package/src/docs/mock-api/urls.ts +1 -2
  405. package/src/docs/navigation/navigation.ts +82 -103
  406. package/src/docs/navigation/toc.ts +7 -4
  407. package/src/docs/search/docs-search.json +2845 -5110
  408. package/src/docs/search/markdown-renderer.ts +25 -7
  409. package/src/docs/search/page.ts +9 -6
  410. package/src/docs/search/search.ts +154 -122
  411. package/vite.config.mts +11 -2
  412. package/.agents/skills/concorde-component-docs/SKILL.md +0 -194
  413. package/docs/assets/index-CD4WyL6o.css +0 -1
  414. package/src/core/components/ui/form/input-autocomplete/input-autocomplete.md +0 -29
  415. package/src/docs/_core-concept/overview.md +0 -57
  416. package/src/docs/_core-concept/subscriber.md +0 -75
  417. package/src/docs/_decorators/ancestor-attribute.md +0 -128
  418. package/src/docs/_decorators/auto-subscribe.md +0 -202
  419. package/src/docs/_decorators/bind.md +0 -167
  420. package/src/docs/_decorators/get.md +0 -162
  421. package/src/docs/_decorators/handle.md +0 -175
  422. package/src/docs/_decorators/on-assign.md +0 -390
  423. package/src/docs/_decorators/patch.md +0 -70
  424. package/src/docs/_decorators/post.md +0 -146
  425. package/src/docs/_decorators/publish.md +0 -55
  426. package/src/docs/_decorators/put.md +0 -70
  427. package/src/docs/_decorators/subscribe.md +0 -100
  428. package/src/docs/_decorators/wait-for-ancestors.md +0 -163
  429. package/src/docs/_directives/sub.md +0 -91
  430. package/src/docs/_getting-started/concorde-manual-install.md +0 -133
  431. package/src/docs/_getting-started/concorde-outside.md +0 -33
  432. package/src/docs/_getting-started/my-first-subscriber.md +0 -120
  433. package/src/docs/_getting-started/pubsub.md +0 -37
  434. package/src/docs/_misc/formelement-subscriber-removal.md +0 -115
  435. package/src/docs/example/docs-input-autocomplete-demos.ts +0 -110
  436. package/src/docs/example/docs-joke-demos.ts +0 -297
  437. /package/{src/docs/_getting-started → docs/docs/getting-started}/components.md +0 -0
  438. /package/{src/docs/_getting-started → docs/docs/getting-started}/theming.md +0 -0
@@ -0,0 +1,109 @@
1
+ # Progress
2
+
3
+ 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 **`remaining`**; set **`invert`** when the bar sits on a colored surface such as **`sonic-card`**.
4
+
5
+ ## Basic example
6
+
7
+ Set **`value`** from `0` to **`max`** (default `100`). Label text uses the type color.
8
+
9
+ <sonic-code>
10
+ <template>
11
+ <sonic-progress value="50">Boarding 50%</sonic-progress>
12
+ </template>
13
+ </sonic-code>
14
+
15
+ ## Indeterminate
16
+
17
+ With no **`value`**, the bar animates until progress is known.
18
+
19
+ <sonic-code>
20
+ <template>
21
+ <sonic-progress></sonic-progress>
22
+ </template>
23
+ </sonic-code>
24
+
25
+ ## Type
26
+
27
+ Semantic color follows **`type`**. With no **`type`**, behavior is `default`.
28
+
29
+ <sonic-code>
30
+ <template>
31
+ <div class="grid gap-3">
32
+ <sonic-progress value="50">50%</sonic-progress>
33
+ <sonic-progress type="primary" value="50">50%</sonic-progress>
34
+ <sonic-progress type="neutral" value="50">50%</sonic-progress>
35
+ <sonic-progress type="info" value="50">50%</sonic-progress>
36
+ <sonic-progress type="warning" value="50">50%</sonic-progress>
37
+ <sonic-progress type="success" value="50">50%</sonic-progress>
38
+ <sonic-progress type="danger" value="50">50%</sonic-progress>
39
+ </div>
40
+ </template>
41
+ </sonic-code>
42
+
43
+ ## Size
44
+
45
+ Bar height scales with typography via **`size`**. With no **`size`**, font size matches **`md`** (`1rem`).
46
+
47
+ <sonic-code>
48
+ <template>
49
+ <div class="grid gap-3">
50
+ <sonic-progress size="2xs" value="25">25%</sonic-progress>
51
+ <sonic-progress size="xs" value="25">25%</sonic-progress>
52
+ <sonic-progress size="sm" value="25">25%</sonic-progress>
53
+ <sonic-progress size="md" value="25">25%</sonic-progress>
54
+ <sonic-progress size="lg" value="25">25%</sonic-progress>
55
+ <sonic-progress size="xl" value="25">25%</sonic-progress>
56
+ <sonic-progress size="2xl" value="25">25%</sonic-progress>
57
+ </div>
58
+ </template>
59
+ </sonic-code>
60
+
61
+ ## Default and remaining slots
62
+
63
+ The default slot is the main label (left). **`remaining`** is right-aligned with lighter weight—use it for “left to complete” copy.
64
+
65
+ <sonic-code>
66
+ <template>
67
+ <sonic-progress type="danger" value="80">
68
+ 80% fuel used <span slot="remaining">20% left</span>
69
+ </sonic-progress>
70
+ </template>
71
+ </sonic-code>
72
+
73
+ ## Invert
74
+
75
+ On tinted backgrounds, **`invert`** adjusts track and fill tokens so the bar stays readable (pair with matching **`type`** on **`sonic-card`** or similar).
76
+
77
+ <sonic-code>
78
+ <template>
79
+ <div class="grid gap-3">
80
+ <sonic-card type="info">
81
+ <sonic-progress invert type="info" value="50">50%</sonic-progress>
82
+ </sonic-card>
83
+ <sonic-card type="warning">
84
+ <sonic-progress invert type="warning" value="50">50%</sonic-progress>
85
+ </sonic-card>
86
+ <sonic-card type="success">
87
+ <sonic-progress invert type="success" value="50">50%</sonic-progress>
88
+ </sonic-card>
89
+ <sonic-card type="danger">
90
+ <sonic-progress invert type="danger" value="50">50%</sonic-progress>
91
+ </sonic-card>
92
+ </div>
93
+ </template>
94
+ </sonic-code>
95
+
96
+ ## API reference
97
+
98
+ | Attribute | Values | Description |
99
+ |----------|---------|-------------|
100
+ | `value` | number | Completion amount; omit for indeterminate state |
101
+ | `max` | number (default `100`) | Upper bound for **`value`** |
102
+ | `type` | `default` (default) · `primary` · `neutral` · `warning` · `info` · `success` · `danger` | Semantic bar and label color |
103
+ | `size` | `2xs` · `xs` · `sm` · `md` · `lg` · `xl` · `2xl` · `inherit` | Typography scale (bar height follows `em`) |
104
+ | `invert` | boolean | High-contrast tokens on colored backgrounds |
105
+
106
+ | Slot | Description |
107
+ |------|-------------|
108
+ | *(default)* | Primary label below the bar (left) |
109
+ | `remaining` | Secondary label below the bar (right) |
@@ -0,0 +1,333 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en" data-doc-url="https://concorde.supersoniks.org/core/components/ui/table" data-doc-id="core/components/ui/table/table">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Table — Concorde by Supersoniks</title>
7
+ <meta name="description" content="sonic-table lays out tabular data with sonic-tr · sonic-th · sonic-td children, optionally grouped in sonic-thead · sonic-tbody · sonic-tfoot. It scrolls horizontally when columns overflow; set minWid">
8
+ <meta name="keywords" content="Concorde, supersoniks, core/components/ui/table/table, table, Table, UI component, sonic-table, web component, sonic-tr, sonic-th, sonic-td, sonic-thead, sonic-tbody, sonic-tfoot, minWidth, sonic-list, bordered">
9
+ <meta name="concorde-doc-id" content="core/components/ui/table/table">
10
+ <link rel="canonical" href="https://concorde.supersoniks.org/core/components/ui/table">
11
+ <link rel="alternate" type="text/markdown" href="https://concorde.supersoniks.org/core/components/ui/table.md">
12
+ </head>
13
+ <body>
14
+ <header>
15
+ <p><a href="/docs/index.html">Concorde documentation</a> · <a href="https://concorde.supersoniks.org/core/components/ui/table">same URL (interactive)</a> · <a href="/llms.txt">llms.txt</a></p>
16
+ </header>
17
+ <main>
18
+ <article>
19
+ <p class="doc-lead" id="doc-summary"><strong>Concorde UI component — Table</strong>. sonic-table lays out tabular data with sonic-tr · sonic-th · sonic-td children, optionally grouped in sonic-thead · sonic-tbody · sonic-tfoot. It scrolls horizontally when columns overflow; set minWid <span>Doc ID: <code>core/components/ui/table/table</code>. Keywords: Concorde, supersoniks, core/components/ui/table/table, table, Table, UI component, sonic-table, web component, sonic-tr, sonic-th, sonic-td, sonic-thead, sonic-tbody, sonic-tfoot, minWidth, sonic-list, bordered. URL: <a href="https://concorde.supersoniks.org/core/components/ui/table">https://concorde.supersoniks.org/core/components/ui/table</a>.</span></p>
20
+ <h1 id="table">Table</h1>
21
+ <p><strong><code>sonic-table</code></strong> lays out tabular data with <strong><code>sonic-tr</code></strong> · <strong><code>sonic-th</code></strong> · <strong><code>sonic-td</code></strong> children, optionally grouped in <strong><code>sonic-thead</code></strong> · <strong><code>sonic-tbody</code></strong> · <strong><code>sonic-tfoot</code></strong>. It scrolls horizontally when columns overflow; set <strong><code>minWidth</code></strong> on wide cells to keep them readable. Render fetched rows with <strong><code>sonic-list</code></strong>.</p>
22
+ <h2 id="basic-example">Basic example</h2>
23
+ <p><strong><code>bordered</code></strong> adds an outer frame and row dividers. <strong><code>sonic-tbody</code></strong> stripes and highlights its rows on hover.</p>
24
+ <pre><code>&lt;sonic-table bordered&gt;
25
+ &lt;sonic-thead&gt;
26
+ &lt;sonic-tr&gt;
27
+ &lt;sonic-th&gt;Flight&lt;/sonic-th&gt;
28
+ &lt;sonic-th&gt;Destination&lt;/sonic-th&gt;
29
+ &lt;sonic-th&gt;Status&lt;/sonic-th&gt;
30
+ &lt;/sonic-tr&gt;
31
+ &lt;/sonic-thead&gt;
32
+ &lt;sonic-tbody&gt;
33
+ &lt;sonic-tr&gt;
34
+ &lt;sonic-td&gt;CN 001&lt;/sonic-td&gt;
35
+ &lt;sonic-td&gt;New York JFK&lt;/sonic-td&gt;
36
+ &lt;sonic-td&gt;Boarding&lt;/sonic-td&gt;
37
+ &lt;/sonic-tr&gt;
38
+ &lt;sonic-tr&gt;
39
+ &lt;sonic-td&gt;CN 014&lt;/sonic-td&gt;
40
+ &lt;sonic-td&gt;London LHR&lt;/sonic-td&gt;
41
+ &lt;sonic-td&gt;On time&lt;/sonic-td&gt;
42
+ &lt;/sonic-tr&gt;
43
+ &lt;sonic-tr&gt;
44
+ &lt;sonic-td&gt;CN 102&lt;/sonic-td&gt;
45
+ &lt;sonic-td&gt;Rio de Janeiro GIG&lt;/sonic-td&gt;
46
+ &lt;sonic-td&gt;Delayed&lt;/sonic-td&gt;
47
+ &lt;/sonic-tr&gt;
48
+ &lt;/sonic-tbody&gt;
49
+ &lt;/sonic-table&gt;
50
+ </code></pre>
51
+ <h2 id="list-fetch-and-max-height">List, fetch and max height</h2>
52
+ <p>Put a <strong><code>sonic-list</code></strong> with <code>displayContents</code> inside <strong><code>sonic-tbody</code></strong> and render one <strong><code>sonic-tr</code></strong> per item; the list sets <code>even</code> · <code>odd</code> · <code>last</code> on each row. <strong><code>maxHeight</code></strong> caps the scroll container so the body scrolls vertically.</p>
53
+ <pre><code>&lt;sonic-table maxHeight=&quot;10rem&quot;&gt;
54
+ &lt;sonic-thead&gt;
55
+ &lt;sonic-tr&gt;
56
+ &lt;sonic-th&gt;Time&lt;/sonic-th&gt;
57
+ &lt;sonic-th&gt;Flight&lt;/sonic-th&gt;
58
+ &lt;sonic-th&gt;Destination&lt;/sonic-th&gt;
59
+ &lt;sonic-th&gt;Gate&lt;/sonic-th&gt;
60
+ &lt;/sonic-tr&gt;
61
+ &lt;/sonic-thead&gt;
62
+ &lt;sonic-tbody&gt;
63
+ &lt;sonic-list fetch serviceURL=&quot;/docs-mock-api&quot; dataProvider=&quot;flights&quot; key=&quot;flights&quot; displayContents&gt;
64
+ &lt;template&gt;
65
+ &lt;sonic-tr&gt;
66
+ &lt;sonic-td data-bind ::inner-html=&quot;$time&quot;&gt;&lt;/sonic-td&gt;
67
+ &lt;sonic-td data-bind ::inner-html=&quot;$code&quot;&gt;&lt;/sonic-td&gt;
68
+ &lt;sonic-td minWidth=&quot;10rem&quot; data-bind ::inner-html=&quot;$city &lt;b&gt;$airport&lt;/b&gt;&quot;&gt;&lt;/sonic-td&gt;
69
+ &lt;sonic-td data-bind ::inner-html=&quot;$gate&quot;&gt;&lt;/sonic-td&gt;
70
+ &lt;/sonic-tr&gt;
71
+ </code></pre>
72
+ <h2 id="size">Size</h2>
73
+ <p>With no <strong><code>size</code></strong>, the table uses <code>md</code>.</p>
74
+ <pre><code>&lt;div class=&quot;grid grid-cols-4 gap-3&quot;&gt;
75
+ &lt;sonic-table size=&quot;2xs&quot; bordered&gt;&lt;sonic-tr&gt;&lt;sonic-td&gt;2xs&lt;/sonic-td&gt;&lt;/sonic-tr&gt;&lt;/sonic-table&gt;
76
+ &lt;sonic-table size=&quot;xs&quot; bordered&gt;&lt;sonic-tr&gt;&lt;sonic-td&gt;xs&lt;/sonic-td&gt;&lt;/sonic-tr&gt;&lt;/sonic-table&gt;
77
+ &lt;sonic-table size=&quot;sm&quot; bordered&gt;&lt;sonic-tr&gt;&lt;sonic-td&gt;sm&lt;/sonic-td&gt;&lt;/sonic-tr&gt;&lt;/sonic-table&gt;
78
+ &lt;sonic-table size=&quot;md&quot; bordered&gt;&lt;sonic-tr&gt;&lt;sonic-td&gt;md&lt;/sonic-td&gt;&lt;/sonic-tr&gt;&lt;/sonic-table&gt;
79
+ &lt;sonic-table size=&quot;lg&quot; bordered&gt;&lt;sonic-tr&gt;&lt;sonic-td&gt;lg&lt;/sonic-td&gt;&lt;/sonic-tr&gt;&lt;/sonic-table&gt;
80
+ &lt;sonic-table size=&quot;xl&quot; bordered&gt;&lt;sonic-tr&gt;&lt;sonic-td&gt;xl&lt;/sonic-td&gt;&lt;/sonic-tr&gt;&lt;/sonic-table&gt;
81
+ &lt;sonic-table size=&quot;2xl&quot; bordered&gt;&lt;sonic-tr&gt;&lt;sonic-td&gt;2xl&lt;/sonic-td&gt;&lt;/sonic-tr&gt;&lt;/sonic-table&gt;
82
+ &lt;/div&gt;
83
+ </code></pre>
84
+ <h2 id="type">Type</h2>
85
+ <p><strong><code>type</code></strong> on <strong><code>sonic-tr</code></strong> · <strong><code>sonic-th</code></strong> · <strong><code>sonic-td</code></strong> sets a semantic text color.</p>
86
+ <pre><code>&lt;sonic-table bordered&gt;
87
+ &lt;sonic-tr&gt;
88
+ &lt;sonic-th type=&quot;info&quot;&gt;Set on&lt;/sonic-th&gt;
89
+ &lt;sonic-th type=&quot;info&quot;&gt;sonic-th&lt;/sonic-th&gt;
90
+ &lt;/sonic-tr&gt;
91
+ &lt;sonic-tr&gt;
92
+ &lt;sonic-td type=&quot;danger&quot;&gt;Set on&lt;/sonic-td&gt;
93
+ &lt;sonic-td type=&quot;danger&quot;&gt;sonic-td&lt;/sonic-td&gt;
94
+ &lt;/sonic-tr&gt;
95
+ &lt;sonic-tr type=&quot;success&quot;&gt;
96
+ &lt;sonic-td&gt;Set on&lt;/sonic-td&gt;
97
+ &lt;sonic-td&gt;sonic-tr&lt;/sonic-td&gt;
98
+ &lt;/sonic-tr&gt;
99
+ &lt;/sonic-table&gt;
100
+ </code></pre>
101
+ <h2 id="colspan-and-rowspan">Colspan and rowspan</h2>
102
+ <pre><code>&lt;sonic-table bordered&gt;
103
+ &lt;sonic-tbody&gt;
104
+ &lt;sonic-tr&gt;
105
+ &lt;sonic-td colspan=&quot;2&quot; class=&quot;bg-info text-neutral-0&quot;&gt;colspan: 2&lt;/sonic-td&gt;
106
+ &lt;sonic-td&gt;cell&lt;/sonic-td&gt;
107
+ &lt;/sonic-tr&gt;
108
+ &lt;sonic-tr&gt;
109
+ &lt;sonic-td&gt;cell&lt;/sonic-td&gt;
110
+ &lt;sonic-td&gt;cell&lt;/sonic-td&gt;
111
+ &lt;sonic-td rowspan=&quot;2&quot; class=&quot;bg-success text-neutral-0&quot;&gt;rowspan: 2&lt;/sonic-td&gt;
112
+ &lt;/sonic-tr&gt;
113
+ &lt;sonic-tr&gt;
114
+ &lt;sonic-td&gt;cell&lt;/sonic-td&gt;
115
+ &lt;sonic-td&gt;cell&lt;/sonic-td&gt;
116
+ &lt;/sonic-tr&gt;
117
+ &lt;/sonic-tbody&gt;
118
+ &lt;/sonic-table&gt;
119
+ </code></pre>
120
+ <h2 id="alignment-and-width">Alignment and width</h2>
121
+ <p><strong><code>align</code></strong> sets horizontal alignment. <strong><code>width</code></strong> · <strong><code>minWidth</code></strong> · <strong><code>maxWidth</code></strong> set the cell dimensions. <strong><code>vAlign</code></strong> exists on <strong><code>sonic-td</code></strong> only.</p>
122
+ <pre><code>&lt;sonic-table bordered&gt;
123
+ &lt;sonic-thead&gt;
124
+ &lt;sonic-tr&gt;
125
+ &lt;sonic-th width=&quot;8rem&quot;&gt;align&lt;/sonic-th&gt;
126
+ &lt;sonic-th maxWidth=&quot;8rem&quot;&gt;maxWidth 8rem&lt;/sonic-th&gt;
127
+ &lt;sonic-th&gt;vAlign&lt;/sonic-th&gt;
128
+ &lt;/sonic-tr&gt;
129
+ &lt;/sonic-thead&gt;
130
+ &lt;sonic-tbody&gt;
131
+ &lt;sonic-tr&gt;
132
+ &lt;sonic-td align=&quot;left&quot;&gt;left&lt;/sonic-td&gt;
133
+ &lt;sonic-td maxWidth=&quot;8rem&quot;&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit.&lt;/sonic-td&gt;
134
+ &lt;sonic-td vAlign=&quot;top&quot;&gt;top&lt;/sonic-td&gt;
135
+ &lt;/sonic-tr&gt;
136
+ &lt;sonic-tr&gt;
137
+ &lt;sonic-td align=&quot;center&quot;&gt;center&lt;/sonic-td&gt;
138
+ &lt;sonic-td maxWidth=&quot;8rem&quot;&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit.&lt;/sonic-td&gt;
139
+ &lt;sonic-td vAlign=&quot;middle&quot;&gt;middle&lt;/sonic-td&gt;
140
+ &lt;/sonic-tr&gt;
141
+ &lt;sonic-tr&gt;
142
+ &lt;sonic-td align=&quot;right&quot;&gt;right&lt;/sonic-td&gt;
143
+ &lt;sonic-td maxWidth=&quot;8rem&quot;&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit.&lt;/sonic-td&gt;
144
+ &lt;sonic-td vAlign=&quot;bottom&quot;&gt;bottom&lt;/sonic-td&gt;
145
+ &lt;/sonic-tr&gt;
146
+ &lt;/sonic-tbody&gt;
147
+ &lt;/sonic-table&gt;
148
+ </code></pre>
149
+ <h2 id="sticky-header-and-caption">Sticky header and caption</h2>
150
+ <p><strong><code>sonic-th</code></strong> cells stick to the top of the scroll container. To stick the header to the page instead, set <strong><code>noCustomScroll</code></strong> (which removes the scroll container) and position <strong><code>sonic-thead</code></strong> yourself. <strong><code>sonic-caption</code></strong> adds a caption.</p>
151
+ <pre><code>&lt;sonic-table bordered noCustomScroll&gt;
152
+ &lt;sonic-thead class=&quot;sticky top-16&quot;&gt;
153
+ &lt;sonic-tr&gt;
154
+ &lt;sonic-th minWidth=&quot;12rem&quot;&gt;Product&lt;/sonic-th&gt;
155
+ &lt;sonic-th align=&quot;center&quot;&gt;Quantity&lt;/sonic-th&gt;
156
+ &lt;sonic-th align=&quot;right&quot;&gt;Price&lt;/sonic-th&gt;
157
+ &lt;sonic-th&gt;&lt;/sonic-th&gt;
158
+ &lt;/sonic-tr&gt;
159
+ &lt;/sonic-thead&gt;
160
+ &lt;sonic-tbody&gt;
161
+ &lt;sonic-tr&gt;
162
+ &lt;sonic-td&gt;Desk lamp&lt;/sonic-td&gt;
163
+ &lt;sonic-td align=&quot;center&quot;&gt;2&lt;/sonic-td&gt;
164
+ &lt;sonic-td align=&quot;right&quot;&gt;40 €&lt;/sonic-td&gt;
165
+ &lt;sonic-td align=&quot;right&quot;&gt;
166
+ &lt;sonic-button shape=&quot;circle&quot; variant=&quot;outline&quot; size=&quot;sm&quot; aria-label=&quot;Edit&quot;&gt;
167
+ &lt;sonic-icon library=&quot;iconoir&quot; name=&quot;edit-pencil&quot; size=&quot;lg&quot;&gt;&lt;/sonic-icon&gt;
168
+ &lt;/sonic-button&gt;
169
+ &lt;/sonic-td&gt;
170
+ &lt;/sonic-tr&gt;
171
+ &lt;sonic-tr type=&quot;warning&quot;&gt;
172
+ &lt;sonic-td&gt;Notebook&lt;/sonic-td&gt;
173
+ &lt;sonic-td align=&quot;center&quot;&gt;0&lt;/sonic-td&gt;
174
+ &lt;sonic-td align=&quot;right&quot;&gt;8 €&lt;/sonic-td&gt;
175
+ &lt;sonic-td align=&quot;right&quot;&gt;
176
+ &lt;sonic-button shape=&quot;circle&quot; variant=&quot;outline&quot; size=&quot;sm&quot; aria-label=&quot;Edit&quot;&gt;
177
+ &lt;sonic-icon library=&quot;iconoir&quot; name=&quot;edit-pencil&quot; size=&quot;lg&quot;&gt;&lt;/sonic-icon&gt;
178
+ &lt;/sonic-button&gt;
179
+ &lt;/sonic-td&gt;
180
+ &lt;/sonic-tr&gt;
181
+ &lt;sonic-tr&gt;
182
+ &lt;sonic-td&gt;Headphones&lt;/sonic-td&gt;
183
+ &lt;sonic-td align=&quot;center&quot;&gt;1&lt;/sonic-td&gt;
184
+ &lt;sonic-td align=&quot;right&quot; type=&quot;danger&quot;&gt;120 €&lt;/sonic-td&gt;
185
+ &lt;sonic-td align=&quot;right&quot;&gt;
186
+ &lt;sonic-button shape=&quot;circle&quot; variant=&quot;outline&quot; size=&quot;sm&quot; aria-label=&quot;Edit&quot;&gt;
187
+ &lt;sonic-icon library=&quot;iconoir&quot; name=&quot;edit-pencil&quot; size=&quot;lg&quot;&gt;&lt;/sonic-icon&gt;
188
+ &lt;/sonic-button&gt;
189
+ &lt;/sonic-td&gt;
190
+ &lt;/sonic-tr&gt;
191
+ &lt;/sonic-tbody&gt;
192
+ &lt;sonic-caption&gt;Cart contents&lt;/sonic-caption&gt;
193
+ &lt;/sonic-table&gt;
194
+ </code></pre>
195
+ <h2 id="api-reference">API reference</h2>
196
+ <h3 id="sonic-table"><code>sonic-table</code></h3>
197
+ <table>
198
+ <thead>
199
+ <tr>
200
+ <th>Attribute</th>
201
+ <th>Values</th>
202
+ <th>Description</th>
203
+ </tr>
204
+ </thead>
205
+ <tbody><tr>
206
+ <td><code>size</code></td>
207
+ <td><code>2xs</code> … <code>2xl</code> · <code>inherit</code> (default <code>md</code>)</td>
208
+ <td>Font size</td>
209
+ </tr>
210
+ <tr>
211
+ <td><code>bordered</code></td>
212
+ <td>boolean</td>
213
+ <td>Outer border and row dividers</td>
214
+ </tr>
215
+ <tr>
216
+ <td><code>maxHeight</code></td>
217
+ <td>CSS length</td>
218
+ <td>Max height of the scroll container</td>
219
+ </tr>
220
+ <tr>
221
+ <td><code>noCustomScroll</code></td>
222
+ <td>boolean</td>
223
+ <td>Remove the scroll container and its custom scrollbar</td>
224
+ </tr>
225
+ </tbody></table>
226
+ <table>
227
+ <thead>
228
+ <tr>
229
+ <th>Slot</th>
230
+ <th>Description</th>
231
+ </tr>
232
+ </thead>
233
+ <tbody><tr>
234
+ <td><em>(default)</em></td>
235
+ <td>Sections, rows and caption</td>
236
+ </tr>
237
+ </tbody></table>
238
+ <h3 id="sonic-thead--sonic-tbody--sonic-tfoot--sonic-caption"><code>sonic-thead</code> · <code>sonic-tbody</code> · <code>sonic-tfoot</code> · <code>sonic-caption</code></h3>
239
+ <p>No attributes. Default slot only. <code>sonic-tbody</code> stripes and highlights its rows.</p>
240
+ <h3 id="sonic-tr"><code>sonic-tr</code></h3>
241
+ <table>
242
+ <thead>
243
+ <tr>
244
+ <th>Attribute</th>
245
+ <th>Values</th>
246
+ <th>Description</th>
247
+ </tr>
248
+ </thead>
249
+ <tbody><tr>
250
+ <td><code>type</code></td>
251
+ <td><code>default</code> · <code>primary</code> · <code>info</code> · <code>success</code> · <code>warning</code> · <code>danger</code> · <code>neutral</code></td>
252
+ <td>Text color</td>
253
+ </tr>
254
+ <tr>
255
+ <td><code>even</code> · <code>odd</code></td>
256
+ <td>boolean</td>
257
+ <td>Striping background; set by <code>sonic-list</code></td>
258
+ </tr>
259
+ <tr>
260
+ <td><code>last</code></td>
261
+ <td>boolean</td>
262
+ <td>No bottom border; set by <code>sonic-list</code></td>
263
+ </tr>
264
+ </tbody></table>
265
+ <table>
266
+ <thead>
267
+ <tr>
268
+ <th>Slot</th>
269
+ <th>Description</th>
270
+ </tr>
271
+ </thead>
272
+ <tbody><tr>
273
+ <td><em>(default)</em></td>
274
+ <td><code>sonic-th</code> or <code>sonic-td</code> cells</td>
275
+ </tr>
276
+ </tbody></table>
277
+ <h3 id="sonic-th--sonic-td"><code>sonic-th</code> · <code>sonic-td</code></h3>
278
+ <table>
279
+ <thead>
280
+ <tr>
281
+ <th>Attribute</th>
282
+ <th>Values</th>
283
+ <th>Description</th>
284
+ </tr>
285
+ </thead>
286
+ <tbody><tr>
287
+ <td><code>type</code></td>
288
+ <td>same as <code>sonic-tr</code></td>
289
+ <td>Text color</td>
290
+ </tr>
291
+ <tr>
292
+ <td><code>align</code></td>
293
+ <td><code>left</code> · <code>center</code> · <code>right</code></td>
294
+ <td>Horizontal alignment</td>
295
+ </tr>
296
+ <tr>
297
+ <td><code>vAlign</code></td>
298
+ <td>CSS <code>vertical-align</code></td>
299
+ <td>Vertical alignment (<code>sonic-td</code> only)</td>
300
+ </tr>
301
+ <tr>
302
+ <td><code>colSpan</code> · <code>rowSpan</code></td>
303
+ <td>number</td>
304
+ <td>Column and row span</td>
305
+ </tr>
306
+ <tr>
307
+ <td><code>width</code> · <code>minWidth</code> · <code>maxWidth</code></td>
308
+ <td>CSS length</td>
309
+ <td>Cell dimensions</td>
310
+ </tr>
311
+ <tr>
312
+ <td><code>noBorder</code></td>
313
+ <td>boolean</td>
314
+ <td>No bottom border (<code>sonic-th</code> only)</td>
315
+ </tr>
316
+ </tbody></table>
317
+ <table>
318
+ <thead>
319
+ <tr>
320
+ <th>Slot</th>
321
+ <th>Description</th>
322
+ </tr>
323
+ </thead>
324
+ <tbody><tr>
325
+ <td><em>(default)</em></td>
326
+ <td>Cell content</td>
327
+ </tr>
328
+ </tbody></table>
329
+
330
+ </article>
331
+ </main>
332
+ </body>
333
+ </html>