@supersoniks/concorde 4.9.98-visual-stack.0 → 4.9.98-visual-stack.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 (476) hide show
  1. package/.gitlab-ci.yml +0 -13
  2. package/build-infos.json +1 -1
  3. package/concorde-3d.bundle.js +201 -152
  4. package/concorde-3d.es.js +14688 -13906
  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 +31 -20
  12. package/concorde-shader.es.js +2773 -2547
  13. package/concorde-webgpu.bundle.js +43 -32
  14. package/concorde-webgpu.es.js +1819 -1553
  15. package/dist/concorde-3d.bundle.js +201 -152
  16. package/dist/concorde-3d.es.js +14688 -13906
  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 +31 -20
  24. package/dist/concorde-shader.es.js +2773 -2547
  25. package/dist/concorde-webgpu.bundle.js +43 -32
  26. package/dist/concorde-webgpu.es.js +1819 -1553
  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/3d/3d.js +90 -2
  32. package/dist/js/core/components/functional/3d/3d.js.map +1 -1
  33. package/dist/js/core/components/functional/3d/constants.js +1 -0
  34. package/dist/js/core/components/functional/3d/constants.js.map +1 -1
  35. package/dist/js/core/components/functional/3d/ensure.js +6 -3
  36. package/dist/js/core/components/functional/3d/ensure.js.map +1 -1
  37. package/dist/js/core/components/functional/3d/form-params.js +2 -0
  38. package/dist/js/core/components/functional/3d/form-params.js.map +1 -1
  39. package/dist/js/core/components/functional/3d/life.js +2 -1
  40. package/dist/js/core/components/functional/3d/life.js.map +1 -1
  41. package/dist/js/core/components/functional/3d/out-publish.js +3 -2
  42. package/dist/js/core/components/functional/3d/out-publish.js.map +1 -1
  43. package/dist/js/core/components/functional/3d/playback.js +6 -1
  44. package/dist/js/core/components/functional/3d/playback.js.map +1 -1
  45. package/dist/js/core/components/functional/3d/post-bind.js +207 -0
  46. package/dist/js/core/components/functional/3d/post-bind.js.map +1 -0
  47. package/dist/js/core/components/functional/3d/post-channels.js +39 -0
  48. package/dist/js/core/components/functional/3d/post-channels.js.map +1 -0
  49. package/dist/js/core/components/functional/3d/post-fx.js +495 -0
  50. package/dist/js/core/components/functional/3d/post-fx.js.map +1 -0
  51. package/dist/js/core/components/functional/3d/props.js +142 -0
  52. package/dist/js/core/components/functional/3d/props.js.map +1 -1
  53. package/dist/js/core/components/functional/3d/reload.js +2 -0
  54. package/dist/js/core/components/functional/3d/reload.js.map +1 -1
  55. package/dist/js/core/components/functional/3d/runtime.js +80 -3
  56. package/dist/js/core/components/functional/3d/runtime.js.map +1 -1
  57. package/dist/js/core/components/functional/3d/scene-runtime.js +1 -1
  58. package/dist/js/core/components/functional/3d/scene-runtime.js.map +1 -1
  59. package/dist/js/core/components/functional/3d/tune.js +21 -0
  60. package/dist/js/core/components/functional/3d/tune.js.map +1 -1
  61. package/dist/js/core/components/functional/3d/updated.js +13 -1
  62. package/dist/js/core/components/functional/3d/updated.js.map +1 -1
  63. package/dist/js/core/components/functional/if/if.js +65 -7
  64. package/dist/js/core/components/functional/if/if.js.map +1 -1
  65. package/dist/js/core/components/functional/interactive/action.js +96 -0
  66. package/dist/js/core/components/functional/interactive/action.js.map +1 -0
  67. package/dist/js/core/components/functional/interactive/gamepad.js +206 -0
  68. package/dist/js/core/components/functional/interactive/gamepad.js.map +1 -0
  69. package/dist/js/core/components/functional/interactive/gesture.js +148 -0
  70. package/dist/js/core/components/functional/interactive/gesture.js.map +1 -0
  71. package/dist/js/core/components/functional/interactive/helpers.js +82 -0
  72. package/dist/js/core/components/functional/interactive/helpers.js.map +1 -0
  73. package/dist/js/core/components/functional/interactive/index.js +20 -0
  74. package/dist/js/core/components/functional/interactive/index.js.map +1 -0
  75. package/dist/js/core/components/functional/interactive/keyboard.js +183 -0
  76. package/dist/js/core/components/functional/interactive/keyboard.js.map +1 -0
  77. package/dist/js/core/components/functional/interactive/matrix.js +201 -0
  78. package/dist/js/core/components/functional/interactive/matrix.js.map +1 -0
  79. package/dist/js/core/components/functional/interactive/registry.js +28 -0
  80. package/dist/js/core/components/functional/interactive/registry.js.map +1 -0
  81. package/dist/js/core/components/functional/interactive/store.js +264 -0
  82. package/dist/js/core/components/functional/interactive/store.js.map +1 -0
  83. package/dist/js/core/components/functional/interactive/ticker.js +182 -0
  84. package/dist/js/core/components/functional/interactive/ticker.js.map +1 -0
  85. package/dist/js/core/components/functional/shader/gl-runtime.js +128 -14
  86. package/dist/js/core/components/functional/shader/gl-runtime.js.map +1 -1
  87. package/dist/js/core/components/functional/shader/shader.js +154 -57
  88. package/dist/js/core/components/functional/shader/shader.js.map +1 -1
  89. package/dist/js/core/components/functional/shader/shadertoy-prelude.js +39 -5
  90. package/dist/js/core/components/functional/shader/shadertoy-prelude.js.map +1 -1
  91. package/dist/js/core/components/functional/shader/types.js +58 -7
  92. package/dist/js/core/components/functional/shader/types.js.map +1 -1
  93. package/dist/js/core/components/functional/value/value.js +49 -4
  94. package/dist/js/core/components/functional/value/value.js.map +1 -1
  95. package/dist/js/core/components/functional/webgpu/gl-fallback.js +27 -6
  96. package/dist/js/core/components/functional/webgpu/gl-fallback.js.map +1 -1
  97. package/dist/js/core/components/functional/webgpu/gpu-runtime.js +115 -13
  98. package/dist/js/core/components/functional/webgpu/gpu-runtime.js.map +1 -1
  99. package/dist/js/core/components/functional/webgpu/helpers.js +8 -2
  100. package/dist/js/core/components/functional/webgpu/helpers.js.map +1 -1
  101. package/dist/js/core/components/functional/webgpu/webgpu.js +34 -1
  102. package/dist/js/core/components/functional/webgpu/webgpu.js.map +1 -1
  103. package/dist/js/core/components/ui/_css/rounded.js +34 -0
  104. package/dist/js/core/components/ui/_css/rounded.js.map +1 -0
  105. package/dist/js/core/components/ui/_css/type.js +44 -0
  106. package/dist/js/core/components/ui/_css/type.js.map +1 -1
  107. package/dist/js/core/components/ui/_i18n/ui-aria-labels.js +95 -0
  108. package/dist/js/core/components/ui/_i18n/ui-aria-labels.js.map +1 -0
  109. package/dist/js/core/components/ui/alert/alert.js +72 -87
  110. package/dist/js/core/components/ui/alert/alert.js.map +1 -1
  111. package/dist/js/core/components/ui/alert-messages/alert-messages.js +1 -0
  112. package/dist/js/core/components/ui/alert-messages/alert-messages.js.map +1 -1
  113. package/dist/js/core/components/ui/badge/badge.js +29 -80
  114. package/dist/js/core/components/ui/badge/badge.js.map +1 -1
  115. package/dist/js/core/components/ui/button/button.js +8 -7
  116. package/dist/js/core/components/ui/button/button.js.map +1 -1
  117. package/dist/js/core/components/ui/card/card-header.js +7 -2
  118. package/dist/js/core/components/ui/card/card-header.js.map +1 -1
  119. package/dist/js/core/components/ui/divider/divider.js +1 -1
  120. package/dist/js/core/components/ui/divider/divider.js.map +1 -1
  121. package/dist/js/core/components/ui/form/checkbox/checkbox.js +4 -20
  122. package/dist/js/core/components/ui/form/checkbox/checkbox.js.map +1 -1
  123. package/dist/js/core/components/ui/form/fieldset/legend-description.js +1 -1
  124. package/dist/js/core/components/ui/form/fieldset/legend.js +1 -1
  125. package/dist/js/core/components/ui/form/input/input.js +12 -15
  126. package/dist/js/core/components/ui/form/input/input.js.map +1 -1
  127. package/dist/js/core/components/ui/form/input-autocomplete/input-autocomplete.js +363 -158
  128. package/dist/js/core/components/ui/form/input-autocomplete/input-autocomplete.js.map +1 -1
  129. package/dist/js/core/components/ui/form/radio/radio.js +1 -1
  130. package/dist/js/core/components/ui/form/select/select.js +3 -6
  131. package/dist/js/core/components/ui/form/select/select.js.map +1 -1
  132. package/dist/js/core/components/ui/form/textarea/textarea.js +1 -2
  133. package/dist/js/core/components/ui/form/textarea/textarea.js.map +1 -1
  134. package/dist/js/core/components/ui/image/image.js +9 -37
  135. package/dist/js/core/components/ui/image/image.js.map +1 -1
  136. package/dist/js/core/components/ui/link/link.js +25 -26
  137. package/dist/js/core/components/ui/link/link.js.map +1 -1
  138. package/dist/js/core/components/ui/modal/modal-close.js +3 -12
  139. package/dist/js/core/components/ui/modal/modal-close.js.map +1 -1
  140. package/dist/js/core/components/ui/modal/modal.js +18 -18
  141. package/dist/js/core/components/ui/modal/modal.js.map +1 -1
  142. package/dist/js/core/components/ui/pop/pop.js +131 -112
  143. package/dist/js/core/components/ui/pop/pop.js.map +1 -1
  144. package/dist/js/core/components/ui/table/table.js.map +1 -1
  145. package/dist/js/core/components/ui/theme/theme.js +1 -1
  146. package/dist/js/core/components/ui/toast/dismissed.js +9 -0
  147. package/dist/js/core/components/ui/toast/dismissed.js.map +1 -0
  148. package/dist/js/core/components/ui/toast/render-content.js +14 -0
  149. package/dist/js/core/components/ui/toast/render-content.js.map +1 -0
  150. package/dist/js/core/components/ui/toast/toast-item.js +150 -96
  151. package/dist/js/core/components/ui/toast/toast-item.js.map +1 -1
  152. package/dist/js/core/components/ui/toast/toast.js +41 -13
  153. package/dist/js/core/components/ui/toast/toast.js.map +1 -1
  154. package/dist/js/core/components/ui/tooltip/tooltip.js +144 -143
  155. package/dist/js/core/components/ui/tooltip/tooltip.js.map +1 -1
  156. package/dist/js/core/decorators/subscriber/ancestorAttribute.js.map +1 -1
  157. package/dist/js/core/decorators/subscriber/derive.js +3 -1
  158. package/dist/js/core/decorators/subscriber/derive.js.map +1 -1
  159. package/dist/js/core/mixins/Fetcher.js.map +1 -1
  160. package/dist/js/core/mixins/FormCheckable.js +1 -8
  161. package/dist/js/core/mixins/FormCheckable.js.map +1 -1
  162. package/dist/js/core/mixins/FormElement.js +26 -53
  163. package/dist/js/core/mixins/FormElement.js.map +1 -1
  164. package/dist/js/core/utils/AncestorAttributeObserver.js +130 -55
  165. package/dist/js/core/utils/AncestorAttributeObserver.js.map +1 -1
  166. package/dist/js/core/utils/LocationHandler.js +1 -1
  167. package/dist/js/core/utils/LocationHandler.js.map +1 -1
  168. package/dist/js/core/utils/dismissed.js +23 -0
  169. package/dist/js/core/utils/dismissed.js.map +1 -0
  170. package/dist/js/core/utils/mediaRef.js +37 -0
  171. package/dist/js/core/utils/mediaRef.js.map +1 -1
  172. package/dist/js/core/utils/positioning.js +110 -0
  173. package/dist/js/core/utils/positioning.js.map +1 -0
  174. package/dist/js/directives.js +1 -2
  175. package/dist/js/directives.js.map +1 -1
  176. package/dist/types/addons/interactive.d.ts +6 -0
  177. package/dist/types/addons/interactive.d.ts.map +1 -0
  178. package/dist/types/core/components/functional/3d/3d.d.ts +26 -3
  179. package/dist/types/core/components/functional/3d/3d.d.ts.map +1 -1
  180. package/dist/types/core/components/functional/3d/constants.d.ts +1 -1
  181. package/dist/types/core/components/functional/3d/constants.d.ts.map +1 -1
  182. package/dist/types/core/components/functional/3d/ensure.d.ts +3 -0
  183. package/dist/types/core/components/functional/3d/ensure.d.ts.map +1 -1
  184. package/dist/types/core/components/functional/3d/form-params.d.ts.map +1 -1
  185. package/dist/types/core/components/functional/3d/life.d.ts +2 -0
  186. package/dist/types/core/components/functional/3d/life.d.ts.map +1 -1
  187. package/dist/types/core/components/functional/3d/out-publish.d.ts +1 -0
  188. package/dist/types/core/components/functional/3d/out-publish.d.ts.map +1 -1
  189. package/dist/types/core/components/functional/3d/playback.d.ts +9 -0
  190. package/dist/types/core/components/functional/3d/playback.d.ts.map +1 -1
  191. package/dist/types/core/components/functional/3d/post-bind.d.ts +52 -0
  192. package/dist/types/core/components/functional/3d/post-bind.d.ts.map +1 -0
  193. package/dist/types/core/components/functional/3d/post-channels.d.ts +40 -0
  194. package/dist/types/core/components/functional/3d/post-channels.d.ts.map +1 -0
  195. package/dist/types/core/components/functional/3d/post-fx.d.ts +73 -0
  196. package/dist/types/core/components/functional/3d/post-fx.d.ts.map +1 -0
  197. package/dist/types/core/components/functional/3d/props.d.ts +42 -0
  198. package/dist/types/core/components/functional/3d/props.d.ts.map +1 -1
  199. package/dist/types/core/components/functional/3d/reload.d.ts.map +1 -1
  200. package/dist/types/core/components/functional/3d/runtime.d.ts +16 -1
  201. package/dist/types/core/components/functional/3d/runtime.d.ts.map +1 -1
  202. package/dist/types/core/components/functional/3d/scene-runtime.d.ts +1 -1
  203. package/dist/types/core/components/functional/3d/scene-runtime.d.ts.map +1 -1
  204. package/dist/types/core/components/functional/3d/tune.d.ts +5 -0
  205. package/dist/types/core/components/functional/3d/tune.d.ts.map +1 -1
  206. package/dist/types/core/components/functional/3d/types.d.ts +9 -0
  207. package/dist/types/core/components/functional/3d/types.d.ts.map +1 -1
  208. package/dist/types/core/components/functional/3d/updated.d.ts.map +1 -1
  209. package/dist/types/core/components/functional/if/if.d.ts +14 -5
  210. package/dist/types/core/components/functional/if/if.d.ts.map +1 -1
  211. package/dist/types/core/components/functional/interactive/action.d.ts +22 -0
  212. package/dist/types/core/components/functional/interactive/action.d.ts.map +1 -0
  213. package/dist/types/core/components/functional/interactive/gamepad.d.ts +37 -0
  214. package/dist/types/core/components/functional/interactive/gamepad.d.ts.map +1 -0
  215. package/dist/types/core/components/functional/interactive/gesture.d.ts +26 -0
  216. package/dist/types/core/components/functional/interactive/gesture.d.ts.map +1 -0
  217. package/dist/types/core/components/functional/interactive/helpers.d.ts +23 -0
  218. package/dist/types/core/components/functional/interactive/helpers.d.ts.map +1 -0
  219. package/dist/types/core/components/functional/interactive/index.d.ts +20 -0
  220. package/dist/types/core/components/functional/interactive/index.d.ts.map +1 -0
  221. package/dist/types/core/components/functional/interactive/keyboard.d.ts +37 -0
  222. package/dist/types/core/components/functional/interactive/keyboard.d.ts.map +1 -0
  223. package/dist/types/core/components/functional/interactive/matrix.d.ts +31 -0
  224. package/dist/types/core/components/functional/interactive/matrix.d.ts.map +1 -0
  225. package/dist/types/core/components/functional/interactive/registry.d.ts +23 -0
  226. package/dist/types/core/components/functional/interactive/registry.d.ts.map +1 -0
  227. package/dist/types/core/components/functional/interactive/store.d.ts +46 -0
  228. package/dist/types/core/components/functional/interactive/store.d.ts.map +1 -0
  229. package/dist/types/core/components/functional/interactive/ticker.d.ts +33 -0
  230. package/dist/types/core/components/functional/interactive/ticker.d.ts.map +1 -0
  231. package/dist/types/core/components/functional/shader/gl-runtime.d.ts +33 -1
  232. package/dist/types/core/components/functional/shader/gl-runtime.d.ts.map +1 -1
  233. package/dist/types/core/components/functional/shader/shader.d.ts +28 -7
  234. package/dist/types/core/components/functional/shader/shader.d.ts.map +1 -1
  235. package/dist/types/core/components/functional/shader/shadertoy-prelude.d.ts +16 -2
  236. package/dist/types/core/components/functional/shader/shadertoy-prelude.d.ts.map +1 -1
  237. package/dist/types/core/components/functional/shader/types.d.ts +29 -5
  238. package/dist/types/core/components/functional/shader/types.d.ts.map +1 -1
  239. package/dist/types/core/components/functional/value/value.d.ts +6 -0
  240. package/dist/types/core/components/functional/value/value.d.ts.map +1 -1
  241. package/dist/types/core/components/functional/webgpu/gl-fallback.d.ts +4 -0
  242. package/dist/types/core/components/functional/webgpu/gl-fallback.d.ts.map +1 -1
  243. package/dist/types/core/components/functional/webgpu/gpu-runtime.d.ts +14 -0
  244. package/dist/types/core/components/functional/webgpu/gpu-runtime.d.ts.map +1 -1
  245. package/dist/types/core/components/functional/webgpu/helpers.d.ts +1 -0
  246. package/dist/types/core/components/functional/webgpu/helpers.d.ts.map +1 -1
  247. package/dist/types/core/components/functional/webgpu/webgpu.d.ts +7 -1
  248. package/dist/types/core/components/functional/webgpu/webgpu.d.ts.map +1 -1
  249. package/dist/types/core/components/ui/_css/rounded.d.ts +3 -0
  250. package/dist/types/core/components/ui/_css/rounded.d.ts.map +1 -0
  251. package/dist/types/core/components/ui/_css/type.d.ts +13 -0
  252. package/dist/types/core/components/ui/_css/type.d.ts.map +1 -1
  253. package/dist/types/core/components/ui/_i18n/ui-aria-labels.d.ts +83 -0
  254. package/dist/types/core/components/ui/_i18n/ui-aria-labels.d.ts.map +1 -0
  255. package/dist/types/core/components/ui/alert/alert.d.ts +14 -12
  256. package/dist/types/core/components/ui/alert/alert.d.ts.map +1 -1
  257. package/dist/types/core/components/ui/alert-messages/alert-messages.d.ts.map +1 -1
  258. package/dist/types/core/components/ui/badge/badge.d.ts +1 -1
  259. package/dist/types/core/components/ui/badge/badge.d.ts.map +1 -1
  260. package/dist/types/core/components/ui/button/button.d.ts +13 -29
  261. package/dist/types/core/components/ui/button/button.d.ts.map +1 -1
  262. package/dist/types/core/components/ui/card/card-header.d.ts.map +1 -1
  263. package/dist/types/core/components/ui/divider/divider.d.ts +2 -1
  264. package/dist/types/core/components/ui/divider/divider.d.ts.map +1 -1
  265. package/dist/types/core/components/ui/form/checkbox/checkbox.d.ts +25 -73
  266. package/dist/types/core/components/ui/form/checkbox/checkbox.d.ts.map +1 -1
  267. package/dist/types/core/components/ui/form/input/input.d.ts +14 -29
  268. package/dist/types/core/components/ui/form/input/input.d.ts.map +1 -1
  269. package/dist/types/core/components/ui/form/input-autocomplete/input-autocomplete.d.ts +63 -65
  270. package/dist/types/core/components/ui/form/input-autocomplete/input-autocomplete.d.ts.map +1 -1
  271. package/dist/types/core/components/ui/form/radio/radio.d.ts +1 -1
  272. package/dist/types/core/components/ui/form/select/select.d.ts +3 -5
  273. package/dist/types/core/components/ui/form/select/select.d.ts.map +1 -1
  274. package/dist/types/core/components/ui/form/textarea/textarea.d.ts +12 -28
  275. package/dist/types/core/components/ui/form/textarea/textarea.d.ts.map +1 -1
  276. package/dist/types/core/components/ui/image/image.d.ts +2 -1
  277. package/dist/types/core/components/ui/image/image.d.ts.map +1 -1
  278. package/dist/types/core/components/ui/link/link.d.ts +10 -9
  279. package/dist/types/core/components/ui/link/link.d.ts.map +1 -1
  280. package/dist/types/core/components/ui/modal/modal-close.d.ts +2 -2
  281. package/dist/types/core/components/ui/modal/modal-close.d.ts.map +1 -1
  282. package/dist/types/core/components/ui/pop/pop.d.ts +12 -4
  283. package/dist/types/core/components/ui/pop/pop.d.ts.map +1 -1
  284. package/dist/types/core/components/ui/table/table.d.ts +2 -1
  285. package/dist/types/core/components/ui/table/table.d.ts.map +1 -1
  286. package/dist/types/core/components/ui/toast/dismissed.d.ts +3 -0
  287. package/dist/types/core/components/ui/toast/dismissed.d.ts.map +1 -0
  288. package/dist/types/core/components/ui/toast/render-content.d.ts +7 -0
  289. package/dist/types/core/components/ui/toast/render-content.d.ts.map +1 -0
  290. package/dist/types/core/components/ui/toast/toast-item.d.ts +26 -9
  291. package/dist/types/core/components/ui/toast/toast-item.d.ts.map +1 -1
  292. package/dist/types/core/components/ui/toast/toast.d.ts +6 -3
  293. package/dist/types/core/components/ui/toast/toast.d.ts.map +1 -1
  294. package/dist/types/core/components/ui/toast/types.d.ts +12 -2
  295. package/dist/types/core/components/ui/toast/types.d.ts.map +1 -1
  296. package/dist/types/core/components/ui/tooltip/tooltip.d.ts +19 -11
  297. package/dist/types/core/components/ui/tooltip/tooltip.d.ts.map +1 -1
  298. package/dist/types/core/decorators/subscriber/ancestorAttribute.d.ts +3 -4
  299. package/dist/types/core/decorators/subscriber/ancestorAttribute.d.ts.map +1 -1
  300. package/dist/types/core/decorators/subscriber/derive.d.ts.map +1 -1
  301. package/dist/types/core/mixins/FormCheckable.d.ts +10 -27
  302. package/dist/types/core/mixins/FormCheckable.d.ts.map +1 -1
  303. package/dist/types/core/mixins/FormElement.d.ts +21 -10
  304. package/dist/types/core/mixins/FormElement.d.ts.map +1 -1
  305. package/dist/types/core/mixins/FormInput.d.ts +11 -27
  306. package/dist/types/core/mixins/FormInput.d.ts.map +1 -1
  307. package/dist/types/core/utils/AncestorAttributeObserver.d.ts +17 -9
  308. package/dist/types/core/utils/AncestorAttributeObserver.d.ts.map +1 -1
  309. package/dist/types/core/utils/LocationHandler.d.ts +3 -2
  310. package/dist/types/core/utils/LocationHandler.d.ts.map +1 -1
  311. package/dist/types/core/utils/dismissed.d.ts +3 -0
  312. package/dist/types/core/utils/dismissed.d.ts.map +1 -0
  313. package/dist/types/core/utils/mediaRef.d.ts +15 -0
  314. package/dist/types/core/utils/mediaRef.d.ts.map +1 -1
  315. package/dist/types/core/utils/positioning.d.ts +44 -0
  316. package/dist/types/core/utils/positioning.d.ts.map +1 -0
  317. package/dist/types/directives.d.ts +1 -3
  318. package/dist/types/directives.d.ts.map +1 -1
  319. package/dist/types/mixins.d.ts +22 -55
  320. package/dist/types/mixins.d.ts.map +1 -1
  321. package/docs/assets/{index-FmK4JaIM.js → index-D8MVWqY6.js} +946 -687
  322. package/docs/assets/index-DiD0qYvE.css +1 -0
  323. package/docs/crawl/core/components/ui/form/input-autocomplete/input-autocomplete.html +17 -85
  324. package/docs/crawl/docs/_misc/formelement-subscriber-removal.html +1 -1
  325. package/docs/crawl/hubs/form-components.html +13 -11
  326. package/docs/docs-mock-api-sw.js +5 -1
  327. package/docs/docs-mock-api-sw.js.map +2 -2
  328. package/docs/index.html +2 -2
  329. package/docs/llms-full.txt +12 -38
  330. package/docs/llms.txt +1 -1
  331. package/docs/src/core/components/functional/sdui/sdui.md +0 -0
  332. package/docs/src/core/components/ui/form/checkbox/checkbox.md +0 -0
  333. package/docs/src/core/components/ui/form/input-autocomplete/input-autocomplete.md +14 -118
  334. package/docs/src/docs/_getting-started/create-a-component.md +0 -0
  335. package/docs/src/docs/_misc/formelement-subscriber-removal.md +1 -1
  336. package/docs/src/docs/search/docs-search.json +195 -200
  337. package/docs/src/tsconfig.json +324 -0
  338. package/gitlab/job_tests.sh +25 -12
  339. package/index.html +3 -3
  340. package/package.json +217 -9
  341. package/public/docs-mock-api-sw.js +5 -1
  342. package/public/docs-mock-api-sw.js.map +2 -2
  343. package/scripts/build-addons.mjs +2 -2
  344. package/scripts/post-build.mjs +9 -0
  345. package/src/addons/interactive.ts +5 -0
  346. package/src/core/components/functional/3d/3d.md +34 -1
  347. package/src/core/components/functional/3d/3d.spec.ts +42 -0
  348. package/src/core/components/functional/3d/3d.ts +101 -3
  349. package/src/core/components/functional/3d/constants.ts +1 -0
  350. package/src/core/components/functional/3d/ensure.ts +11 -3
  351. package/src/core/components/functional/3d/form-params.ts +2 -0
  352. package/src/core/components/functional/3d/life.ts +4 -1
  353. package/src/core/components/functional/3d/out-publish.ts +4 -3
  354. package/src/core/components/functional/3d/playback.ts +13 -1
  355. package/src/core/components/functional/3d/post-bind.ts +262 -0
  356. package/src/core/components/functional/3d/post-channels.spec.ts +36 -0
  357. package/src/core/components/functional/3d/post-channels.ts +69 -0
  358. package/src/core/components/functional/3d/post-fx.ts +594 -0
  359. package/src/core/components/functional/3d/props.ts +45 -0
  360. package/src/core/components/functional/3d/reload.ts +2 -0
  361. package/src/core/components/functional/3d/runtime.ts +93 -4
  362. package/src/core/components/functional/3d/scene-runtime.ts +3 -0
  363. package/src/core/components/functional/3d/tune.ts +21 -0
  364. package/src/core/components/functional/3d/types.ts +9 -0
  365. package/src/core/components/functional/3d/updated.ts +17 -1
  366. package/src/core/components/functional/if/if.ts +54 -7
  367. package/src/core/components/functional/interactive/action.ts +84 -0
  368. package/src/core/components/functional/interactive/gamepad.ts +197 -0
  369. package/src/core/components/functional/interactive/gesture.ts +136 -0
  370. package/src/core/components/functional/interactive/helpers.spec.ts +50 -0
  371. package/src/core/components/functional/interactive/helpers.ts +97 -0
  372. package/src/core/components/functional/interactive/index.ts +25 -0
  373. package/src/core/components/functional/interactive/interactive.md +33 -0
  374. package/src/core/components/functional/interactive/keyboard.ts +171 -0
  375. package/src/core/components/functional/interactive/matrix.ts +185 -0
  376. package/src/core/components/functional/interactive/registry.ts +46 -0
  377. package/src/core/components/functional/interactive/store.ts +264 -0
  378. package/src/core/components/functional/interactive/ticker.ts +171 -0
  379. package/src/core/components/functional/list/list.ts +0 -0
  380. package/src/core/components/functional/shader/gl-runtime.ts +169 -12
  381. package/src/core/components/functional/shader/shader.md +27 -4
  382. package/src/core/components/functional/shader/shader.spec.ts +267 -0
  383. package/src/core/components/functional/shader/shader.ts +177 -55
  384. package/src/core/components/functional/shader/shadertoy-prelude.ts +49 -5
  385. package/src/core/components/functional/shader/types.ts +89 -12
  386. package/src/core/components/functional/subscriber/subscriber.ts +0 -0
  387. package/src/core/components/functional/value/value.ts +44 -4
  388. package/src/core/components/functional/webgpu/gl-fallback.ts +28 -4
  389. package/src/core/components/functional/webgpu/gpu-runtime.ts +154 -18
  390. package/src/core/components/functional/webgpu/helpers.ts +8 -2
  391. package/src/core/components/functional/webgpu/webgpu.md +13 -2
  392. package/src/core/components/functional/webgpu/webgpu.spec.ts +37 -0
  393. package/src/core/components/functional/webgpu/webgpu.ts +39 -1
  394. package/src/core/components/ui/_css/rounded.ts +36 -0
  395. package/src/core/components/ui/_css/type.ts +49 -0
  396. package/src/core/components/ui/_i18n/ui-aria-labels.ts +104 -0
  397. package/src/core/components/ui/alert/alert.md +128 -72
  398. package/src/core/components/ui/alert/alert.spec.ts +145 -0
  399. package/src/core/components/ui/alert/alert.ts +86 -91
  400. package/src/core/components/ui/alert-messages/alert-messages.ts +1 -1
  401. package/src/core/components/ui/badge/badge.md +126 -78
  402. package/src/core/components/ui/badge/badge.ts +29 -81
  403. package/src/core/components/ui/button/button.md +1 -0
  404. package/src/core/components/ui/button/button.ts +12 -10
  405. package/src/core/components/ui/card/card-header.ts +7 -2
  406. package/src/core/components/ui/card/card.md +120 -65
  407. package/src/core/components/ui/divider/divider.ts +4 -9
  408. package/src/core/components/ui/form/checkbox/checkbox.md +1 -1
  409. package/src/core/components/ui/form/checkbox/checkbox.ts +4 -20
  410. package/src/core/components/ui/form/fieldset/legend-description.ts +1 -1
  411. package/src/core/components/ui/form/fieldset/legend.ts +1 -1
  412. package/src/core/components/ui/form/input/input.md +1 -1
  413. package/src/core/components/ui/form/input/input.ts +25 -27
  414. package/src/core/components/ui/form/input-autocomplete/input-autocomplete.md +14 -118
  415. package/src/core/components/ui/form/input-autocomplete/input-autocomplete.ts +419 -187
  416. package/src/core/components/ui/form/radio/radio.ts +1 -1
  417. package/src/core/components/ui/form/select/select.ts +3 -6
  418. package/src/core/components/ui/form/textarea/textarea.md +1 -1
  419. package/src/core/components/ui/form/textarea/textarea.ts +1 -2
  420. package/src/core/components/ui/image/image.md +147 -53
  421. package/src/core/components/ui/image/image.ts +10 -44
  422. package/src/core/components/ui/link/link.md +2 -2
  423. package/src/core/components/ui/link/link.ts +42 -37
  424. package/src/core/components/ui/modal/modal-close.ts +8 -12
  425. package/src/core/components/ui/modal/modal.ts +18 -18
  426. package/src/core/components/ui/pop/pop.md +105 -1
  427. package/src/core/components/ui/pop/pop.ts +145 -141
  428. package/src/core/components/ui/table/table.ts +2 -8
  429. package/src/core/components/ui/theme/theme.ts +1 -1
  430. package/src/core/components/ui/toast/dismissed.ts +14 -0
  431. package/src/core/components/ui/toast/render-content.ts +13 -0
  432. package/src/core/components/ui/toast/toast-item.ts +179 -103
  433. package/src/core/components/ui/toast/toast.ts +58 -21
  434. package/src/core/components/ui/toast/types.ts +14 -2
  435. package/src/core/components/ui/tooltip/tooltip.ts +176 -154
  436. package/src/core/decorators/subscriber/ancestorAttribute.spec.ts +26 -0
  437. package/src/core/decorators/subscriber/ancestorAttribute.ts +3 -4
  438. package/src/core/decorators/subscriber/derive.ts +3 -3
  439. package/src/core/mixins/Fetcher.ts +1 -1
  440. package/src/core/mixins/FormCheckable.ts +1 -8
  441. package/src/core/mixins/FormElement.ts +74 -76
  442. package/src/core/mixins/Subscriber.ts +0 -0
  443. package/src/core/utils/AncestorAttributeObserver.ts +183 -70
  444. package/src/core/utils/DataBindObserver.ts +0 -0
  445. package/src/core/utils/LocationHandler.ts +12 -5
  446. package/src/core/utils/Objects.ts +0 -0
  447. package/src/core/utils/dismissed.ts +22 -0
  448. package/src/core/utils/mediaRef.spec.ts +25 -0
  449. package/src/core/utils/mediaRef.ts +45 -0
  450. package/src/core/utils/positioning.spec.ts +208 -0
  451. package/src/core/utils/positioning.ts +183 -0
  452. package/src/directives.ts +1 -3
  453. package/src/docs/_core-concept/dataFlow.md +1 -1
  454. package/src/docs/_decorators/ancestor-attribute.md +3 -2
  455. package/src/docs/_getting-started/concorde-outside.md +3 -3
  456. package/src/docs/_misc/formelement-subscriber-removal.md +115 -0
  457. package/src/docs/_misc/html-integration.md +2 -0
  458. package/src/docs/_misc/visual-stack.md +19 -1
  459. package/src/docs/code.ts +3 -1
  460. package/src/docs/components/docs-demo-sources.ts +88 -0
  461. package/src/docs/docs.ts +3 -0
  462. package/src/docs/example/docs-3d-post-depth-demo.ts +68 -0
  463. package/src/docs/example/docs-3d-webgpu-live-demo.ts +83 -0
  464. package/src/docs/example/docs-harris-webgpu-demo.ts +53 -55
  465. package/src/docs/example/docs-input-autocomplete-demos.ts +110 -0
  466. package/src/docs/mock-api/router.ts +17 -1
  467. package/src/docs/navigation/navigation.ts +4 -0
  468. package/src/docs/search/docs-search.json +922 -1762
  469. package/src/docs/tailwind/css/tailwind.css +13 -6
  470. package/src/tsconfig.json +162 -6
  471. package/src/tsconfig.tsbuildinfo +1 -1
  472. package/tailwind.config.js +50 -3
  473. package/vite/config.js +23 -35
  474. package/vite.config.mts +5 -0
  475. package/vitest.setup.ts +49 -13
  476. package/docs/assets/index-BZiZXMU-.css +0 -1
