@supersoniks/concorde 5.1.1 → 5.1.3

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 (494) 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/PLAN-DOCS-AGENTS.md +80 -0
  6. package/README.md +4 -4
  7. package/ai/README.md +29 -41
  8. package/ai/skills/concorde/SKILL.md +54 -324
  9. package/ai/skills/concorde/rules/composition.md +32 -0
  10. package/ai/skills/concorde/rules/data.md +47 -0
  11. package/ai/skills/concorde/rules/http.md +25 -0
  12. package/ai/skills/concorde/rules/lists-forms.md +35 -0
  13. package/ai/skills/concorde/rules/styling.md +46 -0
  14. package/ai/skills/concorde/rules/troubleshooting.md +45 -0
  15. package/build-infos.json +1 -1
  16. package/concorde-core.bundle.js +21 -21
  17. package/concorde-core.es.js +977 -980
  18. package/custom-elements-manifest.public.config.mjs +8 -0
  19. package/{.tmp-cem/custom-elements.json → custom-elements.json} +11758 -8904
  20. package/dist/concorde-core.bundle.js +21 -21
  21. package/dist/concorde-core.es.js +977 -980
  22. package/dist/docs-mock-api-sw.js +58 -223
  23. package/dist/docs-mock-api-sw.js.map +4 -4
  24. package/dist/img/concorde/plane_01.jpg +0 -0
  25. package/dist/img/concorde/plane_02.jpg +0 -0
  26. package/dist/img/concorde/plane_03.jpg +0 -0
  27. package/dist/img/concorde/plane_04.jpg +0 -0
  28. package/dist/img/concorde/plane_05.jpg +0 -0
  29. package/dist/img/concorde/plane_06.jpg +0 -0
  30. package/dist/img/concorde/plane_07.jpg +0 -0
  31. package/dist/img/concorde/plane_08.jpg +0 -0
  32. package/dist/img/concorde/plane_09.jpg +0 -0
  33. package/dist/img/concorde/plane_10.jpg +0 -0
  34. package/dist/img/concorde/plane_11.jpg +0 -0
  35. package/dist/img/concorde/plane_12.jpg +0 -0
  36. package/dist/img/concorde/plane_13.jpg +0 -0
  37. package/dist/img/og-concorde.jpg +0 -0
  38. package/dist/robots.txt +11 -10
  39. package/docs/.htaccess +82 -0
  40. package/docs/404.html +15 -0
  41. package/docs/404.md +5 -0
  42. package/docs/about.html +111 -0
  43. package/docs/about.md +22 -0
  44. package/docs/assets/{index-Bb-_LRyY.js → index-6sS76xWj.js} +2625 -3158
  45. package/docs/assets/index-DkdPbH0F.css +1 -0
  46. package/docs/core/components/functional/date/date.html +211 -0
  47. package/docs/core/components/functional/date/date.md +150 -0
  48. package/docs/core/components/functional/fetch/fetch.html +180 -0
  49. package/docs/core/components/functional/fetch/fetch.md +108 -0
  50. package/docs/core/components/functional/if/if.html +65 -0
  51. package/docs/core/components/functional/if/if.md +34 -0
  52. package/docs/core/components/functional/jsonata/jsonata.html +110 -0
  53. package/docs/core/components/functional/jsonata/jsonata.md +61 -0
  54. package/docs/core/components/functional/list/list.html +200 -0
  55. package/docs/core/components/functional/list/list.md +125 -0
  56. package/docs/core/components/functional/mix/mix.html +78 -0
  57. package/docs/core/components/functional/mix/mix.md +46 -0
  58. package/docs/core/components/functional/queue/queue.html +155 -0
  59. package/docs/core/components/functional/queue/queue.md +51 -0
  60. package/docs/core/components/functional/router/router.html +154 -0
  61. package/docs/core/components/functional/router/router.md +93 -0
  62. package/docs/core/components/functional/sdui/sdui-extension-points.html +127 -0
  63. package/docs/core/components/functional/sdui/sdui-extension-points.md +94 -0
  64. package/docs/core/components/functional/sdui/sdui.html +397 -0
  65. package/docs/core/components/functional/sdui/sdui.md +307 -0
  66. package/docs/core/components/functional/states/states.html +141 -0
  67. package/docs/core/components/functional/states/states.md +112 -0
  68. package/docs/core/components/functional/submit/submit.html +178 -0
  69. package/docs/core/components/functional/submit/submit.md +106 -0
  70. package/docs/core/components/functional/subscriber/subscriber.html +68 -0
  71. package/docs/core/components/functional/subscriber/subscriber.md +91 -0
  72. package/docs/core/components/functional/translation/translation.html +60 -0
  73. package/docs/core/components/functional/translation/translation.md +38 -0
  74. package/docs/core/components/functional/value/value.html +81 -0
  75. package/docs/core/components/functional/value/value.md +47 -0
  76. package/docs/core/components/ui/alert/alert.html +201 -0
  77. package/docs/core/components/ui/alert/alert.md +186 -0
  78. package/docs/core/components/ui/alert-messages/alert-messages.html +132 -0
  79. package/docs/core/components/ui/alert-messages/alert-messages.md +85 -0
  80. package/docs/core/components/ui/badge/badge.html +197 -0
  81. package/docs/core/components/ui/badge/badge.md +181 -0
  82. package/docs/core/components/ui/button/button.html +309 -0
  83. package/docs/core/components/ui/button/button.md +216 -0
  84. package/docs/core/components/ui/captcha/captcha.html +80 -0
  85. package/docs/core/components/ui/captcha/captcha.md +56 -0
  86. package/docs/core/components/ui/card/card.html +254 -0
  87. package/docs/core/components/ui/card/card.md +215 -0
  88. package/docs/core/components/ui/divider/divider.html +144 -0
  89. package/docs/core/components/ui/divider/divider.md +126 -0
  90. package/docs/core/components/ui/form/checkbox/checkbox.html +200 -0
  91. package/docs/core/components/ui/form/checkbox/checkbox.md +125 -0
  92. package/docs/core/components/ui/form/fieldset/fieldset.html +238 -0
  93. package/docs/core/components/ui/form/fieldset/fieldset.md +161 -0
  94. package/docs/core/components/ui/form/form-actions/form-actions.html +122 -0
  95. package/docs/core/components/ui/form/form-actions/form-actions.md +98 -0
  96. package/docs/core/components/ui/form/form-layout/form-layout.html +115 -0
  97. package/docs/core/components/ui/form/form-layout/form-layout.md +109 -0
  98. package/docs/core/components/ui/form/input/input.html +235 -0
  99. package/docs/core/components/ui/form/input/input.md +142 -0
  100. package/docs/core/components/ui/form/radio/radio.html +144 -0
  101. package/docs/core/components/ui/form/radio/radio.md +78 -0
  102. package/docs/core/components/ui/form/select/select.html +178 -0
  103. package/docs/core/components/ui/form/select/select.md +86 -0
  104. package/docs/core/components/ui/form/switch/switch.html +146 -0
  105. package/docs/core/components/ui/form/switch/switch.md +80 -0
  106. package/docs/core/components/ui/form/textarea/textarea.html +162 -0
  107. package/docs/core/components/ui/form/textarea/textarea.md +82 -0
  108. package/docs/core/components/ui/group/group.html +113 -0
  109. package/docs/core/components/ui/group/group.md +77 -0
  110. package/docs/core/components/ui/icon/icon.html +223 -0
  111. package/docs/core/components/ui/icon/icon.md +214 -0
  112. package/docs/core/components/ui/image/image.html +194 -0
  113. package/docs/core/components/ui/image/image.md +167 -0
  114. package/docs/core/components/ui/link/link.html +101 -0
  115. package/docs/core/components/ui/link/link.md +81 -0
  116. package/docs/core/components/ui/loader/loader.html +114 -0
  117. package/docs/core/components/ui/loader/loader.md +87 -0
  118. package/docs/core/components/ui/menu/menu.html +395 -0
  119. package/docs/core/components/ui/menu/menu.md +370 -0
  120. package/docs/core/components/ui/modal/modal.html +324 -0
  121. package/docs/core/components/ui/modal/modal.md +211 -0
  122. package/docs/core/components/ui/pop/pop.html +250 -0
  123. package/docs/core/components/ui/pop/pop.md +216 -0
  124. package/docs/core/components/ui/progress/progress.html +132 -0
  125. package/docs/core/components/ui/progress/progress.md +109 -0
  126. package/docs/core/components/ui/table/table.html +333 -0
  127. package/docs/core/components/ui/table/table.md +267 -0
  128. package/docs/core/components/ui/theme/theme.html +116 -0
  129. package/docs/core/components/ui/theme/theme.md +97 -0
  130. package/docs/core/components/ui/toast/toast.html +185 -0
  131. package/docs/core/components/ui/toast/toast.md +147 -0
  132. package/docs/core/components/ui/tooltip/tooltip.html +112 -0
  133. package/docs/core/components/ui/tooltip/tooltip.md +89 -0
  134. package/docs/custom-elements.json +16559 -0
  135. package/docs/docs/decorators/ancestor-attribute.html +71 -0
  136. package/docs/docs/decorators/ancestor-attribute.md +59 -0
  137. package/docs/docs/decorators/auto-subscribe.html +61 -0
  138. package/docs/docs/decorators/auto-subscribe.md +40 -0
  139. package/docs/docs/decorators/bind.html +87 -0
  140. package/docs/docs/decorators/bind.md +76 -0
  141. package/docs/docs/decorators/get.html +166 -0
  142. package/docs/docs/decorators/get.md +160 -0
  143. package/docs/docs/decorators/handle.html +139 -0
  144. package/docs/docs/decorators/handle.md +119 -0
  145. package/docs/docs/decorators/on-assign.html +72 -0
  146. package/docs/docs/decorators/on-assign.md +63 -0
  147. package/docs/docs/decorators/patch.html +76 -0
  148. package/docs/docs/decorators/patch.md +44 -0
  149. package/docs/docs/decorators/post.html +150 -0
  150. package/docs/docs/decorators/post.md +134 -0
  151. package/docs/docs/decorators/publish.html +74 -0
  152. package/docs/docs/decorators/publish.md +56 -0
  153. package/docs/docs/decorators/put.html +83 -0
  154. package/docs/docs/decorators/put.md +51 -0
  155. package/docs/docs/decorators/subscribe.html +91 -0
  156. package/docs/docs/decorators/subscribe.md +87 -0
  157. package/docs/docs/decorators/wait-for-ancestors.html +82 -0
  158. package/docs/docs/decorators/wait-for-ancestors.md +76 -0
  159. package/docs/docs/directives/sub.html +79 -0
  160. package/docs/docs/directives/sub.md +75 -0
  161. package/docs/docs/directives/t.html +91 -0
  162. package/docs/docs/directives/t.md +73 -0
  163. package/docs/docs/getting-started/ai-agents.html +130 -0
  164. package/docs/docs/getting-started/ai-agents.md +50 -0
  165. package/docs/docs/getting-started/components.html +27 -0
  166. package/docs/docs/getting-started/create-a-component.html +108 -0
  167. package/{src/docs/_getting-started → docs/docs/getting-started}/create-a-component.md +3 -6
  168. package/docs/docs/getting-started/dataFlow.html +174 -0
  169. package/{src/docs/_core-concept → docs/docs/getting-started}/dataFlow.md +18 -19
  170. package/docs/docs/getting-started/installation.html +69 -0
  171. package/docs/docs/getting-started/installation.md +36 -0
  172. package/docs/docs/getting-started/my-first-component.html +180 -0
  173. package/{src/docs/_getting-started → docs/docs/getting-started}/my-first-component.md +5 -14
  174. package/docs/docs/getting-started/start.html +47 -0
  175. package/{src/docs/_getting-started → docs/docs/getting-started}/start.md +1 -13
  176. package/docs/docs/getting-started/theming.html +334 -0
  177. package/docs/docs/index.html +99 -0
  178. package/docs/docs/misc/api-configuration.html +149 -0
  179. package/{src/docs/_misc → docs/docs/misc}/api-configuration.md +10 -12
  180. package/docs/docs/misc/dataProviderKey.html +136 -0
  181. package/{src/docs/_misc → docs/docs/misc}/dataProviderKey.md +4 -4
  182. package/docs/docs/misc/docs-mock-api.html +155 -0
  183. package/{src/docs/_misc → docs/docs/misc}/docs-mock-api.md +12 -13
  184. package/docs/docs/misc/dynamic-path.html +181 -0
  185. package/{src/docs/_misc → docs/docs/misc}/dynamic-path.md +8 -8
  186. package/docs/docs/misc/endpoint.html +51 -0
  187. package/{src/docs/_misc → docs/docs/misc}/endpoint.md +8 -8
  188. package/docs/docs/misc/html-integration.html +45 -0
  189. package/{src/docs/_misc → docs/docs/misc}/html-integration.md +4 -5
  190. package/docs/docs-mock-api-sw.js +58 -223
  191. package/docs/docs-mock-api-sw.js.map +4 -4
  192. package/docs/hubs/decorators.html +438 -0
  193. package/docs/hubs/form-components.html +404 -0
  194. package/docs/hubs/remote-data.html +367 -0
  195. package/docs/img/archive/concorde-001-2cv.webp +0 -0
  196. package/docs/img/archive/concorde-red-arrows-2002-poster.jpg +0 -0
  197. package/docs/img/archive/concorde-red-arrows-2002.webm +0 -0
  198. package/docs/img/archive/credits.json +28 -0
  199. package/docs/img/concorde/plane_01.jpg +0 -0
  200. package/docs/img/concorde/plane_02.jpg +0 -0
  201. package/docs/img/concorde/plane_03.jpg +0 -0
  202. package/docs/img/concorde/plane_04.jpg +0 -0
  203. package/docs/img/concorde/plane_05.jpg +0 -0
  204. package/docs/img/concorde/plane_06.jpg +0 -0
  205. package/docs/img/concorde/plane_07.jpg +0 -0
  206. package/docs/img/concorde/plane_08.jpg +0 -0
  207. package/docs/img/concorde/plane_09.jpg +0 -0
  208. package/docs/img/concorde/plane_10.jpg +0 -0
  209. package/docs/img/concorde/plane_11.jpg +0 -0
  210. package/docs/img/concorde/plane_12.jpg +0 -0
  211. package/docs/img/concorde/plane_13.jpg +0 -0
  212. package/docs/img/og-concorde.jpg +0 -0
  213. package/docs/index.html +184 -68
  214. package/docs/index.md +22 -0
  215. package/docs/llms-full.txt +5779 -0
  216. package/docs/llms.txt +108 -0
  217. package/docs/privacy.html +122 -0
  218. package/docs/privacy.md +32 -0
  219. package/docs/robots.txt +11 -10
  220. package/docs/sitemap.xml +243 -0
  221. package/docs/src/core/components/functional/date/date.md +150 -0
  222. package/docs/src/core/components/functional/fetch/fetch.md +108 -0
  223. package/docs/src/core/components/functional/if/if.md +34 -0
  224. package/docs/src/core/components/functional/jsonata/jsonata.md +61 -0
  225. package/docs/src/core/components/functional/list/list.md +125 -0
  226. package/docs/src/core/components/functional/mix/mix.md +46 -0
  227. package/docs/src/core/components/functional/queue/queue.md +51 -0
  228. package/docs/src/core/components/functional/router/router.md +93 -0
  229. package/docs/src/core/components/functional/sdui/component-catalog.gaps.json +511 -0
  230. package/docs/src/core/components/functional/sdui/component-catalog.json +3103 -0
  231. package/docs/src/core/components/functional/sdui/default-library.json +108 -0
  232. package/docs/src/core/components/functional/sdui/example.json +32 -0
  233. package/docs/src/core/components/functional/sdui/sdui-extension-points.md +94 -0
  234. package/docs/src/core/components/functional/sdui/sdui.md +307 -0
  235. package/docs/src/core/components/functional/states/states.md +112 -0
  236. package/docs/src/core/components/functional/submit/submit.md +106 -0
  237. package/docs/src/core/components/functional/subscriber/subscriber.md +91 -0
  238. package/docs/src/core/components/functional/translation/translation.md +38 -0
  239. package/docs/src/core/components/functional/value/value.md +47 -0
  240. package/docs/src/core/components/ui/alert/alert.md +186 -0
  241. package/docs/src/core/components/ui/alert-messages/alert-messages.md +85 -0
  242. package/docs/src/core/components/ui/badge/badge.md +181 -0
  243. package/docs/src/core/components/ui/button/button.md +216 -0
  244. package/docs/src/core/components/ui/captcha/captcha.md +56 -0
  245. package/docs/src/core/components/ui/card/card.md +215 -0
  246. package/docs/src/core/components/ui/divider/divider.md +126 -0
  247. package/docs/src/core/components/ui/form/checkbox/checkbox.md +125 -0
  248. package/docs/src/core/components/ui/form/fieldset/fieldset.md +161 -0
  249. package/docs/src/core/components/ui/form/form-actions/form-actions.md +98 -0
  250. package/docs/src/core/components/ui/form/form-layout/form-layout.md +109 -0
  251. package/docs/src/core/components/ui/form/input/input.md +142 -0
  252. package/docs/src/core/components/ui/form/radio/radio.md +78 -0
  253. package/docs/src/core/components/ui/form/select/select.md +86 -0
  254. package/docs/src/core/components/ui/form/switch/switch.md +80 -0
  255. package/docs/src/core/components/ui/form/textarea/textarea.md +82 -0
  256. package/docs/src/core/components/ui/group/group.md +77 -0
  257. package/docs/src/core/components/ui/icon/icon.md +214 -0
  258. package/docs/src/core/components/ui/icon/icons.json +1 -0
  259. package/docs/src/core/components/ui/image/image.md +167 -0
  260. package/docs/src/core/components/ui/link/link.md +81 -0
  261. package/docs/src/core/components/ui/loader/loader.md +87 -0
  262. package/docs/src/core/components/ui/menu/menu.md +370 -0
  263. package/docs/src/core/components/ui/modal/modal.md +211 -0
  264. package/docs/src/core/components/ui/pop/pop.md +216 -0
  265. package/docs/src/core/components/ui/progress/progress.md +109 -0
  266. package/docs/src/core/components/ui/table/table.md +267 -0
  267. package/docs/src/core/components/ui/theme/theme.md +97 -0
  268. package/docs/src/core/components/ui/toast/toast.md +147 -0
  269. package/docs/src/core/components/ui/tooltip/tooltip.md +89 -0
  270. package/docs/src/docs/decorators/ancestor-attribute.md +59 -0
  271. package/docs/src/docs/decorators/auto-subscribe.md +40 -0
  272. package/docs/src/docs/decorators/bind.md +76 -0
  273. package/docs/src/docs/decorators/get.md +160 -0
  274. package/docs/src/docs/decorators/handle.md +119 -0
  275. package/docs/src/docs/decorators/on-assign.md +63 -0
  276. package/docs/src/docs/decorators/patch.md +44 -0
  277. package/docs/src/docs/decorators/post.md +134 -0
  278. package/docs/src/docs/decorators/publish.md +56 -0
  279. package/docs/src/docs/decorators/put.md +51 -0
  280. package/docs/src/docs/decorators/subscribe.md +87 -0
  281. package/docs/src/docs/decorators/wait-for-ancestors.md +76 -0
  282. package/docs/src/docs/directives/sub.md +75 -0
  283. package/docs/src/docs/directives/t.md +73 -0
  284. package/docs/src/docs/getting-started/ai-agents.md +50 -0
  285. package/docs/src/docs/getting-started/components.md +5 -0
  286. package/docs/src/docs/getting-started/create-a-component.md +136 -0
  287. package/docs/src/docs/getting-started/dataFlow.md +87 -0
  288. package/docs/src/docs/getting-started/installation.md +36 -0
  289. package/docs/src/docs/getting-started/my-first-component.md +227 -0
  290. package/docs/src/docs/getting-started/start.md +35 -0
  291. package/docs/src/docs/getting-started/theming.md +253 -0
  292. package/docs/src/docs/misc/api-configuration.md +79 -0
  293. package/docs/src/docs/misc/dataProviderKey.md +168 -0
  294. package/docs/src/docs/misc/docs-mock-api.md +62 -0
  295. package/docs/src/docs/misc/dynamic-path.md +71 -0
  296. package/docs/src/docs/misc/endpoint.md +45 -0
  297. package/docs/src/docs/misc/html-integration.md +14 -0
  298. package/docs/src/docs/search/docs-search.json +10332 -0
  299. package/docs/src/tag-list.json +1 -0
  300. package/docs/src/tsconfig-model.json +23 -0
  301. package/docs/src/tsconfig.json +1359 -0
  302. package/index.html +157 -5
  303. package/package.json +8 -4
  304. package/public/docs-mock-api-sw.js +58 -223
  305. package/public/docs-mock-api-sw.js.map +4 -4
  306. package/public/img/concorde/plane_01.jpg +0 -0
  307. package/public/img/concorde/plane_02.jpg +0 -0
  308. package/public/img/concorde/plane_03.jpg +0 -0
  309. package/public/img/concorde/plane_04.jpg +0 -0
  310. package/public/img/concorde/plane_05.jpg +0 -0
  311. package/public/img/concorde/plane_06.jpg +0 -0
  312. package/public/img/concorde/plane_07.jpg +0 -0
  313. package/public/img/concorde/plane_08.jpg +0 -0
  314. package/public/img/concorde/plane_09.jpg +0 -0
  315. package/public/img/concorde/plane_10.jpg +0 -0
  316. package/public/img/concorde/plane_11.jpg +0 -0
  317. package/public/img/concorde/plane_12.jpg +0 -0
  318. package/public/img/concorde/plane_13.jpg +0 -0
  319. package/public/img/og-concorde.jpg +0 -0
  320. package/public/robots.txt +11 -10
  321. package/scripts/ai-init.mjs +104 -379
  322. package/scripts/ai-init.test.mjs +81 -239
  323. package/scripts/docs-markdown-vite-plugin.ts +43 -0
  324. package/scripts/docs-public-url.mjs +56 -0
  325. package/scripts/docs.htaccess +82 -0
  326. package/scripts/generate-cem.mjs +244 -0
  327. package/scripts/generate-cem.test.mjs +122 -0
  328. package/scripts/generate-crawl-docs.mjs +233 -118
  329. package/scripts/generate-crawl-docs.test.mjs +124 -0
  330. package/scripts/generate-sdui-catalog.mjs +11 -10
  331. package/scripts/post-build-docs.js +37 -50
  332. package/scripts/pre-publish.mjs +2 -1
  333. package/scripts/site-pages.mjs +212 -0
  334. package/scripts/site-pages.test.mjs +116 -0
  335. package/site-pages/about.md +22 -0
  336. package/site-pages/privacy.md +32 -0
  337. package/src/core/components/functional/date/date.md +91 -231
  338. package/src/core/components/functional/fetch/fetch.md +66 -83
  339. package/src/core/components/functional/if/if.md +28 -3
  340. package/src/core/components/functional/jsonata/jsonata.md +42 -37
  341. package/src/core/components/functional/list/list.md +103 -43
  342. package/src/core/components/functional/mix/mix.md +31 -26
  343. package/src/core/components/functional/queue/queue.demo.ts +10 -7
  344. package/src/core/components/functional/queue/queue.md +40 -61
  345. package/src/core/components/functional/router/router.demo.ts +16 -16
  346. package/src/core/components/functional/router/router.md +64 -65
  347. package/src/core/components/functional/sdui/component-catalog.gaps.json +1 -1
  348. package/src/core/components/functional/sdui/component-catalog.json +1 -1
  349. package/src/core/components/functional/sdui/example.json +19 -86
  350. package/src/core/components/functional/sdui/sdui-extension-points.md +1 -1
  351. package/src/core/components/functional/sdui/sdui.md +187 -358
  352. package/src/core/components/functional/states/states.demo.ts +21 -22
  353. package/src/core/components/functional/states/states.md +86 -61
  354. package/src/core/components/functional/states/states.ts +1 -1
  355. package/src/core/components/functional/submit/submit.md +64 -72
  356. package/src/core/components/functional/translation/translation.md +38 -0
  357. package/src/core/components/functional/value/value.md +34 -22
  358. package/src/core/components/ui/alert/alert.md +48 -58
  359. package/src/core/components/ui/badge/badge.md +27 -34
  360. package/src/core/components/ui/button/button.md +139 -106
  361. package/src/core/components/ui/captcha/captcha.md +17 -32
  362. package/src/core/components/ui/card/card.md +6 -6
  363. package/src/core/components/ui/divider/divider.md +8 -11
  364. package/src/core/components/ui/form/checkbox/checkbox.md +90 -42
  365. package/src/core/components/ui/form/fieldset/fieldset.md +31 -75
  366. package/src/core/components/ui/form/form-actions/form-actions.md +14 -16
  367. package/src/core/components/ui/form/form-layout/form-layout.md +19 -29
  368. package/src/core/components/ui/form/input/input.md +95 -95
  369. package/src/core/components/ui/form/radio/radio.md +55 -34
  370. package/src/core/components/ui/form/select/select.md +60 -45
  371. package/src/core/components/ui/form/switch/switch.md +57 -34
  372. package/src/core/components/ui/form/textarea/textarea.md +55 -38
  373. package/src/core/components/ui/group/group.md +35 -33
  374. package/src/core/components/ui/icon/icon.md +4 -4
  375. package/src/core/components/ui/image/image.md +41 -107
  376. package/src/core/components/ui/link/link.md +6 -6
  377. package/src/core/components/ui/loader/loader.md +30 -55
  378. package/src/core/components/ui/menu/menu.md +27 -27
  379. package/src/core/components/ui/modal/modal.md +72 -96
  380. package/src/core/components/ui/pop/pop.md +80 -158
  381. package/src/core/components/ui/progress/progress.md +2 -2
  382. package/src/core/components/ui/table/table.md +91 -255
  383. package/src/core/components/ui/theme/theme.md +11 -36
  384. package/src/core/components/ui/toast/toast.md +48 -117
  385. package/src/core/components/ui/tooltip/tooltip.md +27 -62
  386. package/src/core/decorators/subscriber/bind.ts +9 -14
  387. package/src/core/utils/LocationHandler.spec.ts +80 -0
  388. package/src/core/utils/LocationHandler.ts +5 -9
  389. package/src/docs/components/docs-demo-sources.ts +55 -140
  390. package/src/docs/components/docs-lit-demo.ts +1 -3
  391. package/src/docs/components/docs-source-link.ts +0 -82
  392. package/src/docs/decorators/ancestor-attribute.md +59 -0
  393. package/src/docs/decorators/auto-subscribe.md +40 -0
  394. package/src/docs/decorators/bind.md +76 -0
  395. package/src/docs/decorators/get.md +160 -0
  396. package/src/docs/decorators/handle.md +119 -0
  397. package/src/docs/decorators/on-assign.md +63 -0
  398. package/src/docs/decorators/patch.md +44 -0
  399. package/src/docs/decorators/post.md +134 -0
  400. package/src/docs/decorators/publish.md +56 -0
  401. package/src/docs/decorators/put.md +51 -0
  402. package/src/docs/decorators/subscribe.md +87 -0
  403. package/src/docs/decorators/wait-for-ancestors.md +76 -0
  404. package/src/docs/directives/sub.md +75 -0
  405. package/src/docs/directives/t.md +73 -0
  406. package/src/docs/docs-location.spec.ts +56 -0
  407. package/src/docs/docs-location.ts +133 -32
  408. package/src/docs/docs.ts +1 -2
  409. package/src/docs/example/decorators-demo-bind-demos.ts +83 -135
  410. package/src/docs/example/decorators-demo-geo.ts +30 -19
  411. package/src/docs/example/decorators-demo-post.ts +88 -186
  412. package/src/docs/example/decorators-demo-subscribe-publish-get-demos.ts +165 -268
  413. package/src/docs/example/decorators-demo.ts +85 -98
  414. package/src/docs/example/docs-api-config-demos.ts +19 -20
  415. package/src/docs/example/docs-flight-demos.ts +147 -0
  416. package/src/docs/example/docs-jsonata-demos.ts +52 -52
  417. package/src/docs/example/docs-list-demos.ts +43 -123
  418. package/src/docs/example/docs-provider-keys.ts +21 -28
  419. package/src/docs/example/docs-queue-demos.ts +37 -77
  420. package/src/docs/example/docs-router-demos.ts +20 -25
  421. package/src/docs/example/docs-submit-demos.ts +48 -48
  422. package/src/docs/example/docs-toggle-demos.ts +4 -3
  423. package/src/docs/getting-started/ai-agents.md +50 -0
  424. package/src/docs/getting-started/components.md +5 -0
  425. package/src/docs/getting-started/create-a-component.md +136 -0
  426. package/src/docs/getting-started/dataFlow.md +87 -0
  427. package/src/docs/getting-started/installation.md +36 -0
  428. package/src/docs/getting-started/my-first-component.md +227 -0
  429. package/src/docs/getting-started/start.md +35 -0
  430. package/src/docs/getting-started/theming.md +253 -0
  431. package/src/docs/header/header.ts +11 -6
  432. package/src/docs/home/catalog.ts +1 -1
  433. package/src/docs/home/home.ts +20 -11
  434. package/src/docs/layout.ts +12 -13
  435. package/src/docs/misc/api-configuration.md +79 -0
  436. package/src/docs/misc/dataProviderKey.md +168 -0
  437. package/src/docs/misc/docs-mock-api.md +62 -0
  438. package/src/docs/misc/dynamic-path.md +71 -0
  439. package/src/docs/misc/endpoint.md +45 -0
  440. package/src/docs/misc/html-integration.md +14 -0
  441. package/src/docs/mock-api/api-config-mock.ts +5 -0
  442. package/src/docs/mock-api/fixtures.ts +0 -278
  443. package/src/docs/mock-api/flights.ts +89 -0
  444. package/src/docs/mock-api/router.ts +3 -4
  445. package/src/docs/mock-api/urls.ts +1 -2
  446. package/src/docs/navigation/navigation.ts +82 -103
  447. package/src/docs/navigation/toc.ts +7 -4
  448. package/src/docs/search/docs-search.json +2804 -5024
  449. package/src/docs/search/markdown-renderer.ts +31 -8
  450. package/src/docs/search/page.ts +9 -6
  451. package/src/docs/search/search.ts +154 -122
  452. package/src/docs/tailwind/css/docs/content.css +4 -5
  453. package/src/tsconfig.json +11 -5
  454. package/src/tsconfig.tsbuildinfo +1 -1
  455. package/vite.config.mts +11 -2
  456. package/.agents/skills/concorde-component-docs/SKILL.md +0 -194
  457. package/ai/AGENTS.md +0 -56
  458. package/ai/cursor/rules/concorde-menu.mdc +0 -15
  459. package/ai/cursor/rules/concorde-scope.mdc +0 -14
  460. package/ai/cursor/rules/concorde-theme.mdc +0 -13
  461. package/ai/cursor/rules/concorde.mdc +0 -66
  462. package/ai/jetbrains/rules/concorde.md +0 -53
  463. package/ai/skills/concorde-get-set-dp/SKILL.md +0 -194
  464. package/ai/skills/concorde-imports/SKILL.md +0 -78
  465. package/ai/skills/concorde-menu/SKILL.md +0 -74
  466. package/ai/skills/concorde-scope/SKILL.md +0 -70
  467. package/ai/skills/concorde-theme/SKILL.md +0 -57
  468. package/docs/assets/index-CD4WyL6o.css +0 -1
  469. package/src/core/components/ui/form/input-autocomplete/input-autocomplete.md +0 -29
  470. package/src/docs/_core-concept/overview.md +0 -57
  471. package/src/docs/_core-concept/subscriber.md +0 -75
  472. package/src/docs/_decorators/ancestor-attribute.md +0 -128
  473. package/src/docs/_decorators/auto-subscribe.md +0 -202
  474. package/src/docs/_decorators/bind.md +0 -167
  475. package/src/docs/_decorators/get.md +0 -162
  476. package/src/docs/_decorators/handle.md +0 -175
  477. package/src/docs/_decorators/on-assign.md +0 -390
  478. package/src/docs/_decorators/patch.md +0 -70
  479. package/src/docs/_decorators/post.md +0 -146
  480. package/src/docs/_decorators/publish.md +0 -55
  481. package/src/docs/_decorators/put.md +0 -70
  482. package/src/docs/_decorators/subscribe.md +0 -100
  483. package/src/docs/_decorators/wait-for-ancestors.md +0 -163
  484. package/src/docs/_directives/sub.md +0 -91
  485. package/src/docs/_getting-started/ai-agents.md +0 -76
  486. package/src/docs/_getting-started/concorde-manual-install.md +0 -133
  487. package/src/docs/_getting-started/concorde-outside.md +0 -33
  488. package/src/docs/_getting-started/my-first-subscriber.md +0 -120
  489. package/src/docs/_getting-started/pubsub.md +0 -37
  490. package/src/docs/_misc/formelement-subscriber-removal.md +0 -115
  491. package/src/docs/example/docs-input-autocomplete-demos.ts +0 -110
  492. package/src/docs/example/docs-joke-demos.ts +0 -297
  493. /package/{src/docs/_getting-started → docs/docs/getting-started}/components.md +0 -0
  494. /package/{src/docs/_getting-started → docs/docs/getting-started}/theming.md +0 -0
