@supersoniks/concorde 4.9.98-visual-stack.1 → 4.9.98-visual-stack.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 (340) hide show
  1. package/.gitlab-ci.yml +0 -13
  2. package/build-infos.json +1 -1
  3. package/concorde-3d.bundle.js +1 -1
  4. package/concorde-3d.es.js +2 -2
  5. package/concorde-core.bundle.js +557 -622
  6. package/concorde-core.es.js +6025 -5575
  7. package/concorde-hugging-face-infer.bundle.js +1 -1
  8. package/concorde-hugging-face-infer.es.js +1 -1
  9. package/concorde-interactive.bundle.js +1162 -0
  10. package/concorde-interactive.es.js +10723 -0
  11. package/concorde-shader.bundle.js +1 -1
  12. package/concorde-shader.es.js +2 -2
  13. package/concorde-webgpu.bundle.js +1 -1
  14. package/concorde-webgpu.es.js +2 -2
  15. package/dist/concorde-3d.bundle.js +1 -1
  16. package/dist/concorde-3d.es.js +2 -2
  17. package/dist/concorde-core.bundle.js +557 -622
  18. package/dist/concorde-core.es.js +6025 -5575
  19. package/dist/concorde-hugging-face-infer.bundle.js +1 -1
  20. package/dist/concorde-hugging-face-infer.es.js +1 -1
  21. package/dist/concorde-interactive.bundle.js +1162 -0
  22. package/dist/concorde-interactive.es.js +10723 -0
  23. package/dist/concorde-shader.bundle.js +1 -1
  24. package/dist/concorde-shader.es.js +2 -2
  25. package/dist/concorde-webgpu.bundle.js +1 -1
  26. package/dist/concorde-webgpu.es.js +2 -2
  27. package/dist/docs-mock-api-sw.js +5 -1
  28. package/dist/docs-mock-api-sw.js.map +2 -2
  29. package/dist/js/addons/interactive.js +6 -0
  30. package/dist/js/addons/interactive.js.map +1 -0
  31. package/dist/js/core/components/functional/if/if.js +65 -7
  32. package/dist/js/core/components/functional/if/if.js.map +1 -1
  33. package/dist/js/core/components/functional/interactive/action.js +96 -0
  34. package/dist/js/core/components/functional/interactive/action.js.map +1 -0
  35. package/dist/js/core/components/functional/interactive/gamepad.js +206 -0
  36. package/dist/js/core/components/functional/interactive/gamepad.js.map +1 -0
  37. package/dist/js/core/components/functional/interactive/gesture.js +148 -0
  38. package/dist/js/core/components/functional/interactive/gesture.js.map +1 -0
  39. package/dist/js/core/components/functional/interactive/helpers.js +82 -0
  40. package/dist/js/core/components/functional/interactive/helpers.js.map +1 -0
  41. package/dist/js/core/components/functional/interactive/index.js +20 -0
  42. package/dist/js/core/components/functional/interactive/index.js.map +1 -0
  43. package/dist/js/core/components/functional/interactive/keyboard.js +183 -0
  44. package/dist/js/core/components/functional/interactive/keyboard.js.map +1 -0
  45. package/dist/js/core/components/functional/interactive/matrix.js +201 -0
  46. package/dist/js/core/components/functional/interactive/matrix.js.map +1 -0
  47. package/dist/js/core/components/functional/interactive/registry.js +28 -0
  48. package/dist/js/core/components/functional/interactive/registry.js.map +1 -0
  49. package/dist/js/core/components/functional/interactive/store.js +264 -0
  50. package/dist/js/core/components/functional/interactive/store.js.map +1 -0
  51. package/dist/js/core/components/functional/interactive/ticker.js +182 -0
  52. package/dist/js/core/components/functional/interactive/ticker.js.map +1 -0
  53. package/dist/js/core/components/functional/value/value.js +49 -4
  54. package/dist/js/core/components/functional/value/value.js.map +1 -1
  55. package/dist/js/core/components/ui/_css/rounded.js +34 -0
  56. package/dist/js/core/components/ui/_css/rounded.js.map +1 -0
  57. package/dist/js/core/components/ui/_css/type.js +44 -0
  58. package/dist/js/core/components/ui/_css/type.js.map +1 -1
  59. package/dist/js/core/components/ui/_i18n/ui-aria-labels.js +95 -0
  60. package/dist/js/core/components/ui/_i18n/ui-aria-labels.js.map +1 -0
  61. package/dist/js/core/components/ui/alert/alert.js +72 -87
  62. package/dist/js/core/components/ui/alert/alert.js.map +1 -1
  63. package/dist/js/core/components/ui/alert-messages/alert-messages.js +1 -0
  64. package/dist/js/core/components/ui/alert-messages/alert-messages.js.map +1 -1
  65. package/dist/js/core/components/ui/badge/badge.js +29 -80
  66. package/dist/js/core/components/ui/badge/badge.js.map +1 -1
  67. package/dist/js/core/components/ui/button/button.js +8 -7
  68. package/dist/js/core/components/ui/button/button.js.map +1 -1
  69. package/dist/js/core/components/ui/card/card-header.js +7 -2
  70. package/dist/js/core/components/ui/card/card-header.js.map +1 -1
  71. package/dist/js/core/components/ui/divider/divider.js +1 -1
  72. package/dist/js/core/components/ui/divider/divider.js.map +1 -1
  73. package/dist/js/core/components/ui/form/checkbox/checkbox.js +4 -20
  74. package/dist/js/core/components/ui/form/checkbox/checkbox.js.map +1 -1
  75. package/dist/js/core/components/ui/form/fieldset/legend-description.js +1 -1
  76. package/dist/js/core/components/ui/form/fieldset/legend.js +1 -1
  77. package/dist/js/core/components/ui/form/input/input.js +12 -15
  78. package/dist/js/core/components/ui/form/input/input.js.map +1 -1
  79. package/dist/js/core/components/ui/form/input-autocomplete/input-autocomplete.js +363 -158
  80. package/dist/js/core/components/ui/form/input-autocomplete/input-autocomplete.js.map +1 -1
  81. package/dist/js/core/components/ui/form/radio/radio.js +1 -1
  82. package/dist/js/core/components/ui/form/select/select.js +3 -6
  83. package/dist/js/core/components/ui/form/select/select.js.map +1 -1
  84. package/dist/js/core/components/ui/form/textarea/textarea.js +1 -2
  85. package/dist/js/core/components/ui/form/textarea/textarea.js.map +1 -1
  86. package/dist/js/core/components/ui/image/image.js +9 -37
  87. package/dist/js/core/components/ui/image/image.js.map +1 -1
  88. package/dist/js/core/components/ui/link/link.js +25 -26
  89. package/dist/js/core/components/ui/link/link.js.map +1 -1
  90. package/dist/js/core/components/ui/modal/modal-close.js +3 -12
  91. package/dist/js/core/components/ui/modal/modal-close.js.map +1 -1
  92. package/dist/js/core/components/ui/modal/modal.js +18 -18
  93. package/dist/js/core/components/ui/modal/modal.js.map +1 -1
  94. package/dist/js/core/components/ui/pop/pop.js +131 -112
  95. package/dist/js/core/components/ui/pop/pop.js.map +1 -1
  96. package/dist/js/core/components/ui/table/table.js.map +1 -1
  97. package/dist/js/core/components/ui/theme/theme.js +1 -1
  98. package/dist/js/core/components/ui/toast/dismissed.js +9 -0
  99. package/dist/js/core/components/ui/toast/dismissed.js.map +1 -0
  100. package/dist/js/core/components/ui/toast/render-content.js +14 -0
  101. package/dist/js/core/components/ui/toast/render-content.js.map +1 -0
  102. package/dist/js/core/components/ui/toast/toast-item.js +150 -96
  103. package/dist/js/core/components/ui/toast/toast-item.js.map +1 -1
  104. package/dist/js/core/components/ui/toast/toast.js +41 -13
  105. package/dist/js/core/components/ui/toast/toast.js.map +1 -1
  106. package/dist/js/core/components/ui/tooltip/tooltip.js +144 -143
  107. package/dist/js/core/components/ui/tooltip/tooltip.js.map +1 -1
  108. package/dist/js/core/decorators/subscriber/ancestorAttribute.js.map +1 -1
  109. package/dist/js/core/decorators/subscriber/derive.js +3 -1
  110. package/dist/js/core/decorators/subscriber/derive.js.map +1 -1
  111. package/dist/js/core/mixins/Fetcher.js.map +1 -1
  112. package/dist/js/core/mixins/FormCheckable.js +1 -8
  113. package/dist/js/core/mixins/FormCheckable.js.map +1 -1
  114. package/dist/js/core/mixins/FormElement.js +26 -53
  115. package/dist/js/core/mixins/FormElement.js.map +1 -1
  116. package/dist/js/core/utils/AncestorAttributeObserver.js +130 -55
  117. package/dist/js/core/utils/AncestorAttributeObserver.js.map +1 -1
  118. package/dist/js/core/utils/LocationHandler.js +1 -1
  119. package/dist/js/core/utils/LocationHandler.js.map +1 -1
  120. package/dist/js/core/utils/dismissed.js +23 -0
  121. package/dist/js/core/utils/dismissed.js.map +1 -0
  122. package/dist/js/core/utils/positioning.js +110 -0
  123. package/dist/js/core/utils/positioning.js.map +1 -0
  124. package/dist/js/directives.js +1 -2
  125. package/dist/js/directives.js.map +1 -1
  126. package/dist/types/addons/interactive.d.ts +6 -0
  127. package/dist/types/addons/interactive.d.ts.map +1 -0
  128. package/dist/types/core/components/functional/if/if.d.ts +14 -5
  129. package/dist/types/core/components/functional/if/if.d.ts.map +1 -1
  130. package/dist/types/core/components/functional/interactive/action.d.ts +22 -0
  131. package/dist/types/core/components/functional/interactive/action.d.ts.map +1 -0
  132. package/dist/types/core/components/functional/interactive/gamepad.d.ts +37 -0
  133. package/dist/types/core/components/functional/interactive/gamepad.d.ts.map +1 -0
  134. package/dist/types/core/components/functional/interactive/gesture.d.ts +26 -0
  135. package/dist/types/core/components/functional/interactive/gesture.d.ts.map +1 -0
  136. package/dist/types/core/components/functional/interactive/helpers.d.ts +23 -0
  137. package/dist/types/core/components/functional/interactive/helpers.d.ts.map +1 -0
  138. package/dist/types/core/components/functional/interactive/index.d.ts +20 -0
  139. package/dist/types/core/components/functional/interactive/index.d.ts.map +1 -0
  140. package/dist/types/core/components/functional/interactive/keyboard.d.ts +37 -0
  141. package/dist/types/core/components/functional/interactive/keyboard.d.ts.map +1 -0
  142. package/dist/types/core/components/functional/interactive/matrix.d.ts +31 -0
  143. package/dist/types/core/components/functional/interactive/matrix.d.ts.map +1 -0
  144. package/dist/types/core/components/functional/interactive/registry.d.ts +23 -0
  145. package/dist/types/core/components/functional/interactive/registry.d.ts.map +1 -0
  146. package/dist/types/core/components/functional/interactive/store.d.ts +46 -0
  147. package/dist/types/core/components/functional/interactive/store.d.ts.map +1 -0
  148. package/dist/types/core/components/functional/interactive/ticker.d.ts +33 -0
  149. package/dist/types/core/components/functional/interactive/ticker.d.ts.map +1 -0
  150. package/dist/types/core/components/functional/value/value.d.ts +6 -0
  151. package/dist/types/core/components/functional/value/value.d.ts.map +1 -1
  152. package/dist/types/core/components/ui/_css/rounded.d.ts +3 -0
  153. package/dist/types/core/components/ui/_css/rounded.d.ts.map +1 -0
  154. package/dist/types/core/components/ui/_css/type.d.ts +13 -0
  155. package/dist/types/core/components/ui/_css/type.d.ts.map +1 -1
  156. package/dist/types/core/components/ui/_i18n/ui-aria-labels.d.ts +83 -0
  157. package/dist/types/core/components/ui/_i18n/ui-aria-labels.d.ts.map +1 -0
  158. package/dist/types/core/components/ui/alert/alert.d.ts +14 -12
  159. package/dist/types/core/components/ui/alert/alert.d.ts.map +1 -1
  160. package/dist/types/core/components/ui/alert-messages/alert-messages.d.ts.map +1 -1
  161. package/dist/types/core/components/ui/badge/badge.d.ts +1 -1
  162. package/dist/types/core/components/ui/badge/badge.d.ts.map +1 -1
  163. package/dist/types/core/components/ui/button/button.d.ts +13 -29
  164. package/dist/types/core/components/ui/button/button.d.ts.map +1 -1
  165. package/dist/types/core/components/ui/card/card-header.d.ts.map +1 -1
  166. package/dist/types/core/components/ui/divider/divider.d.ts +2 -1
  167. package/dist/types/core/components/ui/divider/divider.d.ts.map +1 -1
  168. package/dist/types/core/components/ui/form/checkbox/checkbox.d.ts +25 -73
  169. package/dist/types/core/components/ui/form/checkbox/checkbox.d.ts.map +1 -1
  170. package/dist/types/core/components/ui/form/input/input.d.ts +14 -29
  171. package/dist/types/core/components/ui/form/input/input.d.ts.map +1 -1
  172. package/dist/types/core/components/ui/form/input-autocomplete/input-autocomplete.d.ts +63 -65
  173. package/dist/types/core/components/ui/form/input-autocomplete/input-autocomplete.d.ts.map +1 -1
  174. package/dist/types/core/components/ui/form/radio/radio.d.ts +1 -1
  175. package/dist/types/core/components/ui/form/select/select.d.ts +3 -5
  176. package/dist/types/core/components/ui/form/select/select.d.ts.map +1 -1
  177. package/dist/types/core/components/ui/form/textarea/textarea.d.ts +12 -28
  178. package/dist/types/core/components/ui/form/textarea/textarea.d.ts.map +1 -1
  179. package/dist/types/core/components/ui/image/image.d.ts +2 -1
  180. package/dist/types/core/components/ui/image/image.d.ts.map +1 -1
  181. package/dist/types/core/components/ui/link/link.d.ts +10 -9
  182. package/dist/types/core/components/ui/link/link.d.ts.map +1 -1
  183. package/dist/types/core/components/ui/modal/modal-close.d.ts +2 -2
  184. package/dist/types/core/components/ui/modal/modal-close.d.ts.map +1 -1
  185. package/dist/types/core/components/ui/pop/pop.d.ts +12 -4
  186. package/dist/types/core/components/ui/pop/pop.d.ts.map +1 -1
  187. package/dist/types/core/components/ui/table/table.d.ts +2 -1
  188. package/dist/types/core/components/ui/table/table.d.ts.map +1 -1
  189. package/dist/types/core/components/ui/toast/dismissed.d.ts +3 -0
  190. package/dist/types/core/components/ui/toast/dismissed.d.ts.map +1 -0
  191. package/dist/types/core/components/ui/toast/render-content.d.ts +7 -0
  192. package/dist/types/core/components/ui/toast/render-content.d.ts.map +1 -0
  193. package/dist/types/core/components/ui/toast/toast-item.d.ts +26 -9
  194. package/dist/types/core/components/ui/toast/toast-item.d.ts.map +1 -1
  195. package/dist/types/core/components/ui/toast/toast.d.ts +6 -3
  196. package/dist/types/core/components/ui/toast/toast.d.ts.map +1 -1
  197. package/dist/types/core/components/ui/toast/types.d.ts +12 -2
  198. package/dist/types/core/components/ui/toast/types.d.ts.map +1 -1
  199. package/dist/types/core/components/ui/tooltip/tooltip.d.ts +19 -11
  200. package/dist/types/core/components/ui/tooltip/tooltip.d.ts.map +1 -1
  201. package/dist/types/core/decorators/subscriber/ancestorAttribute.d.ts +3 -4
  202. package/dist/types/core/decorators/subscriber/ancestorAttribute.d.ts.map +1 -1
  203. package/dist/types/core/decorators/subscriber/derive.d.ts.map +1 -1
  204. package/dist/types/core/mixins/FormCheckable.d.ts +10 -27
  205. package/dist/types/core/mixins/FormCheckable.d.ts.map +1 -1
  206. package/dist/types/core/mixins/FormElement.d.ts +21 -10
  207. package/dist/types/core/mixins/FormElement.d.ts.map +1 -1
  208. package/dist/types/core/mixins/FormInput.d.ts +11 -27
  209. package/dist/types/core/mixins/FormInput.d.ts.map +1 -1
  210. package/dist/types/core/utils/AncestorAttributeObserver.d.ts +17 -9
  211. package/dist/types/core/utils/AncestorAttributeObserver.d.ts.map +1 -1
  212. package/dist/types/core/utils/LocationHandler.d.ts +3 -2
  213. package/dist/types/core/utils/LocationHandler.d.ts.map +1 -1
  214. package/dist/types/core/utils/dismissed.d.ts +3 -0
  215. package/dist/types/core/utils/dismissed.d.ts.map +1 -0
  216. package/dist/types/core/utils/positioning.d.ts +44 -0
  217. package/dist/types/core/utils/positioning.d.ts.map +1 -0
  218. package/dist/types/directives.d.ts +1 -3
  219. package/dist/types/directives.d.ts.map +1 -1
  220. package/dist/types/mixins.d.ts +22 -55
  221. package/dist/types/mixins.d.ts.map +1 -1
  222. package/docs/assets/{index-FmK4JaIM.js → index-D8MVWqY6.js} +946 -687
  223. package/docs/assets/index-DiD0qYvE.css +1 -0
  224. package/docs/crawl/core/components/ui/form/input-autocomplete/input-autocomplete.html +17 -85
  225. package/docs/crawl/docs/_misc/formelement-subscriber-removal.html +1 -1
  226. package/docs/crawl/hubs/form-components.html +13 -11
  227. package/docs/docs-mock-api-sw.js +5 -1
  228. package/docs/docs-mock-api-sw.js.map +2 -2
  229. package/docs/index.html +2 -2
  230. package/docs/llms-full.txt +12 -38
  231. package/docs/llms.txt +1 -1
  232. package/docs/src/core/components/functional/sdui/sdui.md +0 -0
  233. package/docs/src/core/components/ui/form/checkbox/checkbox.md +0 -0
  234. package/docs/src/core/components/ui/form/input-autocomplete/input-autocomplete.md +14 -118
  235. package/docs/src/docs/_getting-started/create-a-component.md +0 -0
  236. package/docs/src/docs/_misc/formelement-subscriber-removal.md +1 -1
  237. package/docs/src/docs/search/docs-search.json +195 -200
  238. package/docs/src/tsconfig.json +324 -0
  239. package/gitlab/job_tests.sh +25 -12
  240. package/index.html +3 -3
  241. package/package.json +182 -10
  242. package/public/docs-mock-api-sw.js +5 -1
  243. package/public/docs-mock-api-sw.js.map +2 -2
  244. package/scripts/build-addons.mjs +2 -2
  245. package/scripts/post-build.mjs +9 -0
  246. package/src/addons/interactive.ts +5 -0
  247. package/src/core/components/functional/if/if.ts +54 -7
  248. package/src/core/components/functional/interactive/action.ts +84 -0
  249. package/src/core/components/functional/interactive/gamepad.ts +197 -0
  250. package/src/core/components/functional/interactive/gesture.ts +136 -0
  251. package/src/core/components/functional/interactive/helpers.spec.ts +50 -0
  252. package/src/core/components/functional/interactive/helpers.ts +97 -0
  253. package/src/core/components/functional/interactive/index.ts +25 -0
  254. package/src/core/components/functional/interactive/interactive.md +33 -0
  255. package/src/core/components/functional/interactive/keyboard.ts +171 -0
  256. package/src/core/components/functional/interactive/matrix.ts +185 -0
  257. package/src/core/components/functional/interactive/registry.ts +46 -0
  258. package/src/core/components/functional/interactive/store.ts +270 -0
  259. package/src/core/components/functional/interactive/ticker.ts +171 -0
  260. package/src/core/components/functional/list/list.ts +0 -0
  261. package/src/core/components/functional/subscriber/subscriber.ts +0 -0
  262. package/src/core/components/functional/value/value.ts +44 -4
  263. package/src/core/components/ui/_css/rounded.ts +36 -0
  264. package/src/core/components/ui/_css/type.ts +49 -0
  265. package/src/core/components/ui/_i18n/ui-aria-labels.ts +104 -0
  266. package/src/core/components/ui/alert/alert.md +128 -72
  267. package/src/core/components/ui/alert/alert.spec.ts +145 -0
  268. package/src/core/components/ui/alert/alert.ts +86 -91
  269. package/src/core/components/ui/alert-messages/alert-messages.ts +1 -1
  270. package/src/core/components/ui/badge/badge.md +126 -78
  271. package/src/core/components/ui/badge/badge.ts +29 -81
  272. package/src/core/components/ui/button/button.md +1 -0
  273. package/src/core/components/ui/button/button.ts +12 -10
  274. package/src/core/components/ui/card/card-header.ts +7 -2
  275. package/src/core/components/ui/card/card.md +120 -65
  276. package/src/core/components/ui/divider/divider.ts +4 -9
  277. package/src/core/components/ui/form/checkbox/checkbox.md +1 -1
  278. package/src/core/components/ui/form/checkbox/checkbox.ts +4 -20
  279. package/src/core/components/ui/form/fieldset/legend-description.ts +1 -1
  280. package/src/core/components/ui/form/fieldset/legend.ts +1 -1
  281. package/src/core/components/ui/form/input/input.md +1 -1
  282. package/src/core/components/ui/form/input/input.ts +25 -27
  283. package/src/core/components/ui/form/input-autocomplete/input-autocomplete.md +14 -118
  284. package/src/core/components/ui/form/input-autocomplete/input-autocomplete.ts +419 -187
  285. package/src/core/components/ui/form/radio/radio.ts +1 -1
  286. package/src/core/components/ui/form/select/select.ts +3 -6
  287. package/src/core/components/ui/form/textarea/textarea.md +1 -1
  288. package/src/core/components/ui/form/textarea/textarea.ts +1 -2
  289. package/src/core/components/ui/image/image.md +147 -53
  290. package/src/core/components/ui/image/image.ts +10 -44
  291. package/src/core/components/ui/link/link.md +2 -2
  292. package/src/core/components/ui/link/link.ts +42 -37
  293. package/src/core/components/ui/modal/modal-close.ts +8 -12
  294. package/src/core/components/ui/modal/modal.ts +18 -18
  295. package/src/core/components/ui/pop/pop.md +105 -1
  296. package/src/core/components/ui/pop/pop.ts +145 -141
  297. package/src/core/components/ui/table/table.ts +2 -8
  298. package/src/core/components/ui/theme/theme.ts +1 -1
  299. package/src/core/components/ui/toast/dismissed.ts +14 -0
  300. package/src/core/components/ui/toast/render-content.ts +13 -0
  301. package/src/core/components/ui/toast/toast-item.ts +179 -103
  302. package/src/core/components/ui/toast/toast.ts +58 -21
  303. package/src/core/components/ui/toast/types.ts +14 -2
  304. package/src/core/components/ui/tooltip/tooltip.ts +176 -154
  305. package/src/core/decorators/subscriber/ancestorAttribute.spec.ts +26 -0
  306. package/src/core/decorators/subscriber/ancestorAttribute.ts +3 -4
  307. package/src/core/decorators/subscriber/derive.ts +3 -3
  308. package/src/core/mixins/Fetcher.ts +1 -1
  309. package/src/core/mixins/FormCheckable.ts +1 -8
  310. package/src/core/mixins/FormElement.ts +74 -76
  311. package/src/core/mixins/Subscriber.ts +5 -1
  312. package/src/core/utils/AncestorAttributeObserver.ts +183 -70
  313. package/src/core/utils/DataBindObserver.ts +0 -0
  314. package/src/core/utils/LocationHandler.ts +12 -5
  315. package/src/core/utils/Objects.ts +0 -0
  316. package/src/core/utils/dismissed.ts +22 -0
  317. package/src/core/utils/positioning.spec.ts +208 -0
  318. package/src/core/utils/positioning.ts +183 -0
  319. package/src/directives.ts +1 -3
  320. package/src/docs/_core-concept/dataFlow.md +1 -1
  321. package/src/docs/_decorators/ancestor-attribute.md +3 -2
  322. package/src/docs/_getting-started/cdn-addons.md +1 -0
  323. package/src/docs/_getting-started/concorde-outside.md +3 -3
  324. package/src/docs/_misc/formelement-subscriber-removal.md +115 -0
  325. package/src/docs/_misc/html-integration.md +2 -0
  326. package/src/docs/code.ts +3 -1
  327. package/src/docs/components/docs-demo-sources.ts +60 -0
  328. package/src/docs/docs.ts +1 -0
  329. package/src/docs/example/docs-input-autocomplete-demos.ts +110 -0
  330. package/src/docs/mock-api/router.ts +17 -1
  331. package/src/docs/navigation/navigation.ts +8 -0
  332. package/src/docs/search/docs-search.json +956 -243
  333. package/src/docs/tailwind/css/tailwind.css +13 -6
  334. package/src/tsconfig.json +135 -6
  335. package/src/tsconfig.tsbuildinfo +1 -1
  336. package/tailwind.config.js +50 -3
  337. package/vite/config.js +23 -35
  338. package/vite.config.mts +5 -0
  339. package/vitest.setup.ts +49 -13
  340. package/docs/assets/index-BZiZXMU-.css +0 -1
