@supersoniks/concorde 5.1.2 → 5.1.3-immutable.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 (497) hide show
  1. package/.agents/skills/concorde-docs/SKILL.md +1 -1
  2. package/.claude/skills +1 -0
  3. package/.github/workflows/ci.yml +21 -0
  4. package/.github-export-ignore +30 -0
  5. package/CONTRIBUTING.md +59 -0
  6. package/DEV.md +54 -0
  7. package/LICENSE +21 -0
  8. package/OPEN_SOURCE_CHECKPOINT.md +133 -0
  9. package/README.md +1 -1
  10. package/ai/README.md +29 -41
  11. package/ai/skills/concorde/SKILL.md +54 -324
  12. package/ai/skills/concorde/rules/composition.md +32 -0
  13. package/ai/skills/concorde/rules/data.md +47 -0
  14. package/ai/skills/concorde/rules/http.md +25 -0
  15. package/ai/skills/concorde/rules/lists-forms.md +35 -0
  16. package/ai/skills/concorde/rules/styling.md +46 -0
  17. package/ai/skills/concorde/rules/troubleshooting.md +45 -0
  18. package/build-infos.json +1 -1
  19. package/concorde-core.bundle.js +177 -177
  20. package/concorde-core.es.js +5183 -5018
  21. package/custom-elements-manifest.public.config.mjs +8 -0
  22. package/{.tmp-cem/custom-elements.json → custom-elements.json} +11722 -8868
  23. package/dist/concorde-core.bundle.js +177 -177
  24. package/dist/concorde-core.es.js +5183 -5018
  25. package/dist/docs-mock-api-sw.js +58 -223
  26. package/dist/docs-mock-api-sw.js.map +4 -4
  27. package/dist/img/og-concorde.jpg +0 -0
  28. package/dist/robots.txt +11 -10
  29. package/docs/assets/index-CD4WyL6o.css +1 -0
  30. package/docs/assets/index-D_alEsng.js +12122 -0
  31. package/docs/crawl/core/components/functional/date/date.html +190 -0
  32. package/docs/crawl/core/components/functional/fetch/fetch.html +109 -0
  33. package/docs/crawl/core/components/functional/if/if.html +27 -0
  34. package/docs/crawl/core/components/functional/jsonata/jsonata.html +79 -0
  35. package/docs/crawl/core/components/functional/list/list.html +70 -0
  36. package/docs/crawl/core/components/functional/mix/mix.html +45 -0
  37. package/docs/crawl/core/components/functional/queue/queue.html +96 -0
  38. package/docs/crawl/core/components/functional/router/router.html +106 -0
  39. package/docs/{core → crawl/core}/components/functional/sdui/sdui-extension-points.html +8 -9
  40. package/docs/crawl/core/components/functional/sdui/sdui.html +368 -0
  41. package/docs/crawl/core/components/functional/states/states.html +66 -0
  42. package/docs/crawl/core/components/functional/submit/submit.html +160 -0
  43. package/docs/{core → crawl/core}/components/functional/subscriber/subscriber.html +5 -6
  44. package/docs/crawl/core/components/functional/value/value.html +51 -0
  45. package/docs/{core → crawl/core}/components/ui/alert/alert.html +63 -53
  46. package/docs/{core → crawl/core}/components/ui/alert-messages/alert-messages.html +5 -6
  47. package/docs/{core → crawl/core}/components/ui/badge/badge.html +33 -33
  48. package/docs/crawl/core/components/ui/button/button.html +150 -0
  49. package/docs/crawl/core/components/ui/captcha/captcha.html +112 -0
  50. package/docs/{core → crawl/core}/components/ui/card/card.html +11 -12
  51. package/docs/{core → crawl/core}/components/ui/divider/divider.html +14 -14
  52. package/docs/crawl/core/components/ui/form/checkbox/checkbox.html +73 -0
  53. package/docs/crawl/core/components/ui/form/fieldset/fieldset.html +266 -0
  54. package/docs/{core → crawl/core}/components/ui/form/form-actions/form-actions.html +23 -23
  55. package/docs/crawl/core/components/ui/form/form-layout/form-layout.html +121 -0
  56. package/docs/crawl/core/components/ui/form/input/input.html +109 -0
  57. package/docs/crawl/core/components/ui/form/input-autocomplete/input-autocomplete.html +38 -0
  58. package/docs/crawl/core/components/ui/form/radio/radio.html +56 -0
  59. package/docs/crawl/core/components/ui/form/select/select.html +73 -0
  60. package/docs/crawl/core/components/ui/form/switch/switch.html +56 -0
  61. package/docs/crawl/core/components/ui/form/textarea/textarea.html +59 -0
  62. package/docs/crawl/core/components/ui/group/group.html +104 -0
  63. package/docs/{core → crawl/core}/components/ui/icon/icon.html +9 -10
  64. package/docs/crawl/core/components/ui/image/image.html +298 -0
  65. package/docs/{core → crawl/core}/components/ui/link/link.html +11 -12
  66. package/docs/crawl/core/components/ui/loader/loader.html +124 -0
  67. package/docs/{core → crawl/core}/components/ui/menu/menu.html +33 -34
  68. package/docs/crawl/core/components/ui/modal/modal.html +342 -0
  69. package/docs/crawl/core/components/ui/pop/pop.html +296 -0
  70. package/docs/{core → crawl/core}/components/ui/progress/progress.html +7 -8
  71. package/docs/crawl/core/components/ui/table/table.html +545 -0
  72. package/docs/crawl/core/components/ui/theme/theme.html +131 -0
  73. package/docs/crawl/core/components/ui/toast/toast.html +233 -0
  74. package/docs/crawl/core/components/ui/tooltip/tooltip.html +140 -0
  75. package/docs/{docs/getting-started → crawl/docs/_core-concept}/dataFlow.html +29 -26
  76. package/docs/crawl/docs/_core-concept/overview.html +66 -0
  77. package/docs/crawl/docs/_core-concept/subscriber.html +75 -0
  78. package/docs/crawl/docs/_decorators/ancestor-attribute.html +117 -0
  79. package/docs/crawl/docs/_decorators/auto-subscribe.html +202 -0
  80. package/docs/crawl/docs/_decorators/bind.html +141 -0
  81. package/docs/crawl/docs/_decorators/get.html +149 -0
  82. package/docs/crawl/docs/_decorators/handle.html +165 -0
  83. package/docs/crawl/docs/_decorators/on-assign.html +355 -0
  84. package/docs/crawl/docs/_decorators/patch.html +78 -0
  85. package/docs/crawl/docs/_decorators/post.html +139 -0
  86. package/docs/crawl/docs/_decorators/publish.html +61 -0
  87. package/docs/crawl/docs/_decorators/put.html +78 -0
  88. package/docs/crawl/docs/_decorators/subscribe.html +109 -0
  89. package/docs/crawl/docs/_decorators/wait-for-ancestors.html +137 -0
  90. package/docs/crawl/docs/_directives/sub.html +93 -0
  91. package/docs/{docs/getting-started → crawl/docs/_getting-started}/ai-agents.html +11 -12
  92. package/docs/crawl/docs/_getting-started/concorde-manual-install.html +100 -0
  93. package/docs/crawl/docs/_getting-started/concorde-outside.html +58 -0
  94. package/docs/{docs/getting-started → crawl/docs/_getting-started}/create-a-component.html +14 -11
  95. package/docs/{docs/getting-started → crawl/docs/_getting-started}/my-first-component.html +22 -13
  96. package/docs/crawl/docs/_getting-started/my-first-subscriber.html +110 -0
  97. package/docs/crawl/docs/_getting-started/pubsub.html +62 -0
  98. package/docs/crawl/docs/_getting-started/start.html +76 -0
  99. package/docs/{docs/getting-started → crawl/docs/_getting-started}/theming.html +9 -10
  100. package/docs/{docs/misc → crawl/docs/_misc}/api-configuration.html +18 -18
  101. package/docs/{docs/misc → crawl/docs/_misc}/dataProviderKey.html +11 -12
  102. package/docs/{docs/misc → crawl/docs/_misc}/docs-mock-api.html +28 -25
  103. package/docs/{docs/misc → crawl/docs/_misc}/dynamic-path.html +15 -16
  104. package/docs/{docs/misc → crawl/docs/_misc}/endpoint.html +15 -16
  105. package/docs/crawl/docs/_misc/formelement-subscriber-removal.html +138 -0
  106. package/docs/{docs/misc → crawl/docs/_misc}/html-integration.html +15 -12
  107. package/docs/crawl/hubs/decorators.html +547 -0
  108. package/docs/crawl/hubs/form-components.html +381 -0
  109. package/docs/crawl/hubs/remote-data.html +452 -0
  110. package/docs/crawl/index.html +103 -0
  111. package/docs/docs-mock-api-sw.js +223 -58
  112. package/docs/docs-mock-api-sw.js.map +4 -4
  113. package/docs/index.html +68 -95
  114. package/docs/llms-full.txt +3610 -2231
  115. package/docs/llms.txt +86 -94
  116. package/docs/robots.txt +10 -11
  117. package/docs/sitemap.xml +84 -78
  118. package/docs/src/core/components/functional/date/date.md +231 -91
  119. package/docs/src/core/components/functional/fetch/fetch.md +83 -66
  120. package/docs/src/core/components/functional/if/if.md +3 -28
  121. package/docs/src/core/components/functional/jsonata/jsonata.md +37 -42
  122. package/docs/src/core/components/functional/list/list.md +43 -99
  123. package/docs/src/core/components/functional/mix/mix.md +26 -31
  124. package/docs/src/core/components/functional/queue/queue.md +61 -40
  125. package/docs/src/core/components/functional/router/router.md +65 -64
  126. package/docs/src/core/components/functional/sdui/component-catalog.gaps.json +1 -1
  127. package/docs/src/core/components/functional/sdui/component-catalog.json +1 -1
  128. package/docs/src/core/components/functional/sdui/example.json +86 -19
  129. package/docs/src/core/components/functional/sdui/sdui-extension-points.md +1 -1
  130. package/docs/src/core/components/functional/sdui/sdui.md +358 -187
  131. package/docs/src/core/components/functional/states/states.md +61 -86
  132. package/docs/src/core/components/functional/submit/submit.md +72 -64
  133. package/docs/src/core/components/functional/value/value.md +22 -34
  134. package/docs/src/core/components/ui/alert/alert.md +58 -48
  135. package/docs/src/core/components/ui/badge/badge.md +34 -27
  136. package/docs/src/core/components/ui/button/button.md +106 -139
  137. package/docs/src/core/components/ui/captcha/captcha.md +32 -17
  138. package/docs/src/core/components/ui/card/card.md +6 -6
  139. package/docs/src/core/components/ui/divider/divider.md +11 -8
  140. package/docs/src/core/components/ui/form/checkbox/checkbox.md +42 -90
  141. package/docs/src/core/components/ui/form/fieldset/fieldset.md +75 -31
  142. package/docs/src/core/components/ui/form/form-actions/form-actions.md +16 -14
  143. package/docs/src/core/components/ui/form/form-layout/form-layout.md +29 -19
  144. package/docs/src/core/components/ui/form/input/input.md +95 -95
  145. package/docs/src/core/components/ui/form/input-autocomplete/input-autocomplete.md +29 -0
  146. package/docs/src/core/components/ui/form/radio/radio.md +34 -55
  147. package/docs/src/core/components/ui/form/select/select.md +45 -60
  148. package/docs/src/core/components/ui/form/switch/switch.md +34 -57
  149. package/docs/src/core/components/ui/form/textarea/textarea.md +38 -55
  150. package/docs/src/core/components/ui/group/group.md +33 -35
  151. package/docs/src/core/components/ui/icon/icon.md +4 -4
  152. package/docs/src/core/components/ui/image/image.md +107 -41
  153. package/docs/src/core/components/ui/link/link.md +6 -6
  154. package/docs/src/core/components/ui/loader/loader.md +55 -30
  155. package/docs/src/core/components/ui/menu/menu.md +27 -27
  156. package/docs/src/core/components/ui/modal/modal.md +96 -72
  157. package/docs/src/core/components/ui/pop/pop.md +158 -80
  158. package/docs/src/core/components/ui/progress/progress.md +2 -2
  159. package/docs/src/core/components/ui/table/table.md +255 -91
  160. package/docs/src/core/components/ui/theme/theme.md +36 -11
  161. package/docs/src/core/components/ui/toast/toast.md +117 -48
  162. package/docs/src/core/components/ui/tooltip/tooltip.md +62 -27
  163. package/docs/{docs/getting-started → src/docs/_core-concept}/dataFlow.md +18 -17
  164. package/docs/src/docs/_core-concept/overview.md +57 -0
  165. package/docs/src/docs/_core-concept/subscriber.md +75 -0
  166. package/docs/src/docs/_decorators/ancestor-attribute.md +128 -0
  167. package/docs/src/docs/_decorators/auto-subscribe.md +202 -0
  168. package/docs/src/docs/_decorators/bind.md +167 -0
  169. package/docs/src/docs/_decorators/get.md +162 -0
  170. package/docs/src/docs/_decorators/handle.md +175 -0
  171. package/docs/src/docs/_decorators/on-assign.md +390 -0
  172. package/docs/src/docs/_decorators/patch.md +70 -0
  173. package/docs/src/docs/_decorators/post.md +146 -0
  174. package/docs/src/docs/_decorators/publish.md +55 -0
  175. package/docs/src/docs/_decorators/put.md +70 -0
  176. package/docs/src/docs/_decorators/subscribe.md +100 -0
  177. package/docs/src/docs/_decorators/wait-for-ancestors.md +163 -0
  178. package/docs/src/docs/_directives/sub.md +91 -0
  179. package/docs/src/docs/{getting-started → _getting-started}/ai-agents.md +3 -3
  180. package/docs/src/docs/_getting-started/concorde-manual-install.md +133 -0
  181. package/docs/src/docs/_getting-started/concorde-outside.md +33 -0
  182. package/docs/{docs/getting-started → src/docs/_getting-started}/create-a-component.md +6 -3
  183. package/docs/src/docs/{getting-started → _getting-started}/my-first-component.md +14 -5
  184. package/docs/src/docs/_getting-started/my-first-subscriber.md +120 -0
  185. package/docs/src/docs/_getting-started/pubsub.md +37 -0
  186. package/docs/src/docs/{getting-started → _getting-started}/start.md +13 -1
  187. package/docs/src/docs/{getting-started → _getting-started}/theming.md +2 -2
  188. package/docs/src/docs/{misc → _misc}/api-configuration.md +12 -10
  189. package/docs/src/docs/{misc → _misc}/dataProviderKey.md +4 -4
  190. package/docs/{docs/misc → src/docs/_misc}/docs-mock-api.md +13 -12
  191. package/docs/{docs/misc → src/docs/_misc}/dynamic-path.md +8 -8
  192. package/docs/{docs/misc → src/docs/_misc}/endpoint.md +8 -8
  193. package/docs/src/docs/_misc/formelement-subscriber-removal.md +115 -0
  194. package/docs/{docs/misc → src/docs/_misc}/html-integration.md +5 -4
  195. package/docs/src/docs/search/docs-search.json +4375 -2420
  196. package/docs/src/tsconfig.declarations.json +22 -0
  197. package/docs/src/tsconfig.emit.json +23 -0
  198. package/docs/src/tsconfig.json +2 -23
  199. package/gitlab/job_github_mirror.sh +39 -0
  200. package/index.html +89 -0
  201. package/package.json +22 -4
  202. package/public/img/og-concorde.jpg +0 -0
  203. package/scripts/ai-init.mjs +104 -379
  204. package/scripts/ai-init.test.mjs +81 -239
  205. package/scripts/docs-markdown-vite-plugin.ts +11 -5
  206. package/scripts/docs-public-url.mjs +6 -0
  207. package/scripts/docs.htaccess +7 -0
  208. package/scripts/generate-cem.mjs +244 -0
  209. package/scripts/generate-cem.test.mjs +122 -0
  210. package/scripts/generate-crawl-docs.mjs +29 -5
  211. package/scripts/generate-sdui-catalog.mjs +11 -10
  212. package/scripts/github-export.mjs +150 -0
  213. package/scripts/post-build-docs.js +3 -0
  214. package/scripts/post-build.mjs +0 -0
  215. package/scripts/pre-publish.mjs +2 -1
  216. package/scripts/site-pages.mjs +212 -0
  217. package/scripts/site-pages.test.mjs +116 -0
  218. package/site-pages/about.md +22 -0
  219. package/site-pages/privacy.md +32 -0
  220. package/src/core/components/functional/date/date.md +1 -1
  221. package/src/core/components/functional/example/example.ts +3 -1
  222. package/src/core/components/functional/if/if.ts +0 -0
  223. package/src/core/components/functional/list/list.demo.ts +0 -0
  224. package/src/core/components/functional/list/list.md +6 -2
  225. package/src/core/components/functional/list/list.ts +17 -4
  226. package/src/core/components/functional/mix/mix.md +0 -0
  227. package/src/core/components/functional/router/router.demo.ts +0 -0
  228. package/src/core/components/functional/router/router.ts +0 -0
  229. package/src/core/components/functional/sdui/SDUIDescriptorTransformer.ts +0 -0
  230. package/src/core/components/functional/sdui/component-catalog.gaps.json +1 -1
  231. package/src/core/components/functional/sdui/component-catalog.json +2 -2
  232. package/src/core/components/functional/sdui/example.json +0 -0
  233. package/src/core/components/functional/sdui/sdui-immutable.spec.ts +74 -0
  234. package/src/core/components/functional/sdui/sdui.ts +33 -8
  235. package/src/core/components/functional/sdui/types.ts +0 -0
  236. package/src/core/components/functional/states/states.ts +0 -0
  237. package/src/core/components/functional/submit/submit.spec.ts +60 -0
  238. package/src/core/components/functional/submit/submit.ts +6 -3
  239. package/src/core/components/functional/subscriber/subscriber.ts +0 -0
  240. package/src/core/components/functional/value/value.md +0 -0
  241. package/src/core/components/functional/value/value.ts +0 -0
  242. package/src/core/components/ui/_css/size.ts +0 -0
  243. package/src/core/components/ui/captcha/altchaStyles.ts +0 -0
  244. package/src/core/components/ui/card/card.md +1 -1
  245. package/src/core/components/ui/form/input/input.md +19 -1
  246. package/src/core/components/ui/form/input/input.ts +8 -2
  247. package/src/core/components/ui/form/radio/radio.md +14 -0
  248. package/src/core/components/ui/image/image.md +17 -17
  249. package/src/core/components/ui/modal/modal.md +2 -2
  250. package/src/core/decorators/subscriber/bind.ts +9 -14
  251. package/src/core/decorators/subscriber/subscribe.ts +15 -9
  252. package/src/core/decorators/subscriber/subscribe.type-test.ts +14 -5
  253. package/src/core/mixins/Subscriber.ts +0 -0
  254. package/src/core/utils/DataBindObserver.ts +0 -0
  255. package/src/core/utils/Objects.ts +0 -0
  256. package/src/core/utils/PublisherProxy.ts +166 -125
  257. package/src/core/utils/deepReadonly.spec.ts +66 -0
  258. package/src/core/utils/deepReadonly.ts +71 -0
  259. package/src/core/utils/immutableValue.spec.ts +58 -0
  260. package/src/core/utils/immutableValue.ts +116 -0
  261. package/src/core/utils/nestedDotForm.spec.ts +88 -0
  262. package/src/core/utils/publisherImmutable.spec.ts +127 -0
  263. package/src/core/utils/route.ts +0 -0
  264. package/src/core/utils/strictGet.spec.ts +61 -0
  265. package/src/core/utils/strictGet.ts +102 -0
  266. package/src/css.d.ts +19 -0
  267. package/src/docs/components/docs-demo-sources.ts +3 -3
  268. package/src/docs/decorators/bind.md +23 -24
  269. package/src/docs/docs-location.spec.ts +10 -0
  270. package/src/docs/docs-location.ts +10 -0
  271. package/src/docs/example/decorators-demo-bind-demos.ts +11 -28
  272. package/src/docs/example/docs-toggle-demos.ts +1 -1
  273. package/src/docs/example/users.ts +0 -0
  274. package/src/docs/getting-started/ai-agents.md +51 -51
  275. package/src/docs/getting-started/dataFlow.md +2 -2
  276. package/src/docs/home/home.ts +3 -1
  277. package/src/docs/misc/publisher-get-immutability-docs-crawl.json +902 -0
  278. package/src/docs/misc/publisher-get-immutability-docs-recheck.json +13 -0
  279. package/src/docs/misc/publisher-get-immutability-study.md +229 -0
  280. package/src/docs/navigation/navigation.ts +5 -1
  281. package/src/docs/search/docs-search.json +358 -58
  282. package/src/docs/search/markdown-renderer.ts +6 -1
  283. package/src/docs/tailwind/css/docs/content.css +4 -5
  284. package/src/tsconfig.declarations.json +22 -0
  285. package/src/tsconfig.emit.json +23 -0
  286. package/src/tsconfig.json +53 -5
  287. package/src/tsconfig.tsbuildinfo +1 -1
  288. package/.taste-skill/after/desktop-fold.jpg +0 -0
  289. package/.taste-skill/after/desktop-page-01.jpg +0 -0
  290. package/.taste-skill/after/desktop-page-02.jpg +0 -0
  291. package/.taste-skill/after/desktop-page-03.jpg +0 -0
  292. package/.taste-skill/after/mobile-fold.jpg +0 -0
  293. package/.taste-skill/after/mobile-page-01.jpg +0 -0
  294. package/.taste-skill/after/report.json +0 -4103
  295. package/.taste-skill/after/tablet-fold.jpg +0 -0
  296. package/.taste-skill/after/tablet-page-01.jpg +0 -0
  297. package/.taste-skill/after/tablet-page-02.jpg +0 -0
  298. package/.taste-skill/before/desktop-fold.jpg +0 -0
  299. package/.taste-skill/before/desktop-page-01.jpg +0 -0
  300. package/.taste-skill/before/desktop-page-02.jpg +0 -0
  301. package/.taste-skill/before/mobile-fold.jpg +0 -0
  302. package/.taste-skill/before/mobile-page-01.jpg +0 -0
  303. package/.taste-skill/before/report.json +0 -2556
  304. package/.taste-skill/before/tablet-fold.jpg +0 -0
  305. package/.taste-skill/before/tablet-page-01.jpg +0 -0
  306. package/.taste-skill/direction.json +0 -510
  307. package/.taste-skill/notes.md +0 -84
  308. package/.taste-skill/prod/desktop-fold.jpg +0 -0
  309. package/.taste-skill/prod/desktop-page-01.jpg +0 -0
  310. package/.taste-skill/prod/desktop-page-02.jpg +0 -0
  311. package/.taste-skill/prod/desktop-page-03.jpg +0 -0
  312. package/.taste-skill/prod/mobile-fold.jpg +0 -0
  313. package/.taste-skill/prod/mobile-page-01.jpg +0 -0
  314. package/.taste-skill/prod/mobile-page-02.jpg +0 -0
  315. package/.taste-skill/prod/report.json +0 -1973
  316. package/.taste-skill/prod/tablet-fold.jpg +0 -0
  317. package/.taste-skill/prod/tablet-page-01.jpg +0 -0
  318. package/.taste-skill/prod/tablet-page-02.jpg +0 -0
  319. package/AUDIT.md +0 -228
  320. package/PLAN-AMELIORATION.md +0 -220
  321. package/PLAN-DOCS-AGENTS.md +0 -80
  322. package/ai/AGENTS.md +0 -56
  323. package/ai/cursor/rules/concorde-menu.mdc +0 -15
  324. package/ai/cursor/rules/concorde-scope.mdc +0 -14
  325. package/ai/cursor/rules/concorde-theme.mdc +0 -13
  326. package/ai/cursor/rules/concorde.mdc +0 -66
  327. package/ai/jetbrains/rules/concorde.md +0 -53
  328. package/ai/skills/concorde-get-set-dp/SKILL.md +0 -194
  329. package/ai/skills/concorde-imports/SKILL.md +0 -78
  330. package/ai/skills/concorde-menu/SKILL.md +0 -74
  331. package/ai/skills/concorde-scope/SKILL.md +0 -70
  332. package/ai/skills/concorde-theme/SKILL.md +0 -57
  333. package/docs/.htaccess +0 -75
  334. package/docs/404.html +0 -15
  335. package/docs/404.md +0 -5
  336. package/docs/assets/index-BgG6FFPt.js +0 -11765
  337. package/docs/assets/index-x89XINSG.css +0 -1
  338. package/docs/core/components/functional/date/date.html +0 -211
  339. package/docs/core/components/functional/date/date.md +0 -150
  340. package/docs/core/components/functional/fetch/fetch.html +0 -180
  341. package/docs/core/components/functional/fetch/fetch.md +0 -108
  342. package/docs/core/components/functional/if/if.html +0 -65
  343. package/docs/core/components/functional/if/if.md +0 -34
  344. package/docs/core/components/functional/jsonata/jsonata.html +0 -110
  345. package/docs/core/components/functional/jsonata/jsonata.md +0 -61
  346. package/docs/core/components/functional/list/list.html +0 -198
  347. package/docs/core/components/functional/list/list.md +0 -121
  348. package/docs/core/components/functional/mix/mix.html +0 -78
  349. package/docs/core/components/functional/mix/mix.md +0 -46
  350. package/docs/core/components/functional/queue/queue.html +0 -155
  351. package/docs/core/components/functional/queue/queue.md +0 -51
  352. package/docs/core/components/functional/router/router.html +0 -154
  353. package/docs/core/components/functional/router/router.md +0 -93
  354. package/docs/core/components/functional/sdui/sdui-extension-points.md +0 -94
  355. package/docs/core/components/functional/sdui/sdui.html +0 -397
  356. package/docs/core/components/functional/sdui/sdui.md +0 -307
  357. package/docs/core/components/functional/states/states.html +0 -141
  358. package/docs/core/components/functional/states/states.md +0 -112
  359. package/docs/core/components/functional/submit/submit.html +0 -178
  360. package/docs/core/components/functional/submit/submit.md +0 -106
  361. package/docs/core/components/functional/subscriber/subscriber.md +0 -91
  362. package/docs/core/components/functional/translation/translation.html +0 -60
  363. package/docs/core/components/functional/translation/translation.md +0 -38
  364. package/docs/core/components/functional/value/value.html +0 -81
  365. package/docs/core/components/functional/value/value.md +0 -47
  366. package/docs/core/components/ui/alert/alert.md +0 -186
  367. package/docs/core/components/ui/alert-messages/alert-messages.md +0 -85
  368. package/docs/core/components/ui/badge/badge.md +0 -181
  369. package/docs/core/components/ui/button/button.html +0 -309
  370. package/docs/core/components/ui/button/button.md +0 -216
  371. package/docs/core/components/ui/captcha/captcha.html +0 -80
  372. package/docs/core/components/ui/captcha/captcha.md +0 -56
  373. package/docs/core/components/ui/card/card.md +0 -215
  374. package/docs/core/components/ui/divider/divider.md +0 -126
  375. package/docs/core/components/ui/form/checkbox/checkbox.html +0 -200
  376. package/docs/core/components/ui/form/checkbox/checkbox.md +0 -125
  377. package/docs/core/components/ui/form/fieldset/fieldset.html +0 -238
  378. package/docs/core/components/ui/form/fieldset/fieldset.md +0 -161
  379. package/docs/core/components/ui/form/form-actions/form-actions.md +0 -98
  380. package/docs/core/components/ui/form/form-layout/form-layout.html +0 -115
  381. package/docs/core/components/ui/form/form-layout/form-layout.md +0 -109
  382. package/docs/core/components/ui/form/input/input.html +0 -235
  383. package/docs/core/components/ui/form/input/input.md +0 -142
  384. package/docs/core/components/ui/form/radio/radio.html +0 -144
  385. package/docs/core/components/ui/form/radio/radio.md +0 -78
  386. package/docs/core/components/ui/form/select/select.html +0 -178
  387. package/docs/core/components/ui/form/select/select.md +0 -86
  388. package/docs/core/components/ui/form/switch/switch.html +0 -146
  389. package/docs/core/components/ui/form/switch/switch.md +0 -80
  390. package/docs/core/components/ui/form/textarea/textarea.html +0 -162
  391. package/docs/core/components/ui/form/textarea/textarea.md +0 -82
  392. package/docs/core/components/ui/group/group.html +0 -113
  393. package/docs/core/components/ui/group/group.md +0 -77
  394. package/docs/core/components/ui/icon/icon.md +0 -214
  395. package/docs/core/components/ui/image/image.html +0 -194
  396. package/docs/core/components/ui/image/image.md +0 -167
  397. package/docs/core/components/ui/link/link.md +0 -81
  398. package/docs/core/components/ui/loader/loader.html +0 -114
  399. package/docs/core/components/ui/loader/loader.md +0 -87
  400. package/docs/core/components/ui/menu/menu.md +0 -370
  401. package/docs/core/components/ui/modal/modal.html +0 -324
  402. package/docs/core/components/ui/modal/modal.md +0 -211
  403. package/docs/core/components/ui/pop/pop.html +0 -250
  404. package/docs/core/components/ui/pop/pop.md +0 -216
  405. package/docs/core/components/ui/progress/progress.md +0 -109
  406. package/docs/core/components/ui/table/table.html +0 -333
  407. package/docs/core/components/ui/table/table.md +0 -267
  408. package/docs/core/components/ui/theme/theme.html +0 -116
  409. package/docs/core/components/ui/theme/theme.md +0 -97
  410. package/docs/core/components/ui/toast/toast.html +0 -185
  411. package/docs/core/components/ui/toast/toast.md +0 -147
  412. package/docs/core/components/ui/tooltip/tooltip.html +0 -112
  413. package/docs/core/components/ui/tooltip/tooltip.md +0 -89
  414. package/docs/docs/decorators/ancestor-attribute.html +0 -71
  415. package/docs/docs/decorators/ancestor-attribute.md +0 -59
  416. package/docs/docs/decorators/auto-subscribe.html +0 -61
  417. package/docs/docs/decorators/auto-subscribe.md +0 -40
  418. package/docs/docs/decorators/bind.html +0 -86
  419. package/docs/docs/decorators/bind.md +0 -77
  420. package/docs/docs/decorators/get.html +0 -166
  421. package/docs/docs/decorators/get.md +0 -160
  422. package/docs/docs/decorators/handle.html +0 -139
  423. package/docs/docs/decorators/handle.md +0 -119
  424. package/docs/docs/decorators/on-assign.html +0 -72
  425. package/docs/docs/decorators/on-assign.md +0 -63
  426. package/docs/docs/decorators/patch.html +0 -76
  427. package/docs/docs/decorators/patch.md +0 -44
  428. package/docs/docs/decorators/post.html +0 -150
  429. package/docs/docs/decorators/post.md +0 -134
  430. package/docs/docs/decorators/publish.html +0 -74
  431. package/docs/docs/decorators/publish.md +0 -56
  432. package/docs/docs/decorators/put.html +0 -83
  433. package/docs/docs/decorators/put.md +0 -51
  434. package/docs/docs/decorators/subscribe.html +0 -91
  435. package/docs/docs/decorators/subscribe.md +0 -87
  436. package/docs/docs/decorators/wait-for-ancestors.html +0 -82
  437. package/docs/docs/decorators/wait-for-ancestors.md +0 -76
  438. package/docs/docs/directives/sub.html +0 -79
  439. package/docs/docs/directives/sub.md +0 -75
  440. package/docs/docs/directives/t.html +0 -91
  441. package/docs/docs/directives/t.md +0 -73
  442. package/docs/docs/getting-started/ai-agents.md +0 -76
  443. package/docs/docs/getting-started/components.html +0 -27
  444. package/docs/docs/getting-started/components.md +0 -5
  445. package/docs/docs/getting-started/installation.html +0 -69
  446. package/docs/docs/getting-started/installation.md +0 -36
  447. package/docs/docs/getting-started/my-first-component.md +0 -227
  448. package/docs/docs/getting-started/start.html +0 -47
  449. package/docs/docs/getting-started/start.md +0 -35
  450. package/docs/docs/getting-started/theming.md +0 -253
  451. package/docs/docs/index.html +0 -99
  452. package/docs/docs/misc/api-configuration.md +0 -79
  453. package/docs/docs/misc/dataProviderKey.md +0 -168
  454. package/docs/hubs/decorators.html +0 -443
  455. package/docs/hubs/form-components.html +0 -404
  456. package/docs/hubs/remote-data.html +0 -371
  457. package/docs/img/archive/concorde-001-2cv.webp +0 -0
  458. package/docs/img/archive/concorde-red-arrows-2002-poster.jpg +0 -0
  459. package/docs/img/archive/concorde-red-arrows-2002.webm +0 -0
  460. package/docs/img/archive/credits.json +0 -28
  461. package/docs/index.md +0 -22
  462. package/docs/src/core/components/functional/translation/translation.md +0 -38
  463. package/docs/src/docs/decorators/ancestor-attribute.md +0 -59
  464. package/docs/src/docs/decorators/auto-subscribe.md +0 -40
  465. package/docs/src/docs/decorators/bind.md +0 -77
  466. package/docs/src/docs/decorators/get.md +0 -160
  467. package/docs/src/docs/decorators/handle.md +0 -119
  468. package/docs/src/docs/decorators/on-assign.md +0 -63
  469. package/docs/src/docs/decorators/patch.md +0 -44
  470. package/docs/src/docs/decorators/post.md +0 -134
  471. package/docs/src/docs/decorators/publish.md +0 -56
  472. package/docs/src/docs/decorators/put.md +0 -51
  473. package/docs/src/docs/decorators/subscribe.md +0 -87
  474. package/docs/src/docs/decorators/wait-for-ancestors.md +0 -76
  475. package/docs/src/docs/directives/sub.md +0 -75
  476. package/docs/src/docs/directives/t.md +0 -73
  477. package/docs/src/docs/getting-started/components.md +0 -5
  478. package/docs/src/docs/getting-started/create-a-component.md +0 -136
  479. package/docs/src/docs/getting-started/dataFlow.md +0 -87
  480. package/docs/src/docs/getting-started/installation.md +0 -36
  481. package/docs/src/docs/misc/docs-mock-api.md +0 -62
  482. package/docs/src/docs/misc/dynamic-path.md +0 -71
  483. package/docs/src/docs/misc/endpoint.md +0 -45
  484. package/docs/src/docs/misc/html-integration.md +0 -14
  485. /package/{docs → dist}/img/concorde/plane_01.jpg +0 -0
  486. /package/{docs → dist}/img/concorde/plane_02.jpg +0 -0
  487. /package/{docs → dist}/img/concorde/plane_03.jpg +0 -0
  488. /package/{docs → dist}/img/concorde/plane_04.jpg +0 -0
  489. /package/{docs → dist}/img/concorde/plane_05.jpg +0 -0
  490. /package/{docs → dist}/img/concorde/plane_06.jpg +0 -0
  491. /package/{docs → dist}/img/concorde/plane_07.jpg +0 -0
  492. /package/{docs → dist}/img/concorde/plane_08.jpg +0 -0
  493. /package/{docs → dist}/img/concorde/plane_09.jpg +0 -0
  494. /package/{docs → dist}/img/concorde/plane_10.jpg +0 -0
  495. /package/{docs → dist}/img/concorde/plane_11.jpg +0 -0
  496. /package/{docs → dist}/img/concorde/plane_12.jpg +0 -0
  497. /package/{docs → dist}/img/concorde/plane_13.jpg +0 -0