@@ -1,12 +1,12 @@
1
1
  # Pop
2
2
 
3
- **`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; default **`placement`** is **`bottom`** (start-aligned). Position updates while open and flips inside the viewport when space is tight.
3
+ **`sonic-pop`** anchors a floating panel to a trigger: put the control in the default slot and the panel (menu, form, any markup) in **`slot="content"`**. A click on the trigger toggles the panel unless **`manual`** is set. The panel follows the trigger while open and flips to stay inside the viewport.
4
4
 
5
5
  ## Basic example
6
6
 
7
7
  <sonic-code>
8
8
  <template>
9
- <sonic-pop class="inline-block">
9
+ <sonic-pop>
10
10
  <sonic-button>Notifications</sonic-button>
11
11
  <sonic-menu slot="content">
12
12
  <sonic-menu-item>
@@ -24,91 +24,42 @@
24
24
 
25
25
  ## Placement
26
26
 
27
- Use **`top`** · **`bottom`** · **`left`** · **`right`** for the main axis. Add **`-start`** · **`-center`** · **`-end`** to align along the trigger edge. With no align suffix, content aligns to **`start`**. Legacy space syntax (`placement="bottom center"`) still works but is deprecated—prefer **`bottom-center`**.
27
+ **`placement`** is a side (`top` · `bottom` · `left` · `right`) with an optional alignment suffix (`-start` · `-center` · `-end`). Default is `bottom`; without a suffix, the panel aligns to `start`. The space syntax (`bottom center`) is deprecated.
28
28
 
29
29
  <sonic-code>
30
30
  <template>
31
31
  <div class="flex flex-wrap gap-2">
32
- <sonic-pop class="inline-block" placement="left">
33
- <sonic-button>Left</sonic-button>
34
- <sonic-menu slot="content">
35
- <sonic-menu-item>
36
- <sonic-icon library="iconoir" name="bell-notification" slot="prefix"></sonic-icon>
37
- Notifications
38
- </sonic-menu-item>
39
- </sonic-menu>
40
- </sonic-pop>
41
- <sonic-pop class="inline-block" placement="right">
42
- <sonic-button>Right</sonic-button>
43
- <sonic-menu slot="content">
44
- <sonic-menu-item>
45
- <sonic-icon library="iconoir" name="bell-notification" slot="prefix"></sonic-icon>
46
- Notifications
47
- </sonic-menu-item>
48
- </sonic-menu>
49
- </sonic-pop>
50
- <sonic-pop class="inline-block" placement="top">
32
+ <sonic-pop placement="top">
51
33
  <sonic-button>Top</sonic-button>
52
- <sonic-menu slot="content">
53
- <sonic-menu-item>
54
- <sonic-icon library="iconoir" name="bell-notification" slot="prefix"></sonic-icon>
55
- Notifications
56
- </sonic-menu-item>
57
- </sonic-menu>
34
+ <sonic-menu slot="content"><sonic-menu-item>Item</sonic-menu-item></sonic-menu>
58
35
  </sonic-pop>
59
- <sonic-pop class="inline-block" placement="bottom">
36
+ <sonic-pop placement="bottom">
60
37
  <sonic-button>Bottom</sonic-button>
61
- <sonic-menu slot="content">
62
- <sonic-menu-item>
63
- <sonic-icon library="iconoir" name="bell-notification" slot="prefix"></sonic-icon>
64
- Notifications
65
- </sonic-menu-item>
66
- </sonic-menu>
38
+ <sonic-menu slot="content"><sonic-menu-item>Item</sonic-menu-item></sonic-menu>
67
39
  </sonic-pop>
68
- </div>
69
- </template>
70
- </sonic-code>
71
-
72
- ### Center-aligned sides
73
-
74
- <sonic-code>
75
- <template>
76
- <div class="flex flex-wrap gap-2">
77
- <sonic-pop class="inline-block" placement="bottom-center">
78
- <sonic-button>Bottom center</sonic-button>
79
- <sonic-menu slot="content">
80
- <sonic-menu-item>
81
- <sonic-icon library="iconoir" name="bell-notification" slot="prefix"></sonic-icon>
82
- Notifications
83
- </sonic-menu-item>
84
- </sonic-menu>
40
+ <sonic-pop placement="left">
41
+ <sonic-button>Left</sonic-button>
42
+ <sonic-menu slot="content"><sonic-menu-item>Item</sonic-menu-item></sonic-menu>
43
+ </sonic-pop>
44
+ <sonic-pop placement="right">
45
+ <sonic-button>Right</sonic-button>
46
+ <sonic-menu slot="content"><sonic-menu-item>Item</sonic-menu-item></sonic-menu>
85
47
  </sonic-pop>
86
- <sonic-pop class="inline-block" placement="top-center">
48
+ <sonic-pop placement="top-center">
87
49
  <sonic-button>Top center</sonic-button>
88
- <sonic-menu slot="content">
89
- <sonic-menu-item>
90
- <sonic-icon library="iconoir" name="bell-notification" slot="prefix"></sonic-icon>
91
- Notifications
92
- </sonic-menu-item>
93
- </sonic-menu>
50
+ <sonic-menu slot="content"><sonic-menu-item>Item</sonic-menu-item></sonic-menu>
94
51
  </sonic-pop>
95
- <sonic-pop class="inline-block" placement="left-center">
52
+ <sonic-pop placement="bottom-center">
53
+ <sonic-button>Bottom center</sonic-button>
54
+ <sonic-menu slot="content"><sonic-menu-item>Item</sonic-menu-item></sonic-menu>
55
+ </sonic-pop>
56
+ <sonic-pop placement="left-center">
96
57
  <sonic-button>Left center</sonic-button>
97
- <sonic-menu slot="content">
98
- <sonic-menu-item>
99
- <sonic-icon library="iconoir" name="bell-notification" slot="prefix"></sonic-icon>
100
- Notifications
101
- </sonic-menu-item>
102
- </sonic-menu>
58
+ <sonic-menu slot="content"><sonic-menu-item>Item</sonic-menu-item></sonic-menu>
103
59
  </sonic-pop>
104
- <sonic-pop class="inline-block" placement="right-center">
105
- <sonic-button>Right center</sonic-button>
106
- <sonic-menu slot="content">
107
- <sonic-menu-item>
108
- <sonic-icon library="iconoir" name="bell-notification" slot="prefix"></sonic-icon>
109
- Notifications
110
- </sonic-menu-item>
111
- </sonic-menu>
60
+ <sonic-pop placement="bottom-end">
61
+ <sonic-button>Bottom end</sonic-button>
62
+ <sonic-menu slot="content"><sonic-menu-item>Item</sonic-menu-item></sonic-menu>
112
63
  </sonic-pop>
113
64
  </div>
114
65
  </template>
@@ -116,46 +67,26 @@ Use **`top`** · **`bottom`** · **`left`** · **`right`** for the main axis. Ad
116
67
 
117
68
  ## Shadow
118
69
 
119
- Default **`shadow`** is **`lg`**. The shadow applies to the floating **`content`** panel.
70
+ The panel shadow defaults to `lg`.
120
71
 
121
72
  <sonic-code>
122
73
  <template>
123
74
  <div class="flex flex-wrap gap-2">
124
- <sonic-pop class="inline-block" shadow="none" placement="top">
75
+ <sonic-pop shadow="none">
125
76
  <sonic-button>None</sonic-button>
126
- <sonic-menu slot="content">
127
- <sonic-menu-item>
128
- <sonic-icon library="iconoir" name="bell-notification" slot="prefix"></sonic-icon>
129
- Notifications
130
- </sonic-menu-item>
131
- </sonic-menu>
77
+ <sonic-menu slot="content"><sonic-menu-item>Item</sonic-menu-item></sonic-menu>
132
78
  </sonic-pop>
133
- <sonic-pop class="inline-block" shadow="sm" placement="top">
79
+ <sonic-pop shadow="sm">
134
80
  <sonic-button>Small</sonic-button>
135
- <sonic-menu slot="content">
136
- <sonic-menu-item>
137
- <sonic-icon library="iconoir" name="bell-notification" slot="prefix"></sonic-icon>
138
- Notifications
139
- </sonic-menu-item>
140
- </sonic-menu>
81
+ <sonic-menu slot="content"><sonic-menu-item>Item</sonic-menu-item></sonic-menu>
141
82
  </sonic-pop>
142
- <sonic-pop class="inline-block" shadow="md" placement="top">
83
+ <sonic-pop shadow="md">
143
84
  <sonic-button>Medium</sonic-button>
144
- <sonic-menu slot="content">
145
- <sonic-menu-item>
146
- <sonic-icon library="iconoir" name="bell-notification" slot="prefix"></sonic-icon>
147
- Notifications
148
- </sonic-menu-item>
149
- </sonic-menu>
85
+ <sonic-menu slot="content"><sonic-menu-item>Item</sonic-menu-item></sonic-menu>
150
86
  </sonic-pop>
151
- <sonic-pop class="inline-block" shadow="lg" placement="top">
87
+ <sonic-pop shadow="lg">
152
88
  <sonic-button>Large</sonic-button>
153
- <sonic-menu slot="content">
154
- <sonic-menu-item>
155
- <sonic-icon library="iconoir" name="bell-notification" slot="prefix"></sonic-icon>
156
- Notifications
157
- </sonic-menu-item>
158
- </sonic-menu>
89
+ <sonic-menu slot="content"><sonic-menu-item>Item</sonic-menu-item></sonic-menu>
159
90
  </sonic-pop>
160
91
  </div>
161
92
  </template>
@@ -163,48 +94,38 @@ Default **`shadow`** is **`lg`**. The shadow applies to the floating **`content`
163
94
 
164
95
  ## Inline
165
96
 
166
- By default the host is middle-aligned with siblings. Set **`inline`** to baseline-align the trigger inside running text.
97
+ The host is middle-aligned by default. Set **`inline`** to baseline-align a trigger inside running text.
167
98
 
168
99
  <sonic-code>
169
100
  <template>
170
101
  <p>
171
- The Concorde flew from Paris to
102
+ You are signed in as
172
103
  <sonic-pop inline>
173
- <sonic-button variant="link">New York</sonic-button>
104
+ <sonic-button variant="link">ada.lindqvist@example.com</sonic-button>
174
105
  <sonic-menu slot="content">
175
- <sonic-menu-item>See flights</sonic-menu-item>
176
- <sonic-menu-item>Book a seat</sonic-menu-item>
106
+ <sonic-menu-item>Profile</sonic-menu-item>
107
+ <sonic-menu-item>Sign out</sonic-menu-item>
177
108
  </sonic-menu>
178
109
  </sonic-pop>
179
- in about 3.5 hours.
110
+ on this device.
180
111
  </p>
181
112
  </template>
182
113
  </sonic-code>
183
114
 
184
115
  ## No toggle
185
116
 
186
- With **`noToggle`**, a click on the trigger still opens the pop but does not close it when it is already open. Use **`hide()`** or an outside click to dismiss.
117
+ With **`noToggle`**, clicking the trigger opens the pop but does not close it. Close it with an outside click, Escape or **`hide()`**.
187
118
 
188
119
  <sonic-code>
189
120
  <template>
190
121
  <div class="flex flex-wrap gap-2">
191
- <sonic-pop class="inline-block" noToggle>
192
- <sonic-button>No toggle on click</sonic-button>
193
- <sonic-menu slot="content">
194
- <sonic-menu-item>
195
- <sonic-icon library="iconoir" name="bell-notification" slot="prefix"></sonic-icon>
196
- Notifications
197
- </sonic-menu-item>
198
- </sonic-menu>
122
+ <sonic-pop noToggle>
123
+ <sonic-button>No toggle</sonic-button>
124
+ <sonic-menu slot="content"><sonic-menu-item>Item</sonic-menu-item></sonic-menu>
199
125
  </sonic-pop>
200
- <sonic-pop class="inline-block">
201
- <sonic-button>Default toggle on click</sonic-button>
202
- <sonic-menu slot="content">
203
- <sonic-menu-item>
204
- <sonic-icon library="iconoir" name="bell-notification" slot="prefix"></sonic-icon>
205
- Notifications
206
- </sonic-menu-item>
207
- </sonic-menu>
126
+ <sonic-pop>
127
+ <sonic-button>Default toggle</sonic-button>
128
+ <sonic-menu slot="content"><sonic-menu-item>Item</sonic-menu-item></sonic-menu>
208
129
  </sonic-pop>
209
130
  </div>
210
131
  </template>
@@ -212,58 +133,55 @@ With **`noToggle`**, a click on the trigger still opens the pop but does not clo
212
133
 
213
134
  ## Manual control
214
135
 
215
- Set **`manual`** to disable built-in click and keyboard toggle on the trigger. Call **`show()`** and **`hide()`** on the element instead. The pop dispatches **`show`** when it opens and **`hide`** when it closes.
216
-
217
- Click **Click to open pop** to open the panel programmatically.
136
+ **`manual`** disables the built-in click and keyboard handling on the trigger. Call **`show()`** and **`hide()`** instead.
218
137
 
219
138
  <sonic-code>
220
139
  <template>
221
- <sonic-pop class="inline-block" manual id="manualPop">
222
- <sonic-button onclick="alert('Custom action without opening the pop')">Manual trigger</sonic-button>
140
+ <sonic-pop manual id="manualPop">
141
+ <sonic-button onclick="alert('Custom action, the pop stays closed')">Manual trigger</sonic-button>
223
142
  <sonic-menu slot="content">
224
- <sonic-menu-item>It worked!</sonic-menu-item>
143
+ <sonic-menu-item>Opened from script</sonic-menu-item>
225
144
  </sonic-menu>
226
145
  </sonic-pop>
227
146
  <sonic-button onclick="document.getElementById('manualPop').show()" class="ml-5" variant="outline">
228
- <sonic-icon name="sparkles" library="custom"></sonic-icon>
229
- Click to open pop
147
+ Open the pop
230
148
  </sonic-button>
231
149
  </template>
232
150
  </sonic-code>
233
151
 
234
152
  ## Keep open on select
235
153
 
236
- By default, a click inside **`content`** closes the pop (same as an outside click). Set **`data-on-select="keep"`** on the panel or a descendant to keep it open while selecting checkboxes, toggles, or menu items.
154
+ A click inside the panel closes the pop by default. Set **`data-on-select="keep"`** on the panel or a descendant to keep it open, for example while ticking checkboxes.
237
155
 
238
156
  <sonic-code>
239
157
  <template>
240
158
  <div class="flex flex-wrap gap-2">
241
- <sonic-pop class="inline-block">
159
+ <sonic-pop>
242
160
  <sonic-button>Closes on select</sonic-button>
243
161
  <div slot="content" class="grid gap-2 p-3">
244
- <sonic-checkbox>Option A</sonic-checkbox>
245
- <sonic-checkbox>Option B</sonic-checkbox>
162
+ <sonic-checkbox>Window seat</sonic-checkbox>
163
+ <sonic-checkbox>Extra baggage</sonic-checkbox>
246
164
  </div>
247
165
  </sonic-pop>
248
- <sonic-pop class="inline-block">
166
+ <sonic-pop>
249
167
  <sonic-button>Stays open on select</sonic-button>
250
168
  <div slot="content" class="grid gap-2 p-3" data-on-select="keep">
251
- <sonic-checkbox>Option A</sonic-checkbox>
252
- <sonic-checkbox>Option B</sonic-checkbox>
169
+ <sonic-checkbox>Window seat</sonic-checkbox>
170
+ <sonic-checkbox>Extra baggage</sonic-checkbox>
253
171
  </div>
254
172
  </sonic-pop>
255
173
  </div>
256
174
  </template>
257
175
  </sonic-code>
258
176
 
259
- ## Keyboard and dismissal
177
+ ## Keyboard
260
178
 
261
- **`ArrowDown`** on the trigger opens the pop when it is closed. **`Escape`** closes the most recently opened pop (capture phase, before ancestors such as **`sonic-modal`**) and returns focus to that trigger. Multiple pops on the page stack in open order for Escape.
179
+ **ArrowDown** on the trigger opens the pop. **Escape** closes the most recently opened pop, before an enclosing `sonic-modal`, and returns focus to its trigger.
262
180
 
263
181
  <sonic-code>
264
182
  <template>
265
- <sonic-pop class="inline-block">
266
- <sonic-button>Focus me — ArrowDown opens, Escape closes</sonic-button>
183
+ <sonic-pop>
184
+ <sonic-button>Focus me, then press ArrowDown</sonic-button>
267
185
  <sonic-menu slot="content">
268
186
  <sonic-menu-item>First item</sonic-menu-item>
269
187
  <sonic-menu-item>Second item</sonic-menu-item>
@@ -276,19 +194,23 @@ By default, a click inside **`content`** closes the pop (same as an outside clic
276
194
 
277
195
  | Attribute | Values | Description |
278
196
  |----------|---------|-------------|
279
- | `placement` | `bottom` (default) · `top` · `left` · `right` · `top-start` · `top-center` · `top-end` · `bottom-start` · `bottom-center` · `bottom-end` · `left-start` · `left-center` · `left-end` · `right-start` · `right-center` · `right-end` | Side and alignment relative to the trigger; repositions while open and flips within the viewport |
280
- | `shadow` | `none` · `sm` · `md` · `lg` (default `lg`) | Box shadow on the **`content`** panel |
281
- | `inline` | boolean | Baseline-align the host for inline triggers |
282
- | `noToggle` | boolean | When open, trigger click does not close the pop |
283
- | `manual` | boolean | Disable default trigger toggle; use **`show()`** / **`hide()`** |
197
+ | `placement` | `top` · `bottom` (default) · `left` · `right`, each with optional `-start` · `-center` · `-end` | Side and alignment relative to the trigger |
198
+ | `shadow` | `none` · `sm` · `md` · `lg` (default `lg`) | Panel shadow |
199
+ | `inline` | boolean | Baseline-align the host in text |
200
+ | `noToggle` | boolean | A trigger click does not close an open pop |
201
+ | `manual` | boolean | Disable trigger click and keyboard handling |
284
202
 
285
203
  | Slot | Description |
286
204
  |------|-------------|
287
- | *(default)* | Trigger; listens for **`click`** and **`keydown`** (`ArrowDown` opens when closed) unless **`manual`** |
288
- | `content` | Floating panel; receives focus **`tabindex="0"`** while open |
289
-
290
- **Methods:** **`show()`** · **`hide()`** on the host element.
291
-
292
- **Events:** **`show`** · **`hide`** (non-bubbling **`CustomEvent`**).
293
-
294
- **Content attribute:** **`data-on-select="keep"`** on **`content`** or descendants prevents close-on-click inside the panel.
205
+ | *(default)* | Trigger |
206
+ | `content` | Floating panel; `data-on-select="keep"` inside it prevents close on click |
207
+
208
+ | Method | Description |
209
+ |--------|-------------|
210
+ | `show()` | Open the panel |
211
+ | `hide()` | Close the panel |
212
+
213
+ | Event | Description |
214
+ |-------|-------------|
215
+ | `show` | Panel opened |
216
+ | `hide` | Panel closed |
@@ -8,7 +8,7 @@ Set **`value`** from `0` to **`max`** (default `100`). Label text uses the type
8
8
 
9
9
  <sonic-code>
10
10
  <template>
11
- <sonic-progress value="50">50%</sonic-progress>
11
+ <sonic-progress value="50">Boarding 50%</sonic-progress>
12
12
  </template>
13
13
  </sonic-code>
14
14
 
@@ -65,7 +65,7 @@ The default slot is the main label (left). **`remaining`** is right-aligned with
65
65
  <sonic-code>
66
66
  <template>
67
67
  <sonic-progress type="danger" value="80">
68
- 80% Used <span slot="remaining">20% left</span>
68
+ 80% fuel used <span slot="remaining">20% left</span>
69
69
  </sonic-progress>
70
70
  </template>
71
71
  </sonic-code>