@@ -4,7 +4,6 @@ import Subscriber from "@supersoniks/concorde/core/mixins/Subscriber";
4
4
  import { Message } from "@supersoniks/concorde/core/_types/types";
5
5
  import { map } from "lit/directives/map.js";
6
6
  import { Size } from "@supersoniks/concorde/core/components/ui/_css/size";
7
-
8
7
  import { ifDefined } from "lit/directives/if-defined.js";
9
8
  import { APIResult } from "@supersoniks/concorde/core/components/ui/toast/message-subscriber";
10
9
 
@@ -37,6 +36,7 @@ export class AlertMessages extends Subscriber(LitElement, {} as APIResult) {
37
36
  ${map(this.messages, (message) => {
38
37
  if (message.type == "public") {
39
38
  return html`<sonic-alert
39
+ announce
40
40
  status=${message.status || "default"}
41
41
  text=${ifDefined(message.content)}
42
42
  size=${this.size}
@@ -1,127 +1,175 @@
1
1
  # Badge
2
2
 
3
+ A **non-interactive** pill for labels, counts, or highlights (counter, status, category). The API mirrors `sonic-button` (`type`, `variant`, `size`) without focus or click states.
4
+
5
+ Colors come from theme tokens (`--sc-primary`, `--sc-danger`, …) or the semantic `type` values below.
6
+
3
7
  ## Type
8
+
9
+ `default` — subtle background (`base-100`). `neutral` — dark fill (`base-content`) with light text, useful on light backgrounds.
10
+
4
11
  <sonic-code>
5
12
  <template>
6
- <sonic-badge>Default</sonic-badge>
7
- <sonic-badge type="primary">Primary</sonic-badge>
8
- <sonic-badge type="neutral">Neutral</sonic-badge>
9
- <sonic-badge type="warning">Warning</sonic-badge>
10
- <sonic-badge type="info">Info</sonic-badge>
11
- <sonic-badge type="success">Success</sonic-badge>
12
- <sonic-badge type="danger">Danger</sonic-badge>
13
- <sonic-badge type="contrast">Contrast</sonic-badge>
13
+ <div class="flex flex-wrap gap-2">
14
+ <sonic-badge>Default</sonic-badge>
15
+ <sonic-badge type="primary">Primary</sonic-badge>
16
+ <sonic-badge type="neutral">Neutral</sonic-badge>
17
+ <sonic-badge type="warning">Warning</sonic-badge>
18
+ <sonic-badge type="info">Info</sonic-badge>
19
+ <sonic-badge type="success">Success</sonic-badge>
20
+ <sonic-badge type="danger">Danger</sonic-badge>
21
+ </div>
14
22
  </template>
15
23
  </sonic-code>
16
24
 
25
+ ## Variant
26
+
27
+ `outline` — border and text in the `type` color. `ghost` — text only, no padding (except in forced-colors mode).
17
28
 
18
29
  ## Outline
30
+
19
31
  <sonic-code>
20
32
  <template>
21
- <div class="flex items-center flex-wrap gap-3">
22
- <sonic-badge variant="outline">Default</sonic-badge>
23
- <sonic-badge variant="outline" type="primary">Primary</sonic-badge>
24
- <sonic-badge variant="outline" type="neutral">Neutral</sonic-badge>
25
- <sonic-badge variant="outline" type="warning">Warning</sonic-badge>
26
- <sonic-badge variant="outline" type="info">Info</sonic-badge>
27
- <sonic-badge variant="outline" type="success">Success</sonic-badge>
28
- <sonic-badge variant="outline" type="danger">Danger</sonic-badge>
29
- <sonic-badge variant="outline" type="contrast">Contrast</sonic-badge>
30
- </div>
33
+ <div class="flex items-center flex-wrap gap-3">
34
+ <sonic-badge variant="outline">Default</sonic-badge>
35
+ <sonic-badge variant="outline" type="primary">Primary</sonic-badge>
36
+ <sonic-badge variant="outline" type="neutral">Neutral</sonic-badge>
37
+ <sonic-badge variant="outline" type="warning">Warning</sonic-badge>
38
+ <sonic-badge variant="outline" type="info">Info</sonic-badge>
39
+ <sonic-badge variant="outline" type="success">Success</sonic-badge>
40
+ <sonic-badge variant="outline" type="danger">Danger</sonic-badge>
41
+ </div>
31
42
  </template>
32
43
  </sonic-code>
33
44
 
34
45
  ## Ghost
46
+
35
47
  <sonic-code>
36
48
  <template>
37
49
  <div class="flex items-center flex-wrap gap-3">
38
- <sonic-badge variant="ghost">Default</sonic-badge>
39
- <sonic-badge variant="ghost" type="primary">Primary</sonic-badge>
40
- <sonic-badge variant="ghost" type="neutral">Neutral</sonic-badge>
41
- <sonic-badge variant="ghost" type="warning">Warning</sonic-badge>
42
- <sonic-badge variant="ghost" type="info">Info</sonic-badge>
43
- <sonic-badge variant="ghost" type="success">Success</sonic-badge>
44
- <sonic-badge variant="ghost" type="danger">Danger</sonic-badge>
45
- <sonic-badge variant="ghost" type="contrast">Contrast</sonic-badge>
46
- </div>
50
+ <sonic-badge variant="ghost">Default</sonic-badge>
51
+ <sonic-badge variant="ghost" type="primary">Primary</sonic-badge>
52
+ <sonic-badge variant="ghost" type="neutral">Neutral</sonic-badge>
53
+ <sonic-badge variant="ghost" type="warning">Warning</sonic-badge>
54
+ <sonic-badge variant="ghost" type="info">Info</sonic-badge>
55
+ <sonic-badge variant="ghost" type="success">Success</sonic-badge>
56
+ <sonic-badge variant="ghost" type="danger">Danger</sonic-badge>
57
+ </div>
47
58
  </template>
48
59
  </sonic-code>
49
60
 
50
61
  ## Size
62
+
63
+ Default size is `md` (omit the `size` attribute). Typography and padding follow `sonic-button`.
64
+
51
65
  <sonic-code>
52
66
  <template>
53
- <sonic-badge size="2xs">2Xs badge</sonic-badge>
54
- <sonic-badge size="xs">Xs badge</sonic-badge>
55
- <sonic-badge size="sm">Sm badge</sonic-badge>
56
- <sonic-badge>Md badge</sonic-badge>
57
- <sonic-badge size="lg">Lg badge</sonic-badge>
58
- <sonic-badge size="xl">Xl badge</sonic-badge>
59
- <sonic-badge size="2xl">2Xl badge</sonic-badge>
67
+ <div class="flex flex-wrap items-center gap-2">
68
+ <sonic-badge size="2xs">2Xs</sonic-badge>
69
+ <sonic-badge size="xs">Xs</sonic-badge>
70
+ <sonic-badge size="sm">Sm</sonic-badge>
71
+ <sonic-badge>Md</sonic-badge>
72
+ <sonic-badge size="lg">Lg</sonic-badge>
73
+ <sonic-badge size="xl">Xl</sonic-badge>
74
+ <sonic-badge size="2xl">2Xl</sonic-badge>
75
+ </div>
60
76
  </template>
61
77
  </sonic-code>
62
78
 
79
+ ## Prefix and suffix slots
80
+
81
+ Icons or short text before / after the main label.
63
82
 
64
- ## Empty badges
65
83
  <sonic-code>
66
84
  <template>
67
- <div class="flex items-center flex-wrap gap-3">
68
- <sonic-badge type="danger" size="2xs"></sonic-badge>
69
- <sonic-badge type="danger" size="xs"></sonic-badge>
70
- <sonic-badge type="danger" size="sm"></sonic-badge>
71
- <sonic-badge type="danger"></sonic-badge>
72
- <sonic-badge type="danger" size="lg"></sonic-badge>
73
- <sonic-badge type="danger" size="xl"></sonic-badge>
74
- <sonic-badge type="danger" size="2xl"></sonic-badge>
75
- </div>
85
+ <sonic-badge type="info" size="sm">
86
+ <sonic-icon slot="prefix" name="info-empty" library="iconoir"></sonic-icon>
87
+ Info
88
+ </sonic-badge>
89
+ <sonic-badge type="success">
90
+ Verified
91
+ <sonic-icon slot="suffix" name="check" library="iconoir"></sonic-icon>
92
+ </sonic-badge>
76
93
  </template>
77
94
  </sonic-code>
78
95
 
96
+ ## Empty badges
97
+
98
+ Badge with no text (visual dot). `min-width` / `min-height` keep a readable shape.
99
+
100
+ <sonic-code>
101
+ <template>
102
+ <div class="flex items-center flex-wrap gap-3">
103
+ <sonic-badge type="danger" size="2xs"></sonic-badge>
104
+ <sonic-badge type="danger" size="xs"></sonic-badge>
105
+ <sonic-badge type="danger" size="sm"></sonic-badge>
106
+ <sonic-badge type="danger"></sonic-badge>
107
+ <sonic-badge type="danger" size="lg"></sonic-badge>
108
+ <sonic-badge type="danger" size="xl"></sonic-badge>
109
+ <sonic-badge type="danger" size="2xl"></sonic-badge>
110
+ </div>
111
+ </template>
112
+ </sonic-code>
79
113
 
80
114
  ## Ellipsis
115
+
116
+ With `ellipsis`, long labels truncate. The parent must constrain width (`max-width`, grid, etc.).
117
+
81
118
  <sonic-code>
82
119
  <template>
83
- <div class="grid grid-cols-3 gap-4" >
84
- <sonic-badge ellipsis size="sm" variant="outline" >
85
- <sonic-icon slot="prefix" name="info-empty" library="iconoir"></sonic-icon> Lorem ipsum dolor sit consectetur adipiscing elit. Lorem ipsum dolor sit consectetur adipiscing elit.</sonic-badge>
86
- <sonic-badge ellipsis size="sm" > <sonic-icon slot="prefix" name="info-empty" library="iconoir"></sonic-icon> Lorem ipsum dolor sit consectetur adipiscing elit. Lorem ipsum dolor sit consectetur adipiscing elit.</sonic-badge>
120
+ <div class="grid grid-cols-2 gap-4 max-w-xl">
121
+ <sonic-badge ellipsis size="sm" variant="outline">
122
+ <sonic-icon slot="prefix" name="info-empty" library="iconoir"></sonic-icon>
123
+ Lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod.
124
+ </sonic-badge>
125
+ <sonic-badge ellipsis size="sm">
126
+ <sonic-icon slot="prefix" name="info-empty" library="iconoir"></sonic-icon>
127
+ Lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod.
128
+ </sonic-badge>
87
129
  </div>
88
130
  </template>
89
131
  </sonic-code>
90
132
 
91
133
  ## Badge in button
134
+
135
+ Count inside a button (`slot="suffix"`) or a badge absolutely positioned on a button / icon.
136
+
92
137
  <sonic-code>
93
138
  <template>
94
- <div class="flex flex-wrap gap-4 items-center">
95
- <sonic-button type="default">
96
- Messages <sonic-badge slot="suffix" type="danger" size="xs">5</sonic-badge>
97
- </sonic-button>
98
- <div class="relative inline-block">
99
- <sonic-button type="success" class="relative"> Mon compte </sonic-button>
100
- <sonic-badge type="danger" size="xs" class="absolute right-1 top-0 pe-none transform -translate-y-1/2"
101
- >12</sonic-badge
102
- >
103
- </div>
104
- <div class="relative inline-block">
105
- <sonic-button type="neutral" shape="circle" variant="outline"
106
- ><sonic-icon library="iconoir" name="user"></sonic-icon>
107
- </sonic-button>
108
- <sonic-badge
109
- type="danger"
110
- size="xs"
111
- class="absolute right-1 bottom-1 pe-none transform translate-y-1/2 translate-x-1/2"
112
- >33</sonic-badge
113
- >
114
- </div>
115
- <div class="relative inline-block">
116
- <sonic-button type="neutral" shape="circle" variant="outline"
117
- ><sonic-icon library="iconoir" name="user"></sonic-icon>
139
+ <div class="flex flex-wrap gap-4 items-center">
140
+ <sonic-button type="default">
141
+ Messages <sonic-badge slot="suffix" type="danger" size="xs">5</sonic-badge>
118
142
  </sonic-button>
119
- <sonic-badge
120
- type="danger"
121
- size="xs"
122
- class="absolute right-2 bottom-2 pe-none transform translate-y-1/2 translate-x-1/2"
123
- ></sonic-badge>
143
+ <div class="relative inline-block">
144
+ <sonic-button type="success" class="relative">My account</sonic-button>
145
+ <sonic-badge
146
+ type="danger"
147
+ size="xs"
148
+ class="absolute right-1 top-0 pe-none transform -translate-y-1/2"
149
+ >12</sonic-badge
150
+ >
151
+ </div>
152
+ <div class="relative inline-block">
153
+ <sonic-button type="neutral" shape="circle" variant="outline">
154
+ <sonic-icon library="iconoir" name="user"></sonic-icon>
155
+ </sonic-button>
156
+ <sonic-badge
157
+ type="danger"
158
+ size="xs"
159
+ class="absolute right-1 bottom-1 pe-none transform translate-y-1/2 translate-x-1/2"
160
+ >33</sonic-badge
161
+ >
162
+ </div>
163
+ <div class="relative inline-block">
164
+ <sonic-button type="neutral" shape="circle" variant="outline">
165
+ <sonic-icon library="iconoir" name="user"></sonic-icon>
166
+ </sonic-button>
167
+ <sonic-badge
168
+ type="danger"
169
+ size="xs"
170
+ class="absolute right-2 bottom-2 pe-none transform translate-y-1/2 translate-x-1/2"
171
+ ></sonic-badge>
172
+ </div>
124
173
  </div>
125
- </div>
126
174
  </template>
127
175
  </sonic-code>
@@ -4,6 +4,7 @@ import {
4
4
  fontSize,
5
5
  Size,
6
6
  } from "@supersoniks/concorde/core/components/ui/_css/size";
7
+ import { typesBg } from "@supersoniks/concorde/core/components/ui/_css/type";
7
8
 
8
9
  const tagName = "sonic-badge";
9
10
  /**
@@ -15,125 +16,73 @@ const tagName = "sonic-badge";
15
16
  export class Badge extends LitElement {
16
17
  static styles = [
17
18
  fontSize,
19
+ typesBg,
18
20
  css`
19
21
  :host {
20
- --sc-badge-gap: 0.3em;
21
- --sc-badge-py: 0.35em;
22
- --sc-badge-px: 0.67em;
23
-
24
- --sc-badge-color: var(--sc-base-content, #000);
25
- --sc-badge-bg: var(--sc-base-100, rgba(0, 0, 0, 0.07));
26
-
27
- /*--sc-badge-border-width: var(--sc-form-border-width, 0.1rem);*/
28
- --sc-badge-border-width: 1px;
29
- --sc-badge-border-color: transparent;
30
- --sc-badge-border: var(--sc-badge-border-width) solid
31
- var(--sc-badge-border-color);
32
-
33
- --sc-badge-rounded: 0.85em;
34
- --sc-badge-fw: var(--sc-font-weight-base, 400);
22
+ --sc-_gap: 0.3em;
23
+ --sc-_py: 0.35em;
24
+ --sc-_px: 0.67em;
25
+ --sc-_rounded: 0.85em;
26
+ --sc-_fw: var(--sc-font-weight-base, 400);
27
+ --sc-_border-width: 1px;
28
+ --sc-_border-color: transparent;
35
29
 
36
30
  display: inline-flex;
37
31
  align-items: center;
32
+ gap: var(--sc-_gap);
38
33
  box-sizing: border-box;
39
- line-height: var(--sc-_lh);
40
- border-radius: var(--sc-badge-rounded);
41
-
42
- background: var(--sc-badge-bg);
43
- color: var(--sc-badge-color);
44
- font-family: var(--sc-badge-ff, var(--sc-font-family-base, sans-serif));
45
- font-weight: var(--sc-badge-fw);
46
- line-height: 1;
47
-
48
- padding-top: var(--sc-badge-py);
49
- padding-bottom: var(--sc-badge-py);
50
- padding-left: var(--sc-badge-px);
51
- padding-right: var(--sc-badge-px);
52
- /**Round pour lissage px */
53
- min-height: round(calc(var(--sc-badge-px) * 2), 1px);
54
- min-width: round(calc(var(--sc-badge-px) * 2), 1px);
55
- border: var(--sc-badge-border);
34
+ line-height: var(--sc-_lh, 1);
35
+ border-radius: var(--sc-_rounded);
36
+ font-family: var(--sc-font-family-base, sans-serif);
37
+ font-weight: var(--sc-_fw);
38
+ padding: var(--sc-_py) var(--sc-_px);
39
+ min-height: round(calc(var(--sc-_px) * 2), 1px);
40
+ min-width: round(calc(var(--sc-_px) * 2), 1px);
41
+ border: var(--sc-_border-width) solid var(--sc-_border-color);
56
42
  -webkit-print-color-adjust: exact;
57
43
  }
58
44
 
59
- /*TYPES*/
60
- :host([type="primary"]) {
61
- --sc-badge-color: var(--sc-primary-content, var(--sc-base, #fff));
62
- --sc-badge-bg: var(--sc-primary, var(--sc-base-content, #000));
63
- }
64
- :host([type="warning"]) {
65
- --sc-badge-color: var(--sc-warning-content, var(--sc-base, #fff));
66
- --sc-badge-bg: var(--sc-warning, var(--sc-base-content, #000));
67
- }
68
- :host([type="danger"]) {
69
- --sc-badge-color: var(--sc-danger-content, var(--sc-base, #fff));
70
- --sc-badge-bg: var(--sc-danger, var(--sc-base-content, #000));
71
- }
72
- :host([type="info"]) {
73
- --sc-badge-color: var(--sc-info-content, var(--sc-base, #fff));
74
- --sc-badge-bg: var(--sc-info, var(--sc-base-content, #000));
75
- }
76
- :host([type="success"]) {
77
- --sc-badge-color: var(--sc-success-content, var(--sc-base, #fff));
78
- --sc-badge-bg: var(--sc-success, var(--sc-base-content, #000));
79
- }
80
- :host([type="neutral"]) {
81
- --sc-badge-color: var(--sc-base, #fff);
82
- --sc-badge-bg: var(--sc-base-content, #000);
83
- }
84
-
85
- :host([contrast]),
86
- :host([type="contrast"]) {
87
- --sc-badge-color: var(--sc-contrast-content, #fff);
88
- --sc-badge-bg: var(--sc-contrast, #000);
89
- }
90
-
91
- /*SIZE*/
92
- :host {
93
- gap: var(--sc-badge-gap);
94
- }
95
-
96
45
  :host([size="2xs"]),
97
46
  :host([size="xs"]),
98
47
  :host([size="sm"]) {
99
- --sc-badge-gap: 0.35em;
48
+ --sc-_gap: 0.35em;
100
49
  }
101
50
 
102
51
  :host([size="lg"]),
103
52
  :host([size="xl"]) {
104
53
  --sc-_lh: 1.2;
105
- --sc-badge-gap: 0.5em;
54
+ --sc-_gap: 0.5em;
106
55
  }
107
56
 
108
57
  /*OUTLINE*/
109
58
  :host([variant="outline"][type]) {
110
- border-width: var(--sc-badge-border-width) !important;
111
- border-color: var(--sc-badge-bg);
112
- color: var(--sc-badge-bg);
59
+ border-width: var(--sc-_border-width) !important;
60
+ border-color: var(--sc-_bg);
61
+ color: var(--sc-_bg);
113
62
  background: transparent;
114
63
  }
115
64
 
116
65
  :host([variant="outline"][type="default"]) {
117
- border-color: var(--sc-base-content, #000);
118
- color: var(--sc-base-content, #000);
66
+ border-color: var(--sc-_color);
67
+ color: var(--sc-_color);
119
68
  background: transparent;
120
69
  }
121
70
 
122
71
  /*GHOST*/
123
72
  :host([variant="ghost"][type]) {
124
- color: var(--sc-badge-bg);
73
+ color: var(--sc-_bg);
125
74
  background: transparent;
126
75
  padding: 0;
127
76
  }
128
77
 
129
78
  @media (forced-colors: active) {
130
79
  :host([variant="ghost"][type]) {
131
- padding: var(--sc-badge-py) var(--sc-badge-px);
80
+ padding: var(--sc-_py) var(--sc-_px);
132
81
  }
133
82
  }
134
-
83
+ /* surcharge du default pour le ghost */
135
84
  :host([variant="ghost"][type="default"]) {
136
- color: var(--sc-badge-color);
85
+ color: var(--sc-_color);
137
86
  background: transparent;
138
87
  }
139
88
 
@@ -169,7 +118,6 @@ export class Badge extends LitElement {
169
118
  | "danger"
170
119
  | "success"
171
120
  | "info"
172
- | "contrast"
173
121
  | "neutral" = "default";
174
122
  /**
175
123
  * Le composant par defaut sans se paramètre à forte afordance
@@ -71,6 +71,7 @@ The length of the button depends on the size of its content
71
71
  <template>
72
72
  <sonic-button loading></sonic-button>
73
73
  <sonic-button loading>Loading button</sonic-button>
74
+ <sonic-button loading><span slot="prefix">🚀</span>Loading with prefix<span slot="suffix">😂</span></sonic-button>
74
75
  </template>
75
76
  </sonic-code>
76
77
 
@@ -1,4 +1,6 @@
1
- import LocationHandler from "@supersoniks/concorde/core/utils/LocationHandler";
1
+ import LocationHandler, {
2
+ type AutoActiveMode,
3
+ } from "@supersoniks/concorde/core/utils/LocationHandler";
2
4
  import { html, LitElement, css, CSSResultGroup } from "lit";
3
5
  import {
4
6
  customElement,
@@ -9,7 +11,6 @@ import {
9
11
  import { styleMap } from "lit/directives/style-map.js";
10
12
  import FormElement from "@supersoniks/concorde/core/mixins/FormElement";
11
13
  import FormCheckable from "@supersoniks/concorde/core/mixins/FormCheckable";
12
- import Subscriber from "@supersoniks/concorde/core/mixins/Subscriber";
13
14
  import { ifDefined } from "lit/directives/if-defined.js";
14
15
  import {
15
16
  fontSize,
@@ -42,7 +43,7 @@ const tagName = "sonic-button";
42
43
  * * Le bouton possède cependant et notamment une propriété href contrairement à un badge
43
44
  */
44
45
  @customElement(tagName)
45
- export class Button extends FormCheckable(FormElement(Subscriber(LitElement))) {
46
+ export class Button extends FormCheckable(FormElement(LitElement)) {
46
47
  static styles = [
47
48
  fontSize,
48
49
  css`
@@ -382,8 +383,9 @@ export class Button extends FormCheckable(FormElement(Subscriber(LitElement))) {
382
383
  position: relative;
383
384
  }
384
385
 
385
- :host([loading]) slot {
386
- opacity: 0 !important;
386
+ :host([loading]) slot,
387
+ :host([loading]) slot::slotted(*) {
388
+ visibility: hidden !important;
387
389
  pointer-events: none;
388
390
  }
389
391
  /*Loading*/
@@ -396,8 +398,8 @@ export class Button extends FormCheckable(FormElement(Subscriber(LitElement))) {
396
398
  align-items: center;
397
399
  justify-content: center;
398
400
  line-height: 0;
399
- height: var(--sc-btn-ff);
400
- width: var(--sc-btn-ff);
401
+ height: var(--sc-btn-fs);
402
+ width: var(--sc-btn-fs);
401
403
  animation: rotation 2s infinite linear;
402
404
  }
403
405
 
@@ -480,8 +482,7 @@ export class Button extends FormCheckable(FormElement(Subscriber(LitElement))) {
480
482
  * - strict-path-only : l'url courante match exactement avec le path du bouton sans les query params
481
483
  * - disabled : aucune activation / désactivation
482
484
  */
483
- @property({ type: String }) autoActive: "strict" | "partial" | "disabled" =
484
- "partial";
485
+ @property({ type: String }) autoActive: AutoActiveMode = "partial";
485
486
 
486
487
  /**
487
488
  * Laisse apparaitre un loader en remplacement du contenu du bouton.
@@ -628,7 +629,7 @@ export class Button extends FormCheckable(FormElement(Subscriber(LitElement))) {
628
629
  flexDirection: this.direction,
629
630
  alignItems: this.alignItems,
630
631
  justifyContent: this.justify,
631
- align: this.align,
632
+ textAlign: this.align,
632
633
  minWidth: this.minWidth,
633
634
  };
634
635
 
@@ -641,6 +642,7 @@ export class Button extends FormCheckable(FormElement(Subscriber(LitElement))) {
641
642
  aria-expanded=${ifDefined(this.sonicAriaExpanded)}
642
643
  aria-label=${ifDefined(this.ariaLabel)}
643
644
  aria-labelledby=${ifDefined(this.ariaLabelledby)}
645
+ aria-busy=${ifDefined(this.loading ? "true" : undefined)}
644
646
  ?disabled=${this.disabled}
645
647
  @click=${this.handleChange}
646
648
  @pointerdown=${this.handleRepeatStart}
@@ -10,7 +10,7 @@ export class CardHeader extends LitElement {
10
10
  css`
11
11
  :host {
12
12
  --sc-card-header-mb: 1.35rem;
13
- --sc-card-header-font-size: 1.875rem;
13
+ --sc-card-header-font-size: 1.5rem;
14
14
  --sc-card-header-font-weight: var(--sc-headings-font-weight, 700);
15
15
  --sc-card-header-font-style: var(--sc-headings-font-style, normal);
16
16
  --sc-card-header-family: var(
@@ -42,8 +42,13 @@ export class CardHeader extends LitElement {
42
42
  flex-shrink: 0;
43
43
  }
44
44
 
45
+ ::slotted([slot="suffix"]) {
46
+ flex-shrink: 0;
47
+ }
48
+
49
+ sonic-card-header-description,
45
50
  ::slotted(sonic-card-header-description) {
46
- margin-top: 0.1em;
51
+ margin-top: 0.12em;
47
52
  }
48
53
  `,
49
54
  ];