@@ -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
  ];
@@ -1,97 +1,152 @@
1
1
  # Card
2
2
 
3
+ A **surface** for grouped content: padding, radius, shadow, and semantic **`type`** colors via shared theme tokens. Compose **`sonic-card-header`**, **`sonic-card-main`**, and **`sonic-card-footer`** inside the card, or put any markup in the default slot.
4
+
5
+ Default **`type`** is `base` (page background). Use `light` for a subtle gray panel, `invert` / `neutral` for high-contrast blocks, and `primary`, `info`, `success`, `warning`, or `danger` for tinted surfaces (divider tokens apply on colored types).
6
+
3
7
  ## Type
8
+
4
9
  <sonic-code>
5
10
  <template>
6
- <div class="grid grid-cols-3 gap-3">
7
- <sonic-card type="base">Base</sonic-card>
8
- <sonic-card type="light">Light</sonic-card>
9
- <sonic-card type="primary">Primary</sonic-card>
10
- <sonic-card type="warning">Warning</sonic-card>
11
- <sonic-card type="danger">Danger</sonic-card>
12
- <sonic-card type="success">Success</sonic-card>
13
- <sonic-card type="info">Info</sonic-card>
14
- <sonic-card type="neutral">Neutral</sonic-card>
15
- <sonic-card type="invert">Invert</sonic-card>
16
- </div>
11
+ <div class="flex flex-wrap gap-3">
12
+ <sonic-card type="base" class="min-w-[8rem]">Base</sonic-card>
13
+ <sonic-card type="light" class="min-w-[8rem]">Light</sonic-card>
14
+ <sonic-card type="primary" class="min-w-[8rem]">Primary</sonic-card>
15
+ <sonic-card type="info" class="min-w-[8rem]">Info</sonic-card>
16
+ <sonic-card type="success" class="min-w-[8rem]">Success</sonic-card>
17
+ <sonic-card type="warning" class="min-w-[8rem]">Warning</sonic-card>
18
+ <sonic-card type="danger" class="min-w-[8rem]">Danger</sonic-card>
19
+ <sonic-card type="neutral" class="min-w-[8rem]">Neutral</sonic-card>
20
+ <sonic-card type="invert" class="min-w-[8rem]">Invert</sonic-card>
21
+ </div>
17
22
  </template>
