@supersoniks/concorde 5.0.0 → 5.0.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 (314) hide show
  1. package/.gitlab-ci.yml +0 -13
  2. package/build-infos.json +1 -1
  3. package/concorde-core.bundle.js +606 -689
  4. package/concorde-core.es.js +4511 -4329
  5. package/dist/concorde-core.bundle.js +606 -689
  6. package/dist/concorde-core.es.js +4511 -4329
  7. package/gitlab/job_tests.sh +25 -12
  8. package/index.html +3 -3
  9. package/package.json +16 -1
  10. package/scripts/post-build-docs.js +0 -0
  11. package/scripts/post-build.mjs +0 -0
  12. package/src/core/components/functional/fetch/fetch.md +0 -0
  13. package/src/core/components/functional/if/if.md +0 -0
  14. package/src/core/components/functional/list/list.demo.ts +0 -0
  15. package/src/core/components/functional/list/list.md +0 -0
  16. package/src/core/components/functional/list/list.ts +0 -0
  17. package/src/core/components/functional/router/router.md +0 -0
  18. package/src/core/components/functional/router/router.ts +0 -0
  19. package/src/core/components/functional/sdui/sdui.md +0 -0
  20. package/src/core/components/functional/states/states.md +0 -0
  21. package/src/core/components/functional/submit/submit.md +0 -0
  22. package/src/core/components/ui/_css/rounded.ts +36 -0
  23. package/src/core/components/ui/_css/size.ts +0 -0
  24. package/src/core/components/ui/_css/type.ts +49 -0
  25. package/src/core/components/ui/_i18n/ui-aria-labels.ts +104 -0
  26. package/src/core/components/ui/alert/alert.md +128 -72
  27. package/src/core/components/ui/alert/alert.spec.ts +145 -0
  28. package/src/core/components/ui/alert/alert.ts +86 -91
  29. package/src/core/components/ui/alert-messages/alert-messages.ts +1 -1
  30. package/src/core/components/ui/badge/badge.md +126 -78
  31. package/src/core/components/ui/badge/badge.ts +29 -81
  32. package/src/core/components/ui/button/button.md +1 -0
  33. package/src/core/components/ui/button/button.ts +11 -8
  34. package/src/core/components/ui/captcha/altchaStyles.ts +0 -0
  35. package/src/core/components/ui/captcha/captcha.md +0 -0
  36. package/src/core/components/ui/card/card-header.ts +7 -2
  37. package/src/core/components/ui/card/card.md +120 -65
  38. package/src/core/components/ui/divider/divider.ts +4 -9
  39. package/src/core/components/ui/form/fieldset/legend-description.ts +1 -1
  40. package/src/core/components/ui/form/fieldset/legend.ts +1 -1
  41. package/src/core/components/ui/form/input/input.md +1 -1
  42. package/src/core/components/ui/form/input/input.ts +19 -15
  43. package/src/core/components/ui/form/radio/radio.md +0 -0
  44. package/src/core/components/ui/form/select/select.md +0 -0
  45. package/src/core/components/ui/form/switch/switch.md +0 -0
  46. package/src/core/components/ui/form/textarea/textarea.md +1 -1
  47. package/src/core/components/ui/image/image.md +147 -53
  48. package/src/core/components/ui/image/image.ts +10 -44
  49. package/src/core/components/ui/link/link.md +2 -2
  50. package/src/core/components/ui/link/link.ts +42 -37
  51. package/src/core/components/ui/loader/loader.md +0 -0
  52. package/src/core/components/ui/menu/menu.md +0 -0
  53. package/src/core/components/ui/modal/modal-close.ts +8 -12
  54. package/src/core/components/ui/modal/modal.md +0 -0
  55. package/src/core/components/ui/modal/modal.ts +18 -18
  56. package/src/core/components/ui/pop/pop.md +105 -1
  57. package/src/core/components/ui/pop/pop.ts +143 -148
  58. package/src/core/components/ui/table/table-caption.ts +0 -0
  59. package/src/core/components/ui/table/table.md +0 -0
  60. package/src/core/components/ui/table/table.ts +2 -8
  61. package/src/core/components/ui/theme/theme.ts +1 -1
  62. package/src/core/components/ui/toast/dismissed.ts +14 -0
  63. package/src/core/components/ui/toast/toast-item.ts +139 -91
  64. package/src/core/components/ui/toast/toast.ts +4 -7
  65. package/src/core/components/ui/tooltip/tooltip.ts +176 -154
  66. package/src/core/utils/LocationHandler.ts +12 -5
  67. package/src/core/utils/dismissed.ts +22 -0
  68. package/src/core/utils/positioning.spec.ts +208 -0
  69. package/src/core/utils/positioning.ts +183 -0
  70. package/src/core/utils/route.ts +0 -0
  71. package/src/directives.ts +2 -3
  72. package/src/docs/_core-concept/subscriber.md +0 -0
  73. package/src/docs/_getting-started/concorde-outside.md +3 -3
  74. package/src/docs/_getting-started/my-first-subscriber.md +0 -0
  75. package/src/docs/_getting-started/pubsub.md +0 -0
  76. package/src/docs/_getting-started/start.md +0 -0
  77. package/src/docs/code.ts +3 -1
  78. package/src/docs/example/users.ts +0 -0
  79. package/src/docs/search/docs-search.json +651 -21
  80. package/src/docs/search/page.ts +0 -0
  81. package/src/docs/tailwind/css/tailwind.css +13 -6
  82. package/src/tsconfig.json +45 -0
  83. package/src/tsconfig.tsbuildinfo +1 -1
  84. package/tailwind.config.js +50 -3
  85. package/vitest.setup.ts +49 -13
  86. package/.github/workflows/ci.yml +0 -21
  87. package/.github-export-ignore +0 -30
  88. package/CONTRIBUTING.md +0 -59
  89. package/DEV.md +0 -54
  90. package/LICENSE +0 -21
  91. package/OPEN_SOURCE_CHECKPOINT.md +0 -133
  92. package/concorde-3d.bundle.js +0 -3960
  93. package/concorde-3d.es.js +0 -33433
  94. package/concorde-hugging-face-infer.bundle.js +0 -32
  95. package/concorde-hugging-face-infer.es.js +0 -2952
  96. package/concorde-shader.bundle.js +0 -116
  97. package/concorde-shader.es.js +0 -8353
  98. package/concorde-webgpu.bundle.js +0 -307
  99. package/concorde-webgpu.es.js +0 -8627
  100. package/docs/altcha-widget.js +0 -2662
  101. package/docs/assets/index-BZiZXMU-.css +0 -1
  102. package/docs/assets/index-FmK4JaIM.js +0 -11992
  103. package/docs/crawl/core/components/functional/date/date.html +0 -190
  104. package/docs/crawl/core/components/functional/fetch/fetch.html +0 -109
  105. package/docs/crawl/core/components/functional/if/if.html +0 -27
  106. package/docs/crawl/core/components/functional/jsonata/jsonata.html +0 -79
  107. package/docs/crawl/core/components/functional/list/list.html +0 -70
  108. package/docs/crawl/core/components/functional/mix/mix.html +0 -45
  109. package/docs/crawl/core/components/functional/queue/queue.html +0 -96
  110. package/docs/crawl/core/components/functional/router/router.html +0 -106
  111. package/docs/crawl/core/components/functional/sdui/sdui.html +0 -269
  112. package/docs/crawl/core/components/functional/states/states.html +0 -66
  113. package/docs/crawl/core/components/functional/submit/submit.html +0 -160
  114. package/docs/crawl/core/components/functional/subscriber/subscriber.html +0 -67
  115. package/docs/crawl/core/components/functional/value/value.html +0 -51
  116. package/docs/crawl/core/components/ui/alert/alert.html +0 -110
  117. package/docs/crawl/core/components/ui/alert-messages/alert-messages.html +0 -23
  118. package/docs/crawl/core/components/ui/badge/badge.html +0 -119
  119. package/docs/crawl/core/components/ui/button/button.html +0 -149
  120. package/docs/crawl/core/components/ui/captcha/captcha.html +0 -30
  121. package/docs/crawl/core/components/ui/card/card.html +0 -99
  122. package/docs/crawl/core/components/ui/divider/divider.html +0 -58
  123. package/docs/crawl/core/components/ui/form/checkbox/checkbox.html +0 -73
  124. package/docs/crawl/core/components/ui/form/fieldset/fieldset.html +0 -135
  125. package/docs/crawl/core/components/ui/form/form-actions/form-actions.html +0 -79
  126. package/docs/crawl/core/components/ui/form/form-layout/form-layout.html +0 -62
  127. package/docs/crawl/core/components/ui/form/input/input.html +0 -109
  128. package/docs/crawl/core/components/ui/form/input-autocomplete/input-autocomplete.html +0 -106
  129. package/docs/crawl/core/components/ui/form/radio/radio.html +0 -56
  130. package/docs/crawl/core/components/ui/form/select/select.html +0 -73
  131. package/docs/crawl/core/components/ui/form/switch/switch.html +0 -56
  132. package/docs/crawl/core/components/ui/form/textarea/textarea.html +0 -59
  133. package/docs/crawl/core/components/ui/group/group.html +0 -82
  134. package/docs/crawl/core/components/ui/icon/icon.html +0 -133
  135. package/docs/crawl/core/components/ui/image/image.html +0 -110
  136. package/docs/crawl/core/components/ui/link/link.html +0 -42
  137. package/docs/crawl/core/components/ui/loader/loader.html +0 -50
  138. package/docs/crawl/core/components/ui/menu/menu.html +0 -322
  139. package/docs/crawl/core/components/ui/modal/modal.html +0 -117
  140. package/docs/crawl/core/components/ui/pop/pop.html +0 -102
  141. package/docs/crawl/core/components/ui/progress/progress.html +0 -58
  142. package/docs/crawl/core/components/ui/table/table.html +0 -413
  143. package/docs/crawl/core/components/ui/toast/toast.html +0 -122
  144. package/docs/crawl/core/components/ui/tooltip/tooltip.html +0 -79
  145. package/docs/crawl/docs/_core-concept/dataFlow.html +0 -177
  146. package/docs/crawl/docs/_core-concept/overview.html +0 -66
  147. package/docs/crawl/docs/_core-concept/subscriber.html +0 -75
  148. package/docs/crawl/docs/_decorators/ancestor-attribute.html +0 -116
  149. package/docs/crawl/docs/_decorators/auto-subscribe.html +0 -202
  150. package/docs/crawl/docs/_decorators/bind.html +0 -141
  151. package/docs/crawl/docs/_decorators/get.html +0 -149
  152. package/docs/crawl/docs/_decorators/handle.html +0 -165
  153. package/docs/crawl/docs/_decorators/on-assign.html +0 -355
  154. package/docs/crawl/docs/_decorators/patch.html +0 -78
  155. package/docs/crawl/docs/_decorators/post.html +0 -139
  156. package/docs/crawl/docs/_decorators/publish.html +0 -61
  157. package/docs/crawl/docs/_decorators/put.html +0 -78
  158. package/docs/crawl/docs/_decorators/subscribe.html +0 -109
  159. package/docs/crawl/docs/_decorators/wait-for-ancestors.html +0 -137
  160. package/docs/crawl/docs/_directives/sub.html +0 -93
  161. package/docs/crawl/docs/_getting-started/ai-agents.html +0 -173
  162. package/docs/crawl/docs/_getting-started/concorde-manual-install.html +0 -100
  163. package/docs/crawl/docs/_getting-started/concorde-outside.html +0 -58
  164. package/docs/crawl/docs/_getting-started/create-a-component.html +0 -111
  165. package/docs/crawl/docs/_getting-started/my-first-component.html +0 -189
  166. package/docs/crawl/docs/_getting-started/my-first-subscriber.html +0 -110
  167. package/docs/crawl/docs/_getting-started/pubsub.html +0 -62
  168. package/docs/crawl/docs/_getting-started/start.html +0 -76
  169. package/docs/crawl/docs/_getting-started/theming.html +0 -85
  170. package/docs/crawl/docs/_misc/api-configuration.html +0 -149
  171. package/docs/crawl/docs/_misc/dataProviderKey.html +0 -135
  172. package/docs/crawl/docs/_misc/docs-mock-api.html +0 -158
  173. package/docs/crawl/docs/_misc/dynamic-path.html +0 -180
  174. package/docs/crawl/docs/_misc/endpoint.html +0 -50
  175. package/docs/crawl/docs/_misc/formelement-subscriber-removal.html +0 -138
  176. package/docs/crawl/docs/_misc/html-integration.html +0 -48
  177. package/docs/crawl/hubs/decorators.html +0 -547
  178. package/docs/crawl/hubs/form-components.html +0 -357
  179. package/docs/crawl/hubs/remote-data.html +0 -452
  180. package/docs/crawl/index.html +0 -101
  181. package/docs/css/docs.css +0 -0
  182. package/docs/docs-mock-api-sw.js +0 -720
  183. package/docs/docs-mock-api-sw.js.map +0 -7
  184. package/docs/fonts/ClashGrotesk-Bold.eot +0 -0
  185. package/docs/fonts/ClashGrotesk-Bold.ttf +0 -0
  186. package/docs/fonts/ClashGrotesk-Bold.woff +0 -0
  187. package/docs/fonts/ClashGrotesk-Bold.woff2 +0 -0
  188. package/docs/fonts/ClashGrotesk-Extralight.eot +0 -0
  189. package/docs/fonts/ClashGrotesk-Extralight.ttf +0 -0
  190. package/docs/fonts/ClashGrotesk-Extralight.woff +0 -0
  191. package/docs/fonts/ClashGrotesk-Extralight.woff2 +0 -0
  192. package/docs/fonts/ClashGrotesk-Light.eot +0 -0
  193. package/docs/fonts/ClashGrotesk-Light.ttf +0 -0
  194. package/docs/fonts/ClashGrotesk-Light.woff +0 -0
  195. package/docs/fonts/ClashGrotesk-Light.woff2 +0 -0
  196. package/docs/fonts/ClashGrotesk-Medium.eot +0 -0
  197. package/docs/fonts/ClashGrotesk-Medium.ttf +0 -0
  198. package/docs/fonts/ClashGrotesk-Medium.woff +0 -0
  199. package/docs/fonts/ClashGrotesk-Medium.woff2 +0 -0
  200. package/docs/fonts/ClashGrotesk-Regular.eot +0 -0
  201. package/docs/fonts/ClashGrotesk-Regular.ttf +0 -0
  202. package/docs/fonts/ClashGrotesk-Regular.woff +0 -0
  203. package/docs/fonts/ClashGrotesk-Regular.woff2 +0 -0
  204. package/docs/fonts/ClashGrotesk-Semibold.eot +0 -0
  205. package/docs/fonts/ClashGrotesk-Semibold.ttf +0 -0
  206. package/docs/fonts/ClashGrotesk-Semibold.woff +0 -0
  207. package/docs/fonts/ClashGrotesk-Semibold.woff2 +0 -0
  208. package/docs/fonts/ClashGrotesk-Variable.eot +0 -0
  209. package/docs/fonts/ClashGrotesk-Variable.ttf +0 -0
  210. package/docs/fonts/ClashGrotesk-Variable.woff +0 -0
  211. package/docs/fonts/ClashGrotesk-Variable.woff2 +0 -0
  212. package/docs/img/concorde-icon.svg +0 -5
  213. package/docs/img/concorde-logo.svg +0 -1
  214. package/docs/img/concorde.png +0 -0
  215. package/docs/img/concorde_def.png +0 -0
  216. package/docs/img/concorde_seuil.png.webp +0 -0
  217. package/docs/img/concorde_seuil_invert.png +0 -0
  218. package/docs/img/paul_metrand.jpg +0 -0
  219. package/docs/img/paul_metrand_xs.jpg +0 -0
  220. package/docs/index.html +0 -93
  221. package/docs/llms-full.txt +0 -5787
  222. package/docs/llms.txt +0 -104
  223. package/docs/robots.txt +0 -16
  224. package/docs/sitemap.xml +0 -237
  225. package/docs/src/core/components/functional/date/date.md +0 -290
  226. package/docs/src/core/components/functional/fetch/fetch.md +0 -125
  227. package/docs/src/core/components/functional/if/if.md +0 -9
  228. package/docs/src/core/components/functional/jsonata/jsonata.md +0 -56
  229. package/docs/src/core/components/functional/list/list.md +0 -65
  230. package/docs/src/core/components/functional/mix/mix.md +0 -41
  231. package/docs/src/core/components/functional/queue/queue.md +0 -72
  232. package/docs/src/core/components/functional/router/router.md +0 -94
  233. package/docs/src/core/components/functional/sdui/default-library.json +0 -108
  234. package/docs/src/core/components/functional/sdui/example.json +0 -99
  235. package/docs/src/core/components/functional/sdui/sdui.md +0 -356
  236. package/docs/src/core/components/functional/states/states.md +0 -87
  237. package/docs/src/core/components/functional/submit/submit.md +0 -114
  238. package/docs/src/core/components/functional/subscriber/subscriber.md +0 -91
  239. package/docs/src/core/components/functional/value/value.md +0 -35
  240. package/docs/src/core/components/ui/alert/alert.md +0 -121
  241. package/docs/src/core/components/ui/alert-messages/alert-messages.md +0 -0
  242. package/docs/src/core/components/ui/badge/badge.md +0 -127
  243. package/docs/src/core/components/ui/button/button.md +0 -182
  244. package/docs/src/core/components/ui/captcha/captcha.md +0 -12
  245. package/docs/src/core/components/ui/card/card.md +0 -97
  246. package/docs/src/core/components/ui/divider/divider.md +0 -35
  247. package/docs/src/core/components/ui/form/checkbox/checkbox.md +0 -77
  248. package/docs/src/core/components/ui/form/fieldset/fieldset.md +0 -129
  249. package/docs/src/core/components/ui/form/form-actions/form-actions.md +0 -77
  250. package/docs/src/core/components/ui/form/form-layout/form-layout.md +0 -44
  251. package/docs/src/core/components/ui/form/input/input.md +0 -142
  252. package/docs/src/core/components/ui/form/input-autocomplete/input-autocomplete.md +0 -133
  253. package/docs/src/core/components/ui/form/radio/radio.md +0 -57
  254. package/docs/src/core/components/ui/form/select/select.md +0 -71
  255. package/docs/src/core/components/ui/form/switch/switch.md +0 -57
  256. package/docs/src/core/components/ui/form/textarea/textarea.md +0 -65
  257. package/docs/src/core/components/ui/group/group.md +0 -75
  258. package/docs/src/core/components/ui/icon/icon.md +0 -125
  259. package/docs/src/core/components/ui/icon/icons.json +0 -1
  260. package/docs/src/core/components/ui/image/image.md +0 -107
  261. package/docs/src/core/components/ui/link/link.md +0 -43
  262. package/docs/src/core/components/ui/loader/loader.md +0 -55
  263. package/docs/src/core/components/ui/menu/menu.md +0 -329
  264. package/docs/src/core/components/ui/modal/modal.md +0 -119
  265. package/docs/src/core/components/ui/pop/pop.md +0 -96
  266. package/docs/src/core/components/ui/progress/progress.md +0 -63
  267. package/docs/src/core/components/ui/table/table.md +0 -455
  268. package/docs/src/core/components/ui/toast/toast.md +0 -166
  269. package/docs/src/core/components/ui/tooltip/tooltip.md +0 -82
  270. package/docs/src/docs/_core-concept/dataFlow.md +0 -88
  271. package/docs/src/docs/_core-concept/overview.md +0 -57
  272. package/docs/src/docs/_core-concept/subscriber.md +0 -75
  273. package/docs/src/docs/_decorators/ancestor-attribute.md +0 -127
  274. package/docs/src/docs/_decorators/auto-subscribe.md +0 -202
  275. package/docs/src/docs/_decorators/bind.md +0 -167
  276. package/docs/src/docs/_decorators/get.md +0 -162
  277. package/docs/src/docs/_decorators/handle.md +0 -175
  278. package/docs/src/docs/_decorators/on-assign.md +0 -390
  279. package/docs/src/docs/_decorators/patch.md +0 -70
  280. package/docs/src/docs/_decorators/post.md +0 -146
  281. package/docs/src/docs/_decorators/publish.md +0 -55
  282. package/docs/src/docs/_decorators/put.md +0 -70
  283. package/docs/src/docs/_decorators/subscribe.md +0 -100
  284. package/docs/src/docs/_decorators/wait-for-ancestors.md +0 -163
  285. package/docs/src/docs/_directives/sub.md +0 -91
  286. package/docs/src/docs/_getting-started/ai-agents.md +0 -76
  287. package/docs/src/docs/_getting-started/concorde-manual-install.md +0 -133
  288. package/docs/src/docs/_getting-started/concorde-outside.md +0 -33
  289. package/docs/src/docs/_getting-started/create-a-component.md +0 -139
  290. package/docs/src/docs/_getting-started/my-first-component.md +0 -236
  291. package/docs/src/docs/_getting-started/my-first-subscriber.md +0 -120
  292. package/docs/src/docs/_getting-started/pubsub.md +0 -37
  293. package/docs/src/docs/_getting-started/start.md +0 -47
  294. package/docs/src/docs/_getting-started/theming.md +0 -91
  295. package/docs/src/docs/_misc/api-configuration.md +0 -81
  296. package/docs/src/docs/_misc/dataProviderKey.md +0 -168
  297. package/docs/src/docs/_misc/docs-mock-api.md +0 -63
  298. package/docs/src/docs/_misc/dynamic-path.md +0 -71
  299. package/docs/src/docs/_misc/endpoint.md +0 -45
  300. package/docs/src/docs/_misc/formelement-subscriber-removal.md +0 -115
  301. package/docs/src/docs/_misc/html-integration.md +0 -15
  302. package/docs/src/docs/search/docs-search.json +0 -9512
  303. package/docs/src/tag-list.json +0 -1
  304. package/docs/src/tsconfig-model.json +0 -23
  305. package/docs/src/tsconfig.declarations.json +0 -22
  306. package/docs/src/tsconfig.emit.json +0 -23
  307. package/docs/src/tsconfig.json +0 -858
  308. package/docs/svg/regular/plane.svg +0 -1
  309. package/docs/svg/solid/plane.svg +0 -1
  310. package/gitlab/job_github_mirror.sh +0 -39
  311. package/scripts/github-export.mjs +0 -150
  312. package/src/css.d.ts +0 -19
  313. package/src/tsconfig.declarations.json +0 -22
  314. package/src/tsconfig.emit.json +0 -23