@@ -1,56 +0,0 @@
1
- # Captcha
2
-
3
- **`sonic-captcha`** embeds an [ALTCHA](https://altcha.org) proof-of-work widget and makes the nearest form wait for it. Place it inside a form scope and put **`sonic-submit`** in its default slot: the widget renders above the slot content, and the submit sends only once a token is available.
4
-
5
- ## Basic example
6
-
7
- The widget loads only on **HTTPS**. On plain HTTP the component renders nothing and the form is not blocked.
8
-
9
- <sonic-code>
10
- <template>
11
- <sonic-scope
12
- serviceURL="/docs-mock-api"
13
- formDataProvider="captcha-docs-form"
14
- submitResultDataProvider="captcha-docs-result"
15
- >
16
- <sonic-captcha>
17
- <sonic-input class="mb-3 block" name="email" type="email" label="Email" value="demo@example.com"></sonic-input>
18
- <sonic-submit endPoint="api/register" onClick>
19
- <sonic-button type="primary">Join the crew</sonic-button>
20
- </sonic-submit>
21
- </sonic-captcha>
22
- </sonic-scope>
23
- </template>
24
- </sonic-code>
25
-
26
- ## Form integration
27
-
28
- The component writes to the publisher named by the closest `headersDataProvider`, or else `formDataProvider`, on itself or an ancestor. On connect it sets `needsCaptchaValidation` to `true`. When **`sonic-submit`** sees that flag, it requests a token, the captcha copies the solved ALTCHA payload into `captchaToken` and its key into `captchaKey`, and the request is sent. `needsCaptchaValidation` is stripped from the payload. On disconnect both fields are reset.
29
-
30
- <sonic-code language="typescript">
31
- <template>
32
- {
33
- email: "demo@example.com",
34
- captchaKey: "…",
35
- captchaToken: "…"
36
- }
37
- </template>
38
- </sonic-code>
39
-
40
- ## Key and challenge endpoint
41
-
42
- With no `key`, the component generates an encrypted key on connect. The widget fetches its challenge from the `chalengeUrl` property (a JavaScript property, not an attribute) with `key` and `maxNumber` (default `50000`) as query parameters. Point it at your own ALTCHA server and verify `captchaToken` there.
43
-
44
- Labels follow the page language: French when `<html lang>` starts with `fr`, English otherwise.
45
-
46
- ## API reference
47
-
48
- | Attribute | Values | Description |
49
- |----------|---------|-------------|
50
- | `key` | string (default generated) | Key sent to the challenge endpoint and copied to `captchaKey` |
51
-
52
- | Slot | Description |
53
- |------|-------------|
54
- | *(default)* | Form fields and actions, rendered below the widget |
55
-
56
- No events.
@@ -1,215 +0,0 @@
1
- # Card
2
-
3
- Cards **group related content** on a padded surface with radius, theme **`type`** colors, and elevation. Default **`shadow`** is `lg`. Compose **`sonic-card-header`** / **`sonic-card-main`** / **`sonic-card-footer`**, or place any markup in the default slot.
4
-
5
- ## Basic example
6
-
7
- <sonic-code>
8
- <template>
9
- <sonic-card class="max-w-sm">
10
- <p class="m-0">CN 001 · CDG → JFK · On time.</p>
11
- </sonic-card>
12
- </template>
13
- </sonic-code>
14
-
15
- ## Type
16
-
17
- Default **`type`** is `base`. **`default`** and **`light`** share the same surface tokens.
18
-
19
- <sonic-code>
20
- <template>
21
- <div class="flex flex-wrap gap-3">
22
- <sonic-card type="base" class="min-w-[8rem]">Base</sonic-card>
23
- <sonic-card type="light" class="min-w-[8rem]">Light</sonic-card>
24
- <sonic-card type="default" class="min-w-[8rem]">Default</sonic-card>
25
- <sonic-card type="primary" class="min-w-[8rem]">Primary</sonic-card>
26
- <sonic-card type="info" class="min-w-[8rem]">Info</sonic-card>
27
- <sonic-card type="success" class="min-w-[8rem]">Success</sonic-card>
28
- <sonic-card type="warning" class="min-w-[8rem]">Warning</sonic-card>
29
- <sonic-card type="danger" class="min-w-[8rem]">Danger</sonic-card>
30
- <sonic-card type="neutral" class="min-w-[8rem]">Neutral</sonic-card>
31
- <sonic-card type="invert" class="min-w-[8rem]">Invert</sonic-card>
32
- </div>
33
- </template>
34
- </sonic-code>
35
-
36
- ## Shadow
37
-
38
- Set **`shadow`** to control elevation. Default is `lg`.
39
-
40
- <sonic-code>
41
- <template>
42
- <div class="grid gap-4 sm:grid-cols-2 max-w-2xl">
43
- <sonic-card shadow="none" class="min-h-[5rem] flex items-center justify-center">None</sonic-card>
44
- <sonic-card shadow="sm" class="min-h-[5rem] flex items-center justify-center">Small</sonic-card>
45
- <sonic-card shadow="md" class="min-h-[5rem] flex items-center justify-center">Medium</sonic-card>
46
- <sonic-card shadow="lg" class="min-h-[5rem] flex items-center justify-center">Large</sonic-card>
47
- </div>
48
- </template>
49
- </sonic-code>
50
-
51
- ## Header
52
-
53
- Quick titles with **`label`** and **`description`**, or full control through the default slot. **`slot="suffix"`** aligns badges or actions on the right; suffix content does not shrink when the title wraps.
54
-
55
- `label` and `description` accept HTML (rendered as markup). Prefer plain text when possible; use **`sonic-card-header-description`** or the default slot for structured content.
56
-
57
- <sonic-code>
58
- <template>
59
- <div class="grid gap-4 max-w-xl">
60
- <sonic-card>
61
- <sonic-card-header
62
- label="Account settings"
63
- description="Manage your profile and preferences."
64
- ></sonic-card-header>
65
- <p class="m-0 text-sm opacity-80">Body content goes in the card slot or in <code>sonic-card-main</code>.</p>
66
- </sonic-card>
67
-
68
- <sonic-card type="neutral">
69
- <sonic-card-header label="Notifications">
70
- <sonic-card-header-description>
71
- Choose what we email you about.
72
- </sonic-card-header-description>
73
- <sonic-badge slot="suffix" type="warning" size="xs">3 new</sonic-badge>
74
- </sonic-card-header>
75
- </sonic-card>
76
-
77
- <sonic-card>
78
- <sonic-card-header label="Team workspace" description="Shared with 12 members">
79
- <sonic-button
80
- slot="suffix"
81
- shape="circle"
82
- variant="outline"
83
- size="sm"
84
- type="default"
85
- icon
86
- data-aria-label="Workspace settings"
87
- >
88
- <sonic-icon library="iconoir" name="settings"></sonic-icon>
89
- </sonic-button>
90
- </sonic-card-header>
91
- </sonic-card>
92
-
93
- <sonic-card type="primary">
94
- <sonic-card-header>
95
- <div>Custom header</div>
96
- <sonic-card-header-description>
97
- Use the header slot when attributes are not enough.
98
- </sonic-card-header-description>
99
- <sonic-button slot="suffix" shape="circle" variant="ghost" size="sm" type="primary" icon>
100
- <sonic-icon library="iconoir" name="nav-arrow-right"></sonic-icon>
101
- </sonic-button>
102
- </sonic-card-header>
103
- </sonic-card>
104
- </div>
105
- </template>
106
- </sonic-code>
107
-
108
- ## Main
109
-
110
- Optional wrapper for the primary content area (typography, media, forms).
111
-
112
- <sonic-code>
113
- <template>
114
- <sonic-card class="max-w-xl">
115
- <sonic-card-header label="Release notes" description="Version 2.4"></sonic-card-header>
116
- <sonic-card-main>
117
- <p class="mt-0">
118
- Improved performance on large lists and fixed an issue with keyboard navigation in menus.
119
- </p>
120
- <sonic-divider></sonic-divider>
121
- <p class="mb-0 text-sm opacity-80">See the changelog for details.</p>
122
- </sonic-card-main>
123
- </sonic-card>
124
- </template>
125
- </sonic-code>
126
-
127
- ## Footer
128
-
129
- Optional footer for actions, metadata, or secondary text.
130
-
131
- <sonic-code>
132
- <template>
133
- <sonic-card class="max-w-xl">
134
- <sonic-card-header label="Confirm deletion"></sonic-card-header>
135
- <sonic-card-main>
136
- <p class="m-0">This project and all of its data will be removed permanently.</p>
137
- </sonic-card-main>
138
- <sonic-card-footer>
139
- <sonic-divider></sonic-divider>
140
- <div class="flex flex-wrap gap-2 justify-end">
141
- <sonic-button variant="ghost" size="sm">Cancel</sonic-button>
142
- <sonic-button type="danger" size="sm">Delete</sonic-button>
143
- </div>
144
- </sonic-card-footer>
145
- </sonic-card>
146
- </template>
147
- </sonic-code>
148
-
149
- ## Full example
150
-
151
- Header, media, body, and footer together.
152
-
153
- <sonic-code>
154
- <template>
155
- <sonic-card class="max-w-md">
156
- <sonic-card-header label="Featured route" description="CDG → JFK">
157
- <sonic-icon slot="suffix" library="iconoir" name="airplane" aria-hidden="true"></sonic-icon>
158
- </sonic-card-header>
159
- <sonic-card-main>
160
- <sonic-image
161
- rounded
162
- ratio="16/9"
163
- src="img/concorde/plane_04.jpg"
164
- alt="Concorde on the apron under a blue sky"
165
- ></sonic-image>
166
- <p class="mb-0">
167
- Nonstop at Mach 2.04, with flexible dates.
168
- </p>
169
- </sonic-card-main>
170
- <sonic-card-footer>
171
- <div class="flex items-center justify-between gap-3 flex-wrap">
172
- <span class="text-sm font-semibold">Cabin class: Business</span>
173
- <sonic-button type="primary" size="sm">Book</sonic-button>
174
- </div>
175
- </sonic-card-footer>
176
- </sonic-card>
177
- </template>
178
- </sonic-code>
179
-
180
- ## API reference
181
-
182
- ### `sonic-card`
183
-
184
- | Attribute | Values | Description |
185
- |----------|---------|-------------|
186
- | `type` | `base` (default) · `light` · `invert` · `default` · `primary` · `warning` · `danger` · `success` · `info` · `neutral` | Semantic background and text (`default` and `light` share the same surface) |
187
- | `shadow` | `none` · `sm` · `md` · `lg` (default `lg`) | Elevation on the card surface |
188
-
189
- | Slot | Description |
190
- |------|-------------|
191
- | *(default)* | Free-form content (header, main, footer, or direct markup) |
192
-
193
- ### `sonic-card-header`
194
-
195
- | Attribute | Values | Description |
196
- |----------|---------|-------------|
197
- | `label` | HTML | Title (rendered as markup) |
198
- | `description` | HTML | Subtitle below the title |
199
-
200
- | Slot | Description |
201
- |------|-------------|
202
- | *(default)* | Custom title / description when attributes are not enough |
203
- | `suffix` | Actions or badges aligned on the right (does not shrink) |
204
-
205
- ### `sonic-card-header-description`
206
-
207
- | Slot | Description |
208
- |------|-------------|
209
- | *(default)* | Subtitle text; styled below the title when slotted in **`sonic-card-header`** |
210
-
211
- ### `sonic-card-main` · `sonic-card-footer`
212
-
213
- | Slot | Description |
214
- |------|-------------|
215
- | *(default)* | Primary content (`main`) or actions / metadata (`footer`) |
@@ -1,126 +0,0 @@
1
- # Divider
2
-
3
- **`sonic-divider`** draws a horizontal or vertical rule with optional **centered label** copy. Use it to separate sections in forms, cards, and **`sonic-menu`**. Set **`label`** for simple HTML captions or use the **default slot** for richer markup; default **`align`** is **`center`** and default **`lineStyle`** is **`solid`**.
4
-
5
- ## Basic example
6
-
7
- A bare divider is a full-width line with vertical margin. Omit **`size`** to use the host default spacing (`0.5rem` block margin).
8
-
9
- <sonic-code>
10
- <template>
11
- <sonic-divider></sonic-divider>
12
- </template>
13
- </sonic-code>
14
-
15
- ## Label and align
16
-
17
- **`label`** renders inside the line (as HTML). **`align`** controls which side(s) of the line remain visible: **`left`** drops the leading segment, **`right`** drops the trailing segment, **`center`** keeps both.
18
-
19
- <sonic-code>
20
- <template>
21
- <div class="grid gap-4">
22
- <sonic-divider label="Default centered label"></sonic-divider>
23
- <sonic-divider label="Left" align="left"></sonic-divider>
24
- <sonic-divider label="Center" align="center"></sonic-divider>
25
- <sonic-divider label="Right" align="right"></sonic-divider>
26
- </div>
27
- </template>
28
- </sonic-code>
29
-
30
- ## Size
31
-
32
- **`size`** adjusts block margin and label font size. Values follow the shared Concorde scale (`2xs` … `2xl`).
33
-
34
- <sonic-code>
35
- <template>
36
- <div class="grid gap-4">
37
- <sonic-divider size="2xs" label="2xs"></sonic-divider>
38
- <sonic-divider size="xs" label="xs"></sonic-divider>
39
- <sonic-divider size="sm" label="sm"></sonic-divider>
40
- <sonic-divider size="md" label="md"></sonic-divider>
41
- <sonic-divider size="lg" label="lg"></sonic-divider>
42
- <sonic-divider size="xl" label="xl"></sonic-divider>
43
- <sonic-divider size="2xl" label="2xl"></sonic-divider>
44
- </div>
45
- </template>
46
- </sonic-code>
47
-
48
- ## Line style
49
-
50
- **`lineStyle`** sets the stroke of the rule (`solid` · `dashed` · `dotted`). In HTML use the reflected attribute **`linestyle`** (case-insensitive).
51
-
52
- <sonic-code>
53
- <template>
54
- <div class="grid gap-4">
55
- <sonic-divider label="Solid"></sonic-divider>
56
- <sonic-divider label="Dashed" lineStyle="dashed"></sonic-divider>
57
- <sonic-divider label="Dotted" lineStyle="dotted"></sonic-divider>
58
- </div>
59
- </template>
60
- </sonic-code>
61
-
62
- ## Vertical and margin
63
-
64
- Set **`vertical`** for a column rule (for example between toolbar actions). **`noMargin`** removes host margin when a parent layout already provides spacing.
65
-
66
- <sonic-code>
67
- <template>
68
- <div class="flex items-stretch gap-2" style="min-height: 3rem;">
69
- <span class="flex items-center px-2">Before</span>
70
- <sonic-divider vertical noMargin></sonic-divider>
71
- <span class="flex items-center px-2">After</span>
72
- </div>
73
- </template>
74
- </sonic-code>
75
-
76
- ## Default slot
77
-
78
- Slotted content replaces or augments **`label`**. Useful for badges, icons, or mixed markup in menus.
79
-
80
- <sonic-code>
81
- <template>
82
- <sonic-divider>
83
- <span class="mr-2">Departures</span>
84
- <sonic-badge type="danger">+25</sonic-badge>
85
- </sonic-divider>
86
- </template>
87
- </sonic-code>
88
-
89
- ## Inside typed cards
90
-
91
- On **`sonic-card`** with semantic **`type`** (`primary` · `warning` · `danger` · `info` · `success`), the rule uses the card’s text color at reduced opacity so it stays visible on tinted surfaces. **`label`** and slotted captions use the same foreground color as surrounding copy.
92
-
93
- <sonic-code>
94
- <template>
95
- <div class="grid gap-4 max-w-xl">
96
- <sonic-card type="danger">
97
- <div>CN 001 is cancelled.</div>
98
- <sonic-divider label="Affected passengers"></sonic-divider>
99
- <ul class="m-0 pl-5 text-sm">
100
- <li>Ada Lindqvist</li>
101
- <li>Captain Leo Marchand</li>
102
- </ul>
103
- </sonic-card>
104
- <sonic-card type="info">
105
- <div>Aircraft maintenance is scheduled for tonight.</div>
106
- <sonic-divider></sonic-divider>
107
- <div class="opacity-60">Expected downtime: about 15 minutes.</div>
108
- </sonic-card>
109
- </div>
110
- </template>
111
- </sonic-code>
112
-
113
- ## API reference
114
-
115
- | Attribute | Values | Description |
116
- |----------|---------|-------------|
117
- | `label` | string (HTML) | Caption centered on the rule; combined with default-slot content when both are set |
118
- | `align` | `left` · `center` · `right` (default `center`) | Hides the leading or trailing line segment for left/right alignment |
119
- | `size` | `2xs` … `2xl` · `inherit` | Vertical margin and label `font-size`; omit for host defaults |
120
- | `lineStyle` | `solid` · `dashed` · `dotted` (default `solid`) | Stroke style of the rule (HTML attribute `linestyle`) |
121
- | `vertical` | boolean | Renders a vertical rule; swap block/inline margins |
122
- | `noMargin` | boolean | Sets host margin to `0` |
123
-
124
- | Slot | Description |
125
- |------|-------------|
126
- | *(default)* | Label markup when **`label`** is insufficient or empty |
@@ -1,200 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en" data-doc-url="https://concorde.supersoniks.org/core/components/ui/form/checkbox" data-doc-id="core/components/ui/form/checkbox/checkbox">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>Checkbox — Concorde by Supersoniks</title>
7
- <meta name="description" content="sonic-checkbox is a styled checkbox that writes its value into form data. Give it a name and a formDataProvider (on the field or an ancestor); checkboxes sharing a name build an array of the checked v">
8
- <meta name="keywords" content="Concorde, supersoniks, core/components/ui/form/checkbox/checkbox, checkbox, Checkbox, UI component, form, sonic-checkbox, web component, value, name, formDataProvider, label, description, size, md, checked">
9
- <meta name="concorde-doc-id" content="core/components/ui/form/checkbox/checkbox">
10
- <link rel="canonical" href="https://concorde.supersoniks.org/core/components/ui/form/checkbox">
11
- <link rel="alternate" type="text/markdown" href="https://concorde.supersoniks.org/core/components/ui/form/checkbox.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/form/checkbox">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 — Checkbox</strong>. sonic-checkbox is a styled checkbox that writes its value into form data. Give it a name and a formDataProvider (on the field or an ancestor); checkboxes sharing a name build an array of the checked v <span>Doc ID: <code>core/components/ui/form/checkbox/checkbox</code>. Keywords: Concorde, supersoniks, core/components/ui/form/checkbox/checkbox, checkbox, Checkbox, UI component, form, sonic-checkbox, web component, value, name, formDataProvider, label, description, size, md, checked. URL: <a href="https://concorde.supersoniks.org/core/components/ui/form/checkbox">https://concorde.supersoniks.org/core/components/ui/form/checkbox</a>.</span></p>
20
- <h1 id="checkbox">Checkbox</h1>
21
- <p><strong><code>sonic-checkbox</code></strong> is a styled checkbox that writes its <code>value</code> into form data. Give it a <code>name</code> and a <code>formDataProvider</code> (on the field or an ancestor); checkboxes sharing a <code>name</code> build an array of the checked values. Label goes in the default slot or <code>label</code>, helper text in the <code>description</code> slot.</p>
22
- <h2 id="basic-example">Basic example</h2>
23
- <pre><code>&lt;sonic-checkbox&gt;
24
- Notify me of gate changes
25
- &lt;span slot=&quot;description&quot;&gt;One message per change, no spam.&lt;/span&gt;
26
- &lt;/sonic-checkbox&gt;
27
- </code></pre>
28
- <h2 id="size">Size</h2>
29
- <p>With no <code>size</code>, the checkbox follows <code>md</code> (1rem).</p>
30
- <pre><code>&lt;div class=&quot;grid gap-2&quot;&gt;
31
- &lt;sonic-checkbox size=&quot;2xs&quot;&gt;2xs&lt;/sonic-checkbox&gt;
32
- &lt;sonic-checkbox size=&quot;xs&quot;&gt;xs&lt;/sonic-checkbox&gt;
33
- &lt;sonic-checkbox size=&quot;sm&quot;&gt;sm&lt;/sonic-checkbox&gt;
34
- &lt;sonic-checkbox&gt;Default&lt;/sonic-checkbox&gt;
35
- &lt;sonic-checkbox size=&quot;lg&quot;&gt;lg&lt;/sonic-checkbox&gt;
36
- &lt;sonic-checkbox size=&quot;xl&quot;&gt;xl&lt;/sonic-checkbox&gt;
37
- &lt;sonic-checkbox size=&quot;2xl&quot;&gt;2xl&lt;/sonic-checkbox&gt;
38
- &lt;/div&gt;
39
- </code></pre>
40
- <h2 id="checked-and-disabled">Checked and disabled</h2>
41
- <p><code>checked</code> sets the initial state. <code>disabled</code> blocks interaction and dims the control.</p>
42
- <pre><code>&lt;div class=&quot;grid gap-2&quot;&gt;
43
- &lt;sonic-checkbox checked&gt;Checked&lt;/sonic-checkbox&gt;
44
- &lt;sonic-checkbox disabled&gt;Disabled&lt;/sonic-checkbox&gt;
45
- &lt;sonic-checkbox disabled checked&gt;Disabled and checked&lt;/sonic-checkbox&gt;
46
- &lt;sonic-checkbox&gt;I accept the &lt;sonic-link href=&quot;#&quot; class=&quot;underline&quot;&gt;terms&lt;/sonic-link&gt;&lt;/sonic-checkbox&gt;
47
- &lt;/div&gt;
48
- </code></pre>
49
- <h2 id="form-binding">Form binding</h2>
50
- <p>Checkboxes with the same <code>name</code> under one <code>formDataProvider</code> store an array of the checked <code>value</code>s. Initial state is read from that data, so a value already present checks the matching box. See <a href="/docs/getting-started/dataFlow">Data flow</a>.</p>
51
- <pre><code>&lt;div formDataProvider=&quot;checkbox-multiple-demo&quot; class=&quot;grid gap-2&quot;&gt;
52
- &lt;sonic-checkbox name=&quot;extras&quot; value=&quot;baggage&quot; checked&gt;Extra baggage&lt;/sonic-checkbox&gt;
53
- &lt;sonic-checkbox name=&quot;extras&quot; value=&quot;meal&quot;&gt;Meal&lt;/sonic-checkbox&gt;
54
- &lt;sonic-checkbox name=&quot;extras&quot; value=&quot;lounge&quot;&gt;Lounge access&lt;/sonic-checkbox&gt;
55
- &lt;div&gt;Selected: &lt;sonic-value dataProvider=&quot;checkbox-multiple-demo&quot; key=&quot;extras&quot;&gt;&lt;/sonic-value&gt;&lt;/div&gt;
56
- &lt;/div&gt;
57
- </code></pre>
58
- <h2 id="single-value">Single value</h2>
59
- <p><code>unique</code> stores a single value instead of an array: checking one box unchecks the others with the same <code>name</code>, and the checked box can be unchecked again (value <code>null</code>). <code>radio</code> does the same but cannot be unchecked by a click.</p>
60
- <pre><code>&lt;div formDataProvider=&quot;checkbox-unique-demo&quot; class=&quot;grid gap-2&quot;&gt;
61
- &lt;sonic-checkbox unique name=&quot;cabin&quot; value=&quot;economy&quot;&gt;Economy&lt;/sonic-checkbox&gt;
62
- &lt;sonic-checkbox unique name=&quot;cabin&quot; value=&quot;business&quot;&gt;Business&lt;/sonic-checkbox&gt;
63
- &lt;div&gt;Cabin: &lt;sonic-value dataProvider=&quot;checkbox-unique-demo&quot; key=&quot;cabin&quot;&gt;&lt;/sonic-value&gt;&lt;/div&gt;
64
- &lt;/div&gt;
65
- </code></pre>
66
- <h2 id="check-all-and-indeterminate">Check all and indeterminate</h2>
67
- <p>A checkbox with <code>checksAll</code> and the same <code>name</code> toggles every sibling value. It shows the indeterminate icon when only some are checked; its own <code>value</code> is never stored. With <code>unsetOnDisconnect</code>, a checkbox removes its value from the data when it leaves the DOM. <code>showAsIndeterminate</code> forces the indeterminate icon on any checkbox.</p>
68
- <pre><code>&lt;div formDataProvider=&quot;checkbox-check-all-demo&quot; class=&quot;grid gap-2&quot;&gt;
69
- &lt;sonic-checkbox name=&quot;alerts&quot; value=&quot;all&quot; checksAll&gt;All alerts&lt;/sonic-checkbox&gt;
70
- &lt;sonic-checkbox name=&quot;alerts&quot; value=&quot;boarding&quot;&gt;Boarding&lt;/sonic-checkbox&gt;
71
- &lt;sonic-checkbox name=&quot;alerts&quot; value=&quot;gate&quot;&gt;Gate change&lt;/sonic-checkbox&gt;
72
- &lt;div id=&quot;checkbox-removable&quot; class=&quot;flex gap-2 items-center&quot;&gt;
73
- &lt;sonic-checkbox name=&quot;alerts&quot; value=&quot;delay&quot; unsetOnDisconnect&gt;Delay&lt;/sonic-checkbox&gt;
74
- &lt;sonic-button size=&quot;xs&quot; variant=&quot;ghost&quot; onclick=&quot;document.getElementById(&#39;checkbox-removable&#39;).remove()&quot;&gt;Remove&lt;/sonic-button&gt;
75
- &lt;/div&gt;
76
- &lt;div&gt;Selected: &lt;sonic-value dataProvider=&quot;checkbox-check-all-demo&quot; key=&quot;alerts&quot;&gt;&lt;/sonic-value&gt;&lt;/div&gt;
77
- &lt;/div&gt;
78
- </code></pre>
79
- <h2 id="api-reference">API reference</h2>
80
- <table>
81
- <thead>
82
- <tr>
83
- <th>Attribute</th>
84
- <th>Values</th>
85
- <th>Description</th>
86
- </tr>
87
- </thead>
88
- <tbody><tr>
89
- <td><code>name</code></td>
90
- <td>string</td>
91
- <td>Key in the form data (dot notation supported)</td>
92
- </tr>
93
- <tr>
94
- <td><code>value</code></td>
95
- <td>string</td>
96
- <td>Value stored when checked</td>
97
- </tr>
98
- <tr>
99
- <td><code>formDataProvider</code></td>
100
- <td>string</td>
101
- <td>Form data id; inherited from the closest ancestor when omitted</td>
102
- </tr>
103
- <tr>
104
- <td><code>checked</code></td>
105
- <td>boolean</td>
106
- <td>Initial checked state</td>
107
- </tr>
108
- <tr>
109
- <td><code>unique</code></td>
110
- <td>boolean</td>
111
- <td>Stores a single value; can be unchecked</td>
112
- </tr>
113
- <tr>
114
- <td><code>radio</code></td>
115
- <td>boolean</td>
116
- <td>Stores a single value; cannot be unchecked by a click</td>
117
- </tr>
118
- <tr>
119
- <td><code>checksAll</code></td>
120
- <td>boolean</td>
121
- <td>Toggles every checkbox with the same <code>name</code></td>
122
- </tr>
123
- <tr>
124
- <td><code>unsetOnDisconnect</code></td>
125
- <td>boolean</td>
126
- <td>Removes the value from the data when the element is removed</td>
127
- </tr>
128
- <tr>
129
- <td><code>showAsIndeterminate</code></td>
130
- <td>boolean</td>
131
- <td>Forces the indeterminate icon</td>
132
- </tr>
133
- <tr>
134
- <td><code>label</code></td>
135
- <td>string (HTML)</td>
136
- <td>Label, rendered before the default slot</td>
137
- </tr>
138
- <tr>
139
- <td><code>description</code></td>
140
- <td>string (HTML)</td>
141
- <td>Helper text, rendered in the <code>description</code> slot</td>
142
- </tr>
143
- <tr>
144
- <td><code>size</code></td>
145
- <td><code>2xs</code> … <code>2xl</code> · <code>inherit</code> (default <code>md</code>)</td>
146
- <td>Font size and box size</td>
147
- </tr>
148
- <tr>
149
- <td><code>disabled</code></td>
150
- <td>boolean</td>
151
- <td>Blocks interaction</td>
152
- </tr>
153
- <tr>
154
- <td><code>required</code></td>
155
- <td>boolean</td>
156
- <td>Native validation on form submit</td>
157
- </tr>
158
- <tr>
159
- <td><code>autofocus</code></td>
160
- <td>boolean</td>
161
- <td>Focuses the input on load</td>
162
- </tr>
163
- <tr>
164
- <td><code>iconName</code></td>
165
- <td>string (default <code>check</code>)</td>
166
- <td>Icon shown when checked</td>
167
- </tr>
168
- <tr>
169
- <td><code>indeterminateIconName</code></td>
170
- <td>string (default <code>minus-small</code>)</td>
171
- <td>Icon shown when indeterminate</td>
172
- </tr>
173
- <tr>
174
- <td><code>data-aria-label</code> · <code>data-aria-labelledby</code></td>
175
- <td>string</td>
176
- <td>Forwarded to the inner input as <code>aria-label</code> / <code>aria-labelledby</code></td>
177
- </tr>
178
- </tbody></table>
179
- <table>
180
- <thead>
181
- <tr>
182
- <th>Slot</th>
183
- <th>Description</th>
184
- </tr>
185
- </thead>
186
- <tbody><tr>
187
- <td><em>(default)</em></td>
188
- <td>Label content (text, links)</td>
189
- </tr>
190
- <tr>
191
- <td><code>description</code></td>
192
- <td>Helper text under the label</td>
193
- </tr>
194
- </tbody></table>
195
- <p>Fires a <code>change</code> event on each click.</p>
196
-
197
- </article>
198
- </main>
199
- </body>
200
- </html>