18
23
  </sonic-code>
19
24
 
20
25
  ## Header
26
+
27
+ Quick titles with **`label`** and **`description`** attributes, 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.
28
+
21
29
  <sonic-code>
22
30
  <template>
23
- <div class="grid grid-cols-1 gap-3">
24
- <sonic-card >
25
- <sonic-card-header label="Header simple, titre géré via l'attribut : label" description="Description via l'attribut : description">
26
- </sonic-card-header>
27
- </sonic-card>
28
- <sonic-card type="neutral">
29
- <sonic-card-header label="Header composé">
30
- <sonic-card-header-description>Description rendu via le composant : "sonic-card-header-description"</sonic-card-header-description>
31
- <div slot="suffix" class="flex">
32
- Suffix
33
- </div>
34
- </sonic-card-header>
35
- </sonic-card>
36
- <sonic-card type="invert">
37
- <sonic-card-header>
38
- <div>Header custom</div>
39
- <div class="text-lg text-danger">Tout le contenu excepté l'icône ✈ passe par le slot du header</div>
40
- <span slot="suffix" >✈</span>
41
- </sonic-card-header>
42
- </sonic-card>
43
- </div>
31
+ <div class="grid gap-4 max-w-xl">
32
+ <sonic-card>
33
+ <sonic-card-header
34
+ label="Account settings"
35
+ description="Manage your profile and preferences."
36
+ ></sonic-card-header>
37
+ <p class="m-0 text-sm opacity-80">Body content goes in the card slot or in <code>sonic-card-main</code>.</p>
38
+ </sonic-card>
39
+
40
+ <sonic-card type="neutral">
41
+ <sonic-card-header label="Notifications">
42
+ <sonic-card-header-description>
43
+ Choose what we email you about.
44
+ </sonic-card-header-description>
45
+ <sonic-badge slot="suffix" type="warning" size="xs">3 new</sonic-badge>
46
+ </sonic-card-header>
47
+ </sonic-card>
48
+
49
+ <sonic-card>
50
+ <sonic-card-header label="Team workspace" description="Shared with 12 members">
51
+ <sonic-button
52
+ slot="suffix"
53
+ shape="circle"
54
+ variant="outline"
55
+ size="sm"
56
+ type="default"
57
+ icon
58
+ data-aria-label="Workspace settings"
59
+ >
60
+ <sonic-icon library="iconoir" name="settings"></sonic-icon>
61
+ </sonic-button>
62
+ </sonic-card-header>
63
+ </sonic-card>
64
+
65
+ <sonic-card type="primary">
66
+ <sonic-card-header>
67
+ <div>Custom header</div>
68
+ <sonic-card-header-description>
69
+ Use the header slot when attributes are not enough.
70
+ </sonic-card-header-description>
71
+ <sonic-button slot="suffix" shape="circle" variant="ghost" size="sm" type="primary" icon>
72
+ <sonic-icon library="iconoir" name="nav-arrow-right"></sonic-icon>
73
+ </sonic-button>
74
+ </sonic-card-header>
75
+ </sonic-card>
76
+ </div>
44
77
  </template>