File without changes
@@ -4,7 +4,8 @@
4
4
 
5
5
  @font-face {
6
6
  font-family: "ClashGrotesk-Variable";
7
- src: url("/fonts/ClashGrotesk-Variable.woff2") format("woff2"),
7
+ src:
8
+ url("/fonts/ClashGrotesk-Variable.woff2") format("woff2"),
8
9
  url("/fonts/ClashGrotesk-Variable.woff") format("woff"),
9
10
  url("/fonts/ClashGrotesk-Variable.ttf") format("truetype");
10
11
  font-weight: 200 700;
@@ -18,7 +19,6 @@
18
19
  --sc-headings-font-weight: 400;
19
20
  --sc-rounded: 0.5rem;
20
21
  --sc-border-width: max(2px, 0.18rem);
21
-
22
22
  }
23
23
 
24
24
  /*duotone*/
@@ -29,7 +29,6 @@
29
29
  --sc-primary-content: white;
30
30
  } */
31
31
 
32
-
33
32
  [data-concorde-theme="light"] {
34
33
  --sc-base: #fffcf0;
35
34
  --sc-base-content: #111111;
@@ -53,7 +52,6 @@
53
52
  --sc-warning-content: #111827;
54
53
  --sc-danger: #dc2626;
55
54
  --sc-danger-content: #ffffff;
56
-
57
55
  }