45
78
  </sonic-code>
46
79
 
80
+ `label` and `description` accept HTML (rendered as markup). Prefer plain text when possible; use the slot for structured content.
81
+
47
82
  ## Main
83
+
84
+ Optional wrapper for the primary content area (typography, media, forms).
85
+
48
86
  <sonic-code>
49
87
  <template>
50
- <sonic-card >
51
- <sonic-card-main >
52
- <h3>Main area</h3>
53
- <p>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Iure id dolor debitis deleniti eligendi natus dolorem a commodi sunt dicta? Ipsa asperiores magni consequuntur dolor voluptatibus. Maxime, nemo? Facere, odio.</p>
54
- <iframe width="560" height="315" src="https://www.youtube.com/embed/aqz-KE-bpKQ" title="Big Buck Bunny (Blender Foundation)" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
55
- </sonic-card-main>
56
- </sonic-card>
88
+ <sonic-card class="max-w-xl">
89
+ <sonic-card-header label="Release notes" description="Version 2.4"></sonic-card-header>
90
+ <sonic-card-main>
91
+ <p class="mt-0">
92
+ Improved performance on large lists and fixed an issue with keyboard navigation in menus.
93
+ </p>
94
+ <sonic-divider></sonic-divider>
95
+ <p class="mb-0 text-sm opacity-80">See the changelog for details.</p>
96
+ </sonic-card-main>
97
+ </sonic-card>
57
98
  </template>
58
99
  </sonic-code>
59
100
 
60
101
  ## Footer
102
+
103
+ Optional footer for actions, metadata, or secondary text.
104
+
61
105
  <sonic-code>
62
106
  <template>
63
- <sonic-card >
64
- <sonic-card-footer >
65
- <div >
66
- <h4 class="mb-0">Footer area</h4>
67
- <small>Debitis deleniti eligendi natus dolorem aufdh.</small>
68
- <div>
69
- 🛫 ✈ ✈ ✈ ✈ ✈ 🛬
107
+ <sonic-card class="max-w-xl">
108
+ <sonic-card-header label="Confirm deletion"></sonic-card-header>
109
+ <sonic-card-main>
110
+ <p class="m-0">This project and all of its data will be removed permanently.</p>
111
+ </sonic-card-main>
112
+ <sonic-card-footer>
113
+ <sonic-divider></sonic-divider>
114
+ <div class="flex flex-wrap gap-2 justify-end">
115
+ <sonic-button variant="ghost" size="sm">Cancel</sonic-button>
116
+ <sonic-button type="danger" size="sm">Delete</sonic-button>
70
117
  </div>
71
- </div>
72
- </sonic-card-footer>
73
- </sonic-card>
118
+ </sonic-card-footer>
119
+ </sonic-card>
74
120
  </template>