58
56
 
59
57
  [data-concorde-theme="dark"] {
@@ -79,14 +77,13 @@
79
77
  --sc-warning-content: #111827;
80
78
  --sc-danger: #dd2528;
81
79
  --sc-danger-content: #ffffff;
82
- }
80
+ }
83
81
  [data-concorde-theme="light"],
84
82
  [data-concorde-theme="dark"] {
85
83
  --sc-input-bg: var(--sc-base-100);
86
84
  --sc-input-border-color: var(--sc-base-100);
87
85
  }
88
86
 
89
-
90
87
  html {
91
88
  font-family: var(--sc-font-family-base, sans-serif);
92
89
  }
@@ -178,3 +175,13 @@ html {
178
175
  transition: box-shadow 0.2s;
179
176
  border: solid 0.15rem transparent;
180
177
  }
178
+
179
+ p {
180
+ text-wrap: pretty;
181
+ }
182
+
183
+ /* Markdown inline code in docs (shadcn-style pills; theme tokens follow light/dark) */
184
+ .prose :where(code):not(:where(pre *)) {
185
+ box-decoration-break: clone;
186
+ -webkit-box-decoration-break: clone;
187
+ }
package/src/tsconfig.json CHANGED
@@ -234,6 +234,15 @@
234
234
  "./functional/value": [
235
235
  "/sites/concorde/src/core/components/functional/value/value.ts"
236
236
  ],
237
+ "./rounded": [
238
+ "/sites/concorde/src/core/components/ui/_css/rounded.ts"
239
+ ],
240
+ "./ui/rounded": [
241
+ "/sites/concorde/src/core/components/ui/_css/rounded.ts"
242
+ ],
243
+ "./ui/_css/rounded": [
244
+ "/sites/concorde/src/core/components/ui/_css/rounded.ts"
245
+ ],
237
246
  "./scroll": [
238
247
  "/sites/concorde/src/core/components/ui/_css/scroll.ts"
239
248
  ],
@@ -270,6 +279,24 @@
270
279
  "./ui/_css/type": [
271
280
  "/sites/concorde/src/core/components/ui/_css/type.ts"
272
281
  ],
282
+ "./ui-aria-labels": [
283
+ "/sites/concorde/src/core/components/ui/_i18n/ui-aria-labels.ts"
284
+ ],
285
+ "./ui/ui-aria-labels": [
286
+ "/sites/concorde/src/core/components/ui/_i18n/ui-aria-labels.ts"
287
+ ],
288
+ "./ui/_i18n/ui-aria-labels": [
289
+ "/sites/concorde/src/core/components/ui/_i18n/ui-aria-labels.ts"
290
+ ],
291
+ "./alert.spec": [
292
+ "/sites/concorde/src/core/components/ui/alert/alert.spec.ts"
293
+ ],
294
+ "./ui/alert.spec": [
295
+ "/sites/concorde/src/core/components/ui/alert/alert.spec.ts"
296
+ ],
297
+ "./ui/alert/alert.spec": [
298
+ "/sites/concorde/src/core/components/ui/alert/alert.spec.ts"
299
+ ],
273
300
  "./alert": [
274
301
  "/sites/concorde/src/core/components/ui/alert/alert.ts"
275
302
  ],
@@ -756,6 +783,15 @@
756
783
  "./ui/theme": [
757
784
  "/sites/concorde/src/core/components/ui/theme/theme.ts"
758
785
  ],
786
+ "./dismissed": [
787
+ "/sites/concorde/src/core/components/ui/toast/dismissed.ts"
788
+ ],
789
+ "./ui/dismissed": [
790
+ "/sites/concorde/src/core/components/ui/toast/dismissed.ts"
791
+ ],
792
+ "./ui/toast/dismissed": [
793
+ "/sites/concorde/src/core/components/ui/toast/dismissed.ts"
794
+ ],
759
795
  "./message-subscriber": [
760
796
  "/sites/concorde/src/core/components/ui/toast/message-subscriber.ts"
761
797
  ],
@@ -966,6 +1002,9 @@
966
1002
  "./utils/derive": [
967
1003
  "/sites/concorde/src/core/utils/derive.ts"
968
1004
  ],
1005
+ "./utils/dismissed": [
1006
+ "/sites/concorde/src/core/utils/dismissed.ts"
1007
+ ],
969
1008
  "./utils/dpOptions.spec": [
970
1009
  "/sites/concorde/src/core/utils/dpOptions.spec.ts"
971
1010
  ],
@@ -981,6 +1020,12 @@
981
1020
  "./utils/jsonataRuntime": [
982
1021
  "/sites/concorde/src/core/utils/jsonataRuntime.ts"
983
1022
  ],
1023
+ "./utils/positioning.spec": [
1024
+ "/sites/concorde/src/core/utils/positioning.spec.ts"
1025
+ ],
1026
+ "./utils/positioning": [
1027
+ "/sites/concorde/src/core/utils/positioning.ts"
1028
+ ],
984
1029
  "./utils/publisherPathKey.spec": [
985
1030
  "/sites/concorde/src/core/utils/publisherPathKey.spec.ts"
986
1031
  ],