75
121
  </sonic-code>
76
122
 
123
+ ## Full example
124
+
125
+ Header, media, body, and footer together.
77
126
 
78
- ## Example of use
79
127
  <sonic-code>
80
128
  <template>
81
- <sonic-card >
82
- <sonic-card-header label="Header" description="Header description">
83
- <sonic-icon library="iconoir" name="nav-arrow-right" slot="suffix" ></sonic-icon>
84
- </sonic-card-header>
85
- <sonic-card-main >
86
- <sonic-image rounded ratio="11/4" src="https://thegoodlife.fr/wp-content/uploads/sites/2/2022/03/compagnies-aeriennes-nostalgie-coeur-insert-03-dr.jpg">
87
- </sonic-image>
88
- <p><b>Main</b> - Lorem ipsum dolor sit, amet consectetur adipisicing elit. Iure id dolor debitis deleniti eligendi natus dolorem a commodi sunt dicta? Ipsa asperiores magni consequuntur dolor voluptatibus. Maxime, nemo? Facere, odio.</p>
89
- </sonic-card-main>
90
- <sonic-card-footer>
91
- <div>
92
- <i>Footer</i> - Amet consectetur adipisicing
93
- </div>
94
- </sonic-card-footer>
95
- </sonic-card>
129
+ <sonic-card class="max-w-md">
130
+ <sonic-card-header label="Featured route" description="San Francisco → New York">
131
+ <sonic-icon slot="suffix" library="iconoir" name="airplane"></sonic-icon>
132
+ </sonic-card-header>
133
+ <sonic-card-main>
134
+ <sonic-image
135
+ rounded
136
+ ratio="16/9"
137
+ src="https://images.unsplash.com/photo-1436491865332-7a61a109cc05?w=800&q=80"
138
+ alt=""
139
+ ></sonic-image>
140
+ <p class="mb-0">
141
+ Nonstop flight with flexible dates. Prices shown include taxes and fees.
142
+ </p>
143
+ </sonic-card-main>
144
+ <sonic-card-footer>
145
+ <div class="flex items-center justify-between gap-3 flex-wrap">
146
+ <span class="text-sm font-semibold">From $249</span>
147
+ <sonic-button type="primary" size="sm">Book</sonic-button>
148
+ </div>
149
+ </sonic-card-footer>
150
+ </sonic-card>
96
151
  </template>