@@ -1 +1 @@
1
- {"root":["./components.ts","./concorde-loaded.ts","./css.d.ts","./dataprovider.ts","./decorators.ts","./directives.ts","./index.ts","./mixins.ts","./utils.ts","./core/core.ts","./core/_types/endpoint.ts","./core/_types/key.ts","./core/_types/types.ts","./core/components/functional/functional.ts","./core/components/functional/date/date.ts","./core/components/functional/example/example.ts","./core/components/functional/fetch/fetch.ts","./core/components/functional/if/if.test.ts","./core/components/functional/if/if.ts","./core/components/functional/jsonata/jsonata.spec.ts","./core/components/functional/jsonata/jsonata.ts","./core/components/functional/list/list.demo.ts","./core/components/functional/list/list.spec.ts","./core/components/functional/list/list.ts","./core/components/functional/mix/mix.ts","./core/components/functional/queue/queue.demo.ts","./core/components/functional/queue/queue.ts","./core/components/functional/router/redirect.ts","./core/components/functional/router/router.demo.ts","./core/components/functional/router/router.spec.ts","./core/components/functional/router/router.ts","./core/components/functional/sdui/SDUIDescriptorTransformer.ts","./core/components/functional/sdui/sdui-utils.ts","./core/components/functional/sdui/sdui.ts","./core/components/functional/sdui/types.ts","./core/components/functional/sonic-scope/sonic-scope.ts","./core/components/functional/states/states.demo.ts","./core/components/functional/states/states.spec.ts","./core/components/functional/states/states.ts","./core/components/functional/submit/submit.ts","./core/components/functional/subscriber/subscriber.ts","./core/components/functional/translation/translation.ts","./core/components/functional/value/value.ts","./core/components/ui/ui.ts","./core/components/ui/_css/scroll.ts","./core/components/ui/_css/shadow.ts","./core/components/ui/_css/size.ts","./core/components/ui/_css/type.ts","./core/components/ui/alert/alert.ts","./core/components/ui/alert-messages/alert-messages.ts","./core/components/ui/badge/badge.ts","./core/components/ui/button/button.ts","./core/components/ui/captcha/altchaStyles.ts","./core/components/ui/captcha/captcha.ts","./core/components/ui/card/card-footer.ts","./core/components/ui/card/card-header-descripton.ts","./core/components/ui/card/card-header.ts","./core/components/ui/card/card-main.ts","./core/components/ui/card/card.ts","./core/components/ui/divider/divider.ts","./core/components/ui/form/checkbox/checkbox.ts","./core/components/ui/form/css/form-control.ts","./core/components/ui/form/fieldset/fieldset.ts","./core/components/ui/form/fieldset/legend-description.ts","./core/components/ui/form/fieldset/legend.ts","./core/components/ui/form/form-actions/form-actions.ts","./core/components/ui/form/form-layout/form-layout.ts","./core/components/ui/form/input/input.ts","./core/components/ui/form/input/password-helper.ts","./core/components/ui/form/input/same-value-helper.ts","./core/components/ui/form/input-autocomplete/input-autocomplete.ts","./core/components/ui/form/radio/radio.ts","./core/components/ui/form/select/select.ts","./core/components/ui/form/switch/switch.ts","./core/components/ui/form/textarea/textarea.ts","./core/components/ui/group/group.ts","./core/components/ui/icon/icon.stories.ts","./core/components/ui/icon/icon.ts","./core/components/ui/icon/icons.ts","./core/components/ui/image/image.ts","./core/components/ui/link/link.ts","./core/components/ui/loader/loader.stories.ts","./core/components/ui/loader/loader.ts","./core/components/ui/loader/styles/fixed.ts","./core/components/ui/loader/styles/inline.ts","./core/components/ui/menu/menu-item.ts","./core/components/ui/menu/menu.ts","./core/components/ui/modal/modal-actions.ts","./core/components/ui/modal/modal-close.ts","./core/components/ui/modal/modal-content.ts","./core/components/ui/modal/modal-subtitle.ts","./core/components/ui/modal/modal-title.ts","./core/components/ui/modal/modal-utils.ts","./core/components/ui/modal/modal.ts","./core/components/ui/pop/pop.ts","./core/components/ui/progress/progress.ts","./core/components/ui/table/table-caption.ts","./core/components/ui/table/table-tbody.ts","./core/components/ui/table/table-td.ts","./core/components/ui/table/table-tfoot.ts","./core/components/ui/table/table-th.ts","./core/components/ui/table/table-thead.ts","./core/components/ui/table/table-tr.ts","./core/components/ui/table/table.ts","./core/components/ui/theme/theme.ts","./core/components/ui/theme/theme-collection/core-variables.ts","./core/components/ui/theme/theme-collection/dark.ts","./core/components/ui/theme/theme-collection/light.ts","./core/components/ui/toast/message-subscriber.ts","./core/components/ui/toast/render-content.ts","./core/components/ui/toast/toast-item.ts","./core/components/ui/toast/toast.ts","./core/components/ui/toast/types.ts","./core/components/ui/tooltip/tooltip.ts","./core/decorators/Subscriber.ts","./core/decorators/api.post.spec.ts","./core/decorators/api.spec.ts","./core/decorators/api.ts","./core/decorators/lifecycle.ts","./core/decorators/subscriber/ancestorAttribute.spec.ts","./core/decorators/subscriber/ancestorAttribute.ts","./core/decorators/subscriber/autoFill.ts","./core/decorators/subscriber/autoSubscribe.ts","./core/decorators/subscriber/bind.ts","./core/decorators/subscriber/common.ts","./core/decorators/subscriber/derive.ts","./core/decorators/subscriber/dynamicPath.spec.ts","./core/decorators/subscriber/dynamicPath.ts","./core/decorators/subscriber/dynamicPropertyWatch.spec.ts","./core/decorators/subscriber/dynamicPropertyWatch.ts","./core/decorators/subscriber/handle.disambig.spec.ts","./core/decorators/subscriber/handle.skip.spec.ts","./core/decorators/subscriber/handle.ts","./core/decorators/subscriber/onAssign.ts","./core/decorators/subscriber/publish.spec.ts","./core/decorators/subscriber/publish.ts","./core/decorators/subscriber/publisherPath.ts","./core/decorators/subscriber/subscribe.spec.ts","./core/decorators/subscriber/subscribe.ts","./core/directives/DataProvider.sub.spec.ts","./core/directives/DataProvider.ts","./core/directives/Wording.ts","./core/mixins/Fetcher.ts","./core/mixins/FormCheckable.ts","./core/mixins/FormElement.ts","./core/mixins/FormInput.ts","./core/mixins/Subscriber.ts","./core/mixins/TemplatesContainer.ts","./core/mixins/mixins.ts","./core/utils/AncestorAttributeObserver.ts","./core/utils/Arrays.ts","./core/utils/DataBindObserver.ts","./core/utils/Electron.ts","./core/utils/Format.ts","./core/utils/HTML.ts","./core/utils/LocationHandler.ts","./core/utils/Objects.ts","./core/utils/PublisherProxy.ts","./core/utils/SafariScrollGuard.ts","./core/utils/Utils.ts","./core/utils/aesCrypto.ts","./core/utils/api.spec.ts","./core/utils/api.ts","./core/utils/dataProviderKey.spec.ts","./core/utils/dataProviderKey.ts","./core/utils/derive.spec.ts","./core/utils/derive.ts","./core/utils/dpOptions.spec.ts","./core/utils/endpoint.spec.ts","./core/utils/endpoint.ts","./core/utils/jsonataHelpers.ts","./core/utils/jsonataRuntime.ts","./core/utils/publisherPathKey.spec.ts","./core/utils/route.spec.ts","./core/utils/route.ts","./core/utils/url-pattern.ts","./test-utils/TestUtils.ts"],"version":"5.9.2"}
1
+ {"root":["./components.ts","./concorde-loaded.ts","./dataprovider.ts","./decorators.ts","./directives.ts","./index.ts","./mixins.ts","./utils.ts","./core/core.ts","./core/_types/endpoint.ts","./core/_types/key.ts","./core/_types/types.ts","./core/components/functional/functional.ts","./core/components/functional/date/date.ts","./core/components/functional/example/example.ts","./core/components/functional/fetch/fetch.ts","./core/components/functional/if/if.test.ts","./core/components/functional/if/if.ts","./core/components/functional/jsonata/jsonata.spec.ts","./core/components/functional/jsonata/jsonata.ts","./core/components/functional/list/list.demo.ts","./core/components/functional/list/list.spec.ts","./core/components/functional/list/list.ts","./core/components/functional/mix/mix.ts","./core/components/functional/queue/queue.demo.ts","./core/components/functional/queue/queue.ts","./core/components/functional/router/redirect.ts","./core/components/functional/router/router.demo.ts","./core/components/functional/router/router.spec.ts","./core/components/functional/router/router.ts","./core/components/functional/sdui/SDUIDescriptorTransformer.ts","./core/components/functional/sdui/sdui-utils.ts","./core/components/functional/sdui/sdui.ts","./core/components/functional/sdui/types.ts","./core/components/functional/sonic-scope/sonic-scope.ts","./core/components/functional/states/states.demo.ts","./core/components/functional/states/states.spec.ts","./core/components/functional/states/states.ts","./core/components/functional/submit/submit.ts","./core/components/functional/subscriber/subscriber.ts","./core/components/functional/translation/translation.ts","./core/components/functional/value/value.ts","./core/components/ui/ui.ts","./core/components/ui/_css/rounded.ts","./core/components/ui/_css/scroll.ts","./core/components/ui/_css/shadow.ts","./core/components/ui/_css/size.ts","./core/components/ui/_css/type.ts","./core/components/ui/_i18n/ui-aria-labels.ts","./core/components/ui/alert/alert.spec.ts","./core/components/ui/alert/alert.ts","./core/components/ui/alert-messages/alert-messages.ts","./core/components/ui/badge/badge.ts","./core/components/ui/button/button.ts","./core/components/ui/captcha/altchaStyles.ts","./core/components/ui/captcha/captcha.ts","./core/components/ui/card/card-footer.ts","./core/components/ui/card/card-header-descripton.ts","./core/components/ui/card/card-header.ts","./core/components/ui/card/card-main.ts","./core/components/ui/card/card.ts","./core/components/ui/divider/divider.ts","./core/components/ui/form/checkbox/checkbox.ts","./core/components/ui/form/css/form-control.ts","./core/components/ui/form/fieldset/fieldset.ts","./core/components/ui/form/fieldset/legend-description.ts","./core/components/ui/form/fieldset/legend.ts","./core/components/ui/form/form-actions/form-actions.ts","./core/components/ui/form/form-layout/form-layout.ts","./core/components/ui/form/input/input.ts","./core/components/ui/form/input/password-helper.ts","./core/components/ui/form/input/same-value-helper.ts","./core/components/ui/form/input-autocomplete/input-autocomplete.ts","./core/components/ui/form/radio/radio.ts","./core/components/ui/form/select/select.ts","./core/components/ui/form/switch/switch.ts","./core/components/ui/form/textarea/textarea.ts","./core/components/ui/group/group.ts","./core/components/ui/icon/icon.stories.ts","./core/components/ui/icon/icon.ts","./core/components/ui/icon/icons.ts","./core/components/ui/image/image.ts","./core/components/ui/link/link.ts","./core/components/ui/loader/loader.stories.ts","./core/components/ui/loader/loader.ts","./core/components/ui/loader/styles/fixed.ts","./core/components/ui/loader/styles/inline.ts","./core/components/ui/menu/menu-item.ts","./core/components/ui/menu/menu.ts","./core/components/ui/modal/modal-actions.ts","./core/components/ui/modal/modal-close.ts","./core/components/ui/modal/modal-content.ts","./core/components/ui/modal/modal-subtitle.ts","./core/components/ui/modal/modal-title.ts","./core/components/ui/modal/modal-utils.ts","./core/components/ui/modal/modal.ts","./core/components/ui/pop/pop.ts","./core/components/ui/progress/progress.ts","./core/components/ui/table/table-caption.ts","./core/components/ui/table/table-tbody.ts","./core/components/ui/table/table-td.ts","./core/components/ui/table/table-tfoot.ts","./core/components/ui/table/table-th.ts","./core/components/ui/table/table-thead.ts","./core/components/ui/table/table-tr.ts","./core/components/ui/table/table.ts","./core/components/ui/theme/theme.ts","./core/components/ui/theme/theme-collection/core-variables.ts","./core/components/ui/theme/theme-collection/dark.ts","./core/components/ui/theme/theme-collection/light.ts","./core/components/ui/toast/dismissed.ts","./core/components/ui/toast/message-subscriber.ts","./core/components/ui/toast/render-content.ts","./core/components/ui/toast/toast-item.ts","./core/components/ui/toast/toast.ts","./core/components/ui/toast/types.ts","./core/components/ui/tooltip/tooltip.ts","./core/decorators/Subscriber.ts","./core/decorators/api.post.spec.ts","./core/decorators/api.spec.ts","./core/decorators/api.ts","./core/decorators/lifecycle.ts","./core/decorators/subscriber/ancestorAttribute.spec.ts","./core/decorators/subscriber/ancestorAttribute.ts","./core/decorators/subscriber/autoFill.ts","./core/decorators/subscriber/autoSubscribe.ts","./core/decorators/subscriber/bind.ts","./core/decorators/subscriber/common.ts","./core/decorators/subscriber/derive.ts","./core/decorators/subscriber/dynamicPath.spec.ts","./core/decorators/subscriber/dynamicPath.ts","./core/decorators/subscriber/dynamicPropertyWatch.spec.ts","./core/decorators/subscriber/dynamicPropertyWatch.ts","./core/decorators/subscriber/handle.disambig.spec.ts","./core/decorators/subscriber/handle.skip.spec.ts","./core/decorators/subscriber/handle.ts","./core/decorators/subscriber/onAssign.ts","./core/decorators/subscriber/publish.spec.ts","./core/decorators/subscriber/publish.ts","./core/decorators/subscriber/publisherPath.ts","./core/decorators/subscriber/subscribe.spec.ts","./core/decorators/subscriber/subscribe.ts","./core/directives/DataProvider.sub.spec.ts","./core/directives/DataProvider.ts","./core/directives/Wording.ts","./core/mixins/Fetcher.ts","./core/mixins/FormCheckable.ts","./core/mixins/FormElement.ts","./core/mixins/FormInput.ts","./core/mixins/Subscriber.ts","./core/mixins/TemplatesContainer.ts","./core/mixins/mixins.ts","./core/utils/AncestorAttributeObserver.ts","./core/utils/Arrays.ts","./core/utils/DataBindObserver.ts","./core/utils/Electron.ts","./core/utils/Format.ts","./core/utils/HTML.ts","./core/utils/LocationHandler.ts","./core/utils/Objects.ts","./core/utils/PublisherProxy.ts","./core/utils/SafariScrollGuard.ts","./core/utils/Utils.ts","./core/utils/aesCrypto.ts","./core/utils/api.spec.ts","./core/utils/api.ts","./core/utils/dataProviderKey.spec.ts","./core/utils/dataProviderKey.ts","./core/utils/derive.spec.ts","./core/utils/derive.ts","./core/utils/dismissed.ts","./core/utils/dpOptions.spec.ts","./core/utils/endpoint.spec.ts","./core/utils/endpoint.ts","./core/utils/jsonataHelpers.ts","./core/utils/jsonataRuntime.ts","./core/utils/positioning.spec.ts","./core/utils/positioning.ts","./core/utils/publisherPathKey.spec.ts","./core/utils/route.spec.ts","./core/utils/route.ts","./core/utils/url-pattern.ts","./test-utils/TestUtils.ts"],"version":"5.9.2"}
@@ -107,9 +107,9 @@ module.exports = {
107
107
  "--tw-prose-quotes": "var(--sc-base-content)",
108
108
  "--tw-prose-quote-borders": "var(--sc-base-200)",
109
109
  "--tw-prose-captions": "var(--sc-base-500)",
110
- "--tw-prose-code": "var(--sc-info)",
111
- "--tw-prose-pre-code": "var(--sc-base-200)",
112
- "--tw-prose-pre-bg": "var(--sc-base-800)",
110
+ "--tw-prose-code": "var(--sc-base-content)",
111
+ "--tw-prose-pre-code": "var(--sc-base-content)",
112
+ "--tw-prose-pre-bg": "var(--sc-base-100)",
113
113
  "--tw-prose-th-borders": "var(--sc-base-300)",
114
114
  "--tw-prose-td-borders": "var(--sc-base-200)",
115
115
  "--tw-prose-invert-body": "var(--sc-base-300)",
@@ -154,6 +154,53 @@ module.exports = {
154
154
  a: {
155
155
  textDecoration: "underline",
156
156
  },
157
+ code: {
158
+ color: "var(--sc-base-content)",
159
+ backgroundColor: "var(--sc-base-100)",
160
+ borderRadius: "calc(var(--sc-rounded) * 0.75)",
161
+ borderWidth: "1px",
162
+ borderColor: "var(--sc-base-200)",
163
+ padding: "0.15em 0.4em",
164
+ fontWeight: "600",
165
+ fontSize: "0.875em",
166
+ fontFamily:
167
+ "var(--sc-font-family-monospace, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace)",
168
+ },
169
+ "code::before": {
170
+ content: "none",
171
+ },
172
+ "code::after": {
173
+ content: "none",
174
+ },
175
+ pre: {
176
+ color: "var(--sc-base-content)",
177
+ backgroundColor: "var(--sc-base-100)",
178
+ borderWidth: "1px",
179
+ borderStyle: "solid",
180
+ borderColor: "var(--sc-base-200)",
181
+ borderRadius: "var(--sc-rounded)",
182
+ padding: "1rem 1.25rem",
183
+ overflowX: "auto",
184
+ fontSize: "0.8125rem",
185
+ lineHeight: "1.6",
186
+ fontFamily:
187
+ "var(--sc-font-family-monospace, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace)",
188
+ },
189
+ "pre code": {
190
+ color: "inherit",
191
+ backgroundColor: "transparent",
192
+ borderWidth: "0",
193
+ borderRadius: "0",
194
+ padding: "0",
195
+ fontWeight: "400",
196
+ fontSize: "inherit",
197
+ },
198
+ "pre code::before": {
199
+ content: "none",
200
+ },
201
+ "pre code::after": {
202
+ content: "none",
203
+ },
157
204
  },
158
205
  },
159
206
  lg: {
package/vitest.setup.ts CHANGED
@@ -1,22 +1,58 @@
1
1
  /**
2
- * jsdom n'expose pas CompressionStream / DecompressionStream sur window,
3
- * alors que Node (et les navigateurs modernes) les fournissent.
4
- * PublisherProxy s'appuie sur window.* — on aligne l'environnement de test.
2
+ * Environnement navigateur pour les tests (jsdom).
3
+ *
4
+ * 1) jsdom / Vitest n'exposent pas CompressionStream / DecompressionStream sur
5
+ * window — PublisherProxy s'appuie sur window.* (cache localStorage).
6
+ * On les importe depuis node:stream/web (fiable même en pool VM, où
7
+ * globalThis est le contexte jsdom et non le Node hôte).
8
+ *
9
+ * 2) PublisherManager.cleanStorageData() est lancé en fire-and-forget au
10
+ * constructeur. S'il reprend après le teardown jsdom → ReferenceError:
11
+ * window is not defined. On laisse finir microtasks / rAF après chaque test.
5
12
  */
6
- const g = globalThis as typeof globalThis & {
13
+ import {
14
+ CompressionStream as NodeCompressionStream,
15
+ DecompressionStream as NodeDecompressionStream,
16
+ } from "node:stream/web";
17
+ import { afterEach } from "vitest";
18
+
19
+ const root = globalThis as typeof globalThis & {
20
+ window?: Window & typeof globalThis;
7
21
  CompressionStream?: unknown;
8
22
  DecompressionStream?: unknown;
9
23
  };
10
24
 
11
- if (typeof window !== "undefined") {
12
- const w = window as typeof window & {
13
- CompressionStream?: unknown;
14
- DecompressionStream?: unknown;
15
- };
16
- if (!w.CompressionStream && g.CompressionStream) {
17
- w.CompressionStream = g.CompressionStream;
25
+ function installStreamApis(target: {
26
+ CompressionStream?: unknown;
27
+ DecompressionStream?: unknown;
28
+ }) {
29
+ if (!target.CompressionStream) {
30
+ target.CompressionStream = NodeCompressionStream;
18
31
  }
19
- if (!w.DecompressionStream && g.DecompressionStream) {
20
- w.DecompressionStream = g.DecompressionStream;
32
+ if (!target.DecompressionStream) {
33
+ target.DecompressionStream = NodeDecompressionStream;
21
34
  }
22
35
  }
36
+
37
+ installStreamApis(root);
38
+ if (root.window) {
39
+ installStreamApis(
40
+ root.window as typeof root.window & {
41
+ CompressionStream?: unknown;
42
+ DecompressionStream?: unknown;
43
+ },
44
+ );
45
+ }
46
+
47
+ afterEach(async () => {
48
+ // Laisser aboutir cleanStorageData / requestAnimationFrame avant destruction de window.
49
+ await new Promise<void>((resolve) => {
50
+ const done = () => resolve();
51
+ if (typeof requestAnimationFrame === "function") {
52
+ requestAnimationFrame(() => done());
53
+ } else {
54
+ setTimeout(done, 0);
55
+ }
56
+ });
57
+ await Promise.resolve();
58
+ });
@@ -1,21 +0,0 @@
1
- name: CI
2
-
3
- on:
4
- push:
5
- branches: [master, main]
6
- pull_request:
7
- branches: [master, main]
8
-
9
- jobs:
10
- test:
11
- runs-on: ubuntu-latest
12
- steps:
13
- - uses: actions/checkout@v4
14
-
15
- - uses: actions/setup-node@v4
16
- with:
17
- node-version: "22"
18
- cache: yarn
19
-
20
- - run: yarn install --frozen-lockfile
21
- - run: yarn test:ci
@@ -1,30 +0,0 @@
1
- # Arborescence exclue du miroir public GitHub (GitLab reste complet).
2
- # Syntaxe : une entrée par ligne, # = commentaire.
3
-
4
- # Site doc
5
- index.html
6
- src/docs.ts
7
- src/docs/
8
- docs/
9
- img/
10
- scripts/create-search.js
11
- scripts/post-build-docs.js
12
- scripts/docs-mock-api-vite-plugin.ts
13
- scripts/docs-open-in-editor-plugin.ts
14
- public/docs-mock-api-sw.js
15
- public/docs-mock-api-sw.js.map
16
-
17
- # Captcha (dépend de altcha.supersoniks.org)
18
- src/core/components/ui/captcha/
19
-
20
- # Démos intégrées à la doc
21
- **/*.demo.ts
22
-
23
- # CI / infra interne
24
- gitlab/
25
-
26
- # Artefacts locaux
27
- dist/
28
- build-infos.json
29
- concorde-core.bundle.js
30
- concorde-core.es.js
package/CONTRIBUTING.md DELETED
@@ -1,59 +0,0 @@
1
- # Contribuer à Concorde
2
-
3
- Merci de votre intérêt pour `@supersoniks/concorde` !
4
-
5
- ## Modèle de contribution (phase 1)
6
-
7
- Concorde utilise un dépôt **GitLab interne** comme source complète, avec un **export public filtré** sur GitHub (librairie uniquement — pas le site doc, pas le composant captcha lié à l’infra Supersoniks).
8
-
9
- | Qui | Où | Comment |
10
- |-----|-----|---------|
11
- | Équipe Supersoniks | GitLab | Branche + **Merge Request** vers `master` |
12
- | Contributeurs externes | GitHub | **Issues** pour signaler bugs ou proposer des améliorations |
13
- | Contributeurs externes (code) | GitHub / email | Décrire le changement dans une issue, ou proposer un patch que l'équipe intègre sur GitLab |
14
-
15
- > Les Pull Requests sur le dépôt GitHub public **ne sont pas mergées directement** : le miroir GitLab → GitHub écraserait ces changements. Ouvrez une issue pour discuter avant d'investir du temps.
16
-
17
- ## Prérequis
18
-
19
- - Node.js 20+ (22 recommandé)
20
- - Yarn 1.22 (`packageManager` dans `package.json`)
21
-
22
- ## Workflow développeur interne
23
-
24
- ```bash
25
- git checkout -b ma-branche
26
- yarn install
27
- # … modifications …
28
- yarn test:ci
29
- # Ouvrir une Merge Request vers master sur GitLab
30
- ```
31
-
32
- ## Tests
33
-
34
- ```bash
35
- yarn test # watch (développement)
36
- yarn test:ci # exécution unique (CI)
37
- ```
38
-
39
- ## Build
40
-
41
- ```bash
42
- yarn build # librairie → dist/
43
- yarn build-docs # documentation statique → docs/
44
- yarn dev # serveur de doc local (https://localhost:3000)
45
- ```
46
-
47
- ## Conventions
48
-
49
- - Suivre les patterns existants (Lit, décorateurs, DataProviderKey).
50
- - Pas de `console.log` oubliés (bloqué par `prepublishOnly`).
51
- - Documentation : fichiers `.md` colocalisés avec les composants dans `src/`.
52
-
53
- ## Signaler un problème de sécurité
54
-
55
- Ne pas ouvrir d'issue publique. Contacter l'équipe Supersoniks directement.
56
-
57
- ## Évolution prévue
58
-
59
- Si des contributions externes deviennent fréquentes, le dépôt GitHub pourra devenir la source canonique (modèle inversé). En attendant, GitLab reste le point d'entrée pour le code.
package/DEV.md DELETED
@@ -1,54 +0,0 @@
1
- # Développement local — consommer Concorde depuis un autre projet
2
-
3
- ## Recommandé : `file:` (sans `yarn link`)
4
-
5
- Dans le projet consommateur (la-billetterie, etc.) :
6
-
7
- ```bash
8
- yarn add @supersoniks/concorde@file:../../concorde
9
- ```
10
-
11
- - Pas de `yarn link` / `yarn unlink` à gérer
12
- - Comportement proche d’un install registry
13
- - Après modification de Concorde : `yarn build` dans concorde (génère `dist/js/` + `dist/types/`), puis rebuild du consommateur
14
-
15
- ## Alternative : `yarn link`
16
-
17
- Toujours supporté. Dans Concorde :
18
-
19
- ```bash
20
- yarn link
21
- ```
22
-
23
- Dans le consommateur :
24
-
25
- ```bash
26
- yarn link @supersoniks/concorde
27
- ```
28
-
29
- ### Pourquoi `vite-config` exclut Concorde du pre-bundle
30
-
31
- Dans `vite/config.js`, quand un `tsconfig` est passé :
32
-
33
- ```js
34
- optimizeDeps: {
35
- exclude: ["@supersoniks/concorde"],
36
- // ...
37
- }
38
- ```
39
-
40
- **Toujours utile** avec `yarn link` ou `file:` : Vite ne met pas Concorde en cache dans `node_modules/.vite`, donc les changements dans `dist/js/` (après `yarn build` dans Concorde) sont pris en compte au prochain HMR / rebuild.
41
-
42
- Les exports npm pointent vers `dist/js/` (runtime) et `dist/types/` (types) — le source `src/` sert au développement de Concorde lui-même.
43
-
44
- ## Types (`.d.ts`) et runtime (`.js`)
45
-
46
- `yarn build` exécute `prebuild` (exports) → bundle Vite → `postbuild` (génération de `dist/types/` + `dist/js/`).
47
-
48
- `yarn build:types` / `yarn build:js` restent disponibles pour régénérer uniquement les déclarations ou le JS.
49
-
50
- ## Scripts la-billetterie
51
-
52
- `link:concorde` / `unlink:concorde` dans `la-billetterie/concorde/package.json` restent valides.
53
-
54
- `test:concorde-lib` pointe vers un fichier `resolvePublisher.spec.ts` **supprimé** — script obsolète à nettoyer côté billetterie.
package/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) Supersoniks
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
@@ -1,133 +0,0 @@
1
- # Point d'étape — Open Source Concorde
2
-
3
- > Modèle retenu (phase 1) : **GitLab = source complète**, **GitHub = export filtré** (librairie seule).
4
-
5
- Dernière mise à jour : juin 2025.
6
-
7
- ---
8
-
9
- ## ✅ Fait (dans ce dépôt GitLab)
10
-
11
- | Élément | Fichier / action |
12
- |---------|------------------|
13
- | Licence MIT | `LICENSE` |
14
- | Retrait Typekit inutilisé | `index.html` |
15
- | Métadonnées npm (repo, homepage, bugs) | `package.json` |
16
- | README mis à jour | `README.md` |
17
- | Guide contributeurs | `CONTRIBUTING.md` |
18
- | CI GitHub Actions | `.github/workflows/ci.yml` |
19
- | **Liste d'exclusion GitHub** | `.github-export-ignore` |
20
- | **Script d'export filtré** | `scripts/github-export.mjs` |
21
- | **Job CI miroir GitHub** | `gitlab/job_github_mirror.sh` |
22
-
23
- ### Ce qui reste sur GitLab uniquement (pas sur GitHub)
24
-
25
- | Exclu | Raison |
26
- |-------|--------|
27
- | `index.html`, `src/docs/`, `src/docs.ts` | Site doc → [concorde.supersoniks.org](https://concorde.supersoniks.org/) |
28
- | `src/core/components/ui/captcha/` | Dépend de `altcha.supersoniks.org` |
29
- | `**/*.demo.ts` | Démos intégrées à la doc |
30
- | `gitlab/` | CI / infra interne |
31
-
32
- Le script retire aussi l'import captcha dans `ui.ts` et filtre les `exports` npm liés à la doc/captcha.
33
-
34
- ---
35
-
36
- ## ⏳ À faire de votre côté
37
-
38
- ### 1. Merger ces changements sur GitLab
39
-
40
- ```bash
41
- git add LICENSE README.md CONTRIBUTING.md OPEN_SOURCE_CHECKPOINT.md \
42
- .github-export-ignore scripts/github-export.mjs \
43
- .github/workflows/ci.yml .gitlab-ci.yml \
44
- gitlab/job_github_mirror.sh package.json index.html
45
- git commit -m "Open source : export GitHub filtré (sans doc ni captcha)"
46
- # MR vers master
47
- ```
48
-
49
- ### 2. Créer le dépôt GitHub public
50
-
51
- 1. https://github.com/organizations/supersoniks → **New repository** → `concorde`
52
- 2. **Public**, sans README initial
53
-
54
- ### 3. Variables CI GitLab
55
-
56
- **Settings → CI/CD → Variables** (masquées) :
57
-
58
- | Variable | Exemple |
59
- |----------|---------|
60
- | `GITHUB_REPO_URL` | `https://github.com/supersoniks/concorde.git` |
61
- | `GITHUB_TOKEN` | PAT GitHub scope `repo` |
62
-
63
- ### 4. Premier export (manuel ou CI)
64
-
65
- **En local :**
66
-
67
- ```bash
68
- node scripts/github-export.mjs /tmp/concorde-github
69
- cd /tmp/concorde-github
70
- git init && git add -A && git commit -m "Initial export lib"
71
- git remote add origin git@github.com:supersoniks/concorde.git
72
- git push -u origin master
73
- ```
74
-
75
- **Via GitLab CI** (après merge sur `master`) :
76
-
77
- - Lancer le job manuel **`github-mirror`** dans la pipeline
78
-
79
- > **Ne pas** utiliser le push mirror GitLab natif (il enverrait tout, doc + captcha inclus).
80
-
81
- ### 5. Vérifier GitHub
82
-
83
- ```bash
84
- git clone https://github.com/supersoniks/concorde.git
85
- cd concorde
86
- yarn install && yarn test:ci
87
- ```
88
-
89
- - Pas de `index.html`, pas de `src/docs/`, pas de `captcha.ts`
90
- - Pas de référence à `cdn.supersoniks.com` ni `altcha.supersoniks.org` dans le tree
91
-
92
- ### 6. npm
93
-
94
- ```bash
95
- yarn build
96
- npm publish --access public
97
- ```
98
-
99
- (idéalement depuis l'export filtré ou après avoir aligné `files` / `exports` npm)
100
-
101
- ### 7. Documentation en ligne
102
-
103
- Doc hébergée sur **https://concorde.supersoniks.org/** (build depuis GitLab, pas depuis GitHub).
104
-
105
- ---
106
-
107
- ## Schéma
108
-
109
- ```
110
- ┌──────────────────────────────────────────┐
111
- │ GitLab (interne) — tout le dépôt │
112
- │ doc + captcha + dev (yarn dev) + CI │
113
- └──────────────────┬───────────────────────┘
114
- │ scripts/github-export.mjs
115
- │ (job github-mirror)
116
- ▼
117
- ┌──────────────────────────────────────────┐
118
- │ GitHub (public) — librairie seule │
119
- │ src/core, décorateurs, tests, CI Actions │
120
- └──────────────────────────────────────────┘
121
-
122
- Doc en ligne : concorde.supersoniks.org (déployée depuis GitLab)
123
- ```
124
-
125
- ---
126
-
127
- ## Checklist finale
128
-
129
- - [ ] Export GitHub sans `cdn.supersoniks` / `altcha.supersoniks`
130
- - [ ] `yarn test:ci` OK sur clone GitHub
131
- - [ ] Job `github-mirror` configuré
132
- - [ ] npm `@supersoniks/concorde` publié
133
- - [ ] Doc accessible sur concorde.supersoniks.org