97
152
  </sonic-code>
@@ -6,12 +6,13 @@ import {
6
6
  query,
7
7
  } from "lit/decorators.js";
8
8
  import { unsafeHTML } from "lit/directives/unsafe-html.js";
9
+ import { Size } from "@supersoniks/concorde/core/components/ui/_css/size";
9
10
  const tagName = "sonic-divider";
10
11
  @customElement(tagName)
11
12
  export class Divider extends LitElement {
12
13
  static styles = [
13
14
  css`
14
- :host {
15
+ :host {
15
16
  --sc-divider-my: 0.5rem;
16
17
  --sc-divider-mx: 0;
17
18
  --sc-divider-border-width: max(
@@ -150,14 +151,8 @@ export class Divider extends LitElement {
150
151
  divider!: HTMLDivElement;
151
152
 
152
153
  @property({ type: String }) label = "";
153
- @property({ type: String, reflect: true }) size?:
154
- | "2xs"
155
- | "xs"
156
- | "sm"
157
- | "md"
158
- | "lg"
159
- | "xl"
160
- | "2xl";
154
+ @property({ type: String, reflect: true }) size?: Size;
155
+
161
156
  @property({ type: String, reflect: true }) align:
162
157
  | "left"
163
158
  | "right"
@@ -52,7 +52,7 @@
52
52
  ## Check all checkbox
53
53
  <sonic-code>
54
54
  <template>
55
- <div formDataProvider="checkbox-check-all-demo" dataProvider="checkbox-check-all-demo">
55
+ <div formDataProvider="checkbox-check-all-demo">
56
56
  <sonic-checkbox name='someSharedName' value="all" checksAll>All</sonic-checkbox>
57
57
  <sonic-divider></sonic-divider>
58
58
  <div class="grid gap-2">
@@ -1,7 +1,6 @@
1
1
  import { html, LitElement, css, CSSResultGroup, PropertyValues } from "lit";
2
2
  import { customElement, property, queryAssignedNodes } from "lit/decorators.js";
3
3
  import { ifDefined } from "lit/directives/if-defined.js";
4
- import Subscriber from "@supersoniks/concorde/core/mixins/Subscriber";
5
4
  import FormElement from "@supersoniks/concorde/core/mixins/FormElement";
6
5
  import FormInput from "@supersoniks/concorde/core/mixins/FormInput";
7
6
  import FormCheckable from "@supersoniks/concorde/core/mixins/FormCheckable";
@@ -11,29 +10,14 @@ import { fontSize } from "@supersoniks/concorde/core/components/ui/_css/size";
11
10
 
12
11
  const tagName = "sonic-checkbox";
13
12
  /**
14
- * ### Le composent sonic-checkbox étend les mixins FormCheckable, FormInput, FormElement et Subscriber
15
- * **FormElement :**
16
- * * La propriété value est remplie automatiquement a l'aide de l'attribut name renseigné, ceci en prenant la valeur de la propriété du même nom dans les données du dataprovider associé.
17
- * * Par défault lorsque modifie l'input, la valeur est également mise à jour via le même dataprovider
18
- * * On peut cependant décider de mettre à jour la donnée à une autre adresse en renseigne l'attribut *formDataProvider*.
19
- * * Par conséquent on peut par exemple le lier à un composant *queue* (via sa propriété *dataFilterProvider*) de manière à appeller en auto une api avec des filtres.
20
- * * **FormInput **
21
- * Uniquement des propriétés classiques d'un input HTML. La prise en compte est ici partielle, par exemple les propriétés *placeholder*, *readonly*, *pattern*, *min* et *max* n'ont pas de sens pour un checkbox.
22
- * **FormCheckable :**
23
- * * La propriété checked mise à true si la valeur de la propriété du même nom dans les données du dataprovider associé contient un propriété checked.
24
- * **Comportements :**
25
- * * multiple (par défaut):
26
- * - on peut cocher plusieurs checkbox ayant le même *name*.
27
- * - la valeur enregistrée dans la propriété nommé du même nom dans formDataProvider est un tableau avec les *value* des cases cochées ayant le même *name*.
28
- * * unique (Ajouter l'attribute unique au composant a l'intégration):
29
- * - on ne peut cocher qu'une seule checkbox ayant le même *name*.
30
- * * radio (Ajouter l'attribute radio au composant a l'intégration):
31
- * Comme unique, mais on ne peut pas décocher la case sauf en en cochant une autre, comme un bouton radio.
13
+ * ### sonic-checkbox — FormCheckable + FormInput + FormElement
14
+ * Synchronise l'état coché via `formDataProvider` + `name`.
15
+ * Modes : multiple (défaut), `unique`, `radio`.
32
16
  */
33
17
 
34
18
  @customElement(tagName)
35
19
  export class Checkbox extends FormCheckable(
36
- FormInput(FormElement(Subscriber(LitElement)))
20
+ FormInput(FormElement(LitElement))
37
21
  ) {
38
22
  static styles = [
39
23
  fontSize,
@@ -6,7 +6,7 @@ export class LegendDescription extends LitElement {
6
6
  static styles = [
7
7
  css`
8
8
  :host {
9
- font-size: 1.15rem;
9
+ font-size: 1.125rem;
10
10
  line-height: 1.2;
11
11
  display: block;
12
12
  color: var(--sc-base-500, var(--sc-base-content, #000));
@@ -11,7 +11,7 @@ export class Legend extends LitElement {
11
11
  static styles = [
12
12
  css`
13
13
  :host {
14
- --sc-legend-font-size: 1.5rem;
14
+ --sc-legend-font-size: 1.25rem;
15
15
  --sc-legend-font-weight: var(--sc-font-weight-base, 400);
16
16
  --sc-legend-font-style: var(--sc-headings-font-style, normal);
17
17
  --sc-legend-family: var(
@@ -2,7 +2,7 @@
2
2
 
3
3
  <sonic-button type="info" size="sm" target="_blank" href="https://www.w3schools.com/tags/tag_input.asp#midcontentadcontainer">
4
4
  <sonic-icon library="iconoir" name="open-new-window" slot="prefix" ></sonic-icon>
5
- Native attibutes list
5
+ Native attributes list
6
6
  </sonic-button>
7
7
 
8
8
  ## Label