@supersoniks/concorde 5.1.1 → 5.1.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 (438) hide show
  1. package/.agents/skills/concorde-docs/SKILL.md +153 -0
  2. package/.agents/skills/{concorde-component-docs/template.md → concorde-docs/templates/component.md} +6 -2
  3. package/.agents/skills/concorde-docs/templates/decorator.md +43 -0
  4. package/.agents/skills/concorde-docs/templates/guide.md +25 -0
  5. package/.tmp-cem/custom-elements.json +503 -503
  6. package/PLAN-DOCS-AGENTS.md +80 -0
  7. package/README.md +3 -3
  8. package/ai/skills/concorde/SKILL.md +1 -1
  9. package/ai/skills/concorde-get-set-dp/SKILL.md +3 -3
  10. package/ai/skills/concorde-theme/SKILL.md +1 -1
  11. package/build-infos.json +1 -1
  12. package/concorde-core.bundle.js +1 -1
  13. package/concorde-core.es.js +1 -1
  14. package/dist/concorde-core.bundle.js +1 -1
  15. package/dist/concorde-core.es.js +1 -1
  16. package/docs/.htaccess +75 -0
  17. package/docs/404.html +15 -0
  18. package/docs/404.md +5 -0
  19. package/docs/assets/{index-Bb-_LRyY.js → index-BgG6FFPt.js} +2582 -3097
  20. package/docs/assets/index-x89XINSG.css +1 -0
  21. package/docs/core/components/functional/date/date.html +211 -0
  22. package/docs/core/components/functional/date/date.md +150 -0
  23. package/docs/core/components/functional/fetch/fetch.html +180 -0
  24. package/docs/core/components/functional/fetch/fetch.md +108 -0
  25. package/docs/core/components/functional/if/if.html +65 -0
  26. package/docs/core/components/functional/if/if.md +34 -0
  27. package/docs/core/components/functional/jsonata/jsonata.html +110 -0
  28. package/docs/core/components/functional/jsonata/jsonata.md +61 -0
  29. package/docs/core/components/functional/list/list.html +198 -0
  30. package/docs/core/components/functional/list/list.md +121 -0
  31. package/docs/core/components/functional/mix/mix.html +78 -0
  32. package/docs/core/components/functional/mix/mix.md +46 -0
  33. package/docs/core/components/functional/queue/queue.html +155 -0
  34. package/docs/core/components/functional/queue/queue.md +51 -0
  35. package/docs/core/components/functional/router/router.html +154 -0
  36. package/docs/core/components/functional/router/router.md +93 -0
  37. package/docs/core/components/functional/sdui/sdui-extension-points.html +127 -0
  38. package/docs/core/components/functional/sdui/sdui-extension-points.md +94 -0
  39. package/docs/core/components/functional/sdui/sdui.html +397 -0
  40. package/docs/core/components/functional/sdui/sdui.md +307 -0
  41. package/docs/core/components/functional/states/states.html +141 -0
  42. package/docs/core/components/functional/states/states.md +112 -0
  43. package/docs/core/components/functional/submit/submit.html +178 -0
  44. package/docs/core/components/functional/submit/submit.md +106 -0
  45. package/docs/core/components/functional/subscriber/subscriber.html +68 -0
  46. package/docs/core/components/functional/subscriber/subscriber.md +91 -0
  47. package/docs/core/components/functional/translation/translation.html +60 -0
  48. package/docs/core/components/functional/translation/translation.md +38 -0
  49. package/docs/core/components/functional/value/value.html +81 -0
  50. package/docs/core/components/functional/value/value.md +47 -0
  51. package/docs/core/components/ui/alert/alert.html +201 -0
  52. package/docs/core/components/ui/alert/alert.md +186 -0
  53. package/docs/core/components/ui/alert-messages/alert-messages.html +132 -0
  54. package/docs/core/components/ui/alert-messages/alert-messages.md +85 -0
  55. package/docs/core/components/ui/badge/badge.html +197 -0
  56. package/docs/core/components/ui/badge/badge.md +181 -0
  57. package/docs/core/components/ui/button/button.html +309 -0
  58. package/docs/core/components/ui/button/button.md +216 -0
  59. package/docs/core/components/ui/captcha/captcha.html +80 -0
  60. package/docs/core/components/ui/captcha/captcha.md +56 -0
  61. package/docs/core/components/ui/card/card.html +254 -0
  62. package/docs/core/components/ui/card/card.md +215 -0
  63. package/docs/core/components/ui/divider/divider.html +144 -0
  64. package/docs/core/components/ui/divider/divider.md +126 -0
  65. package/docs/core/components/ui/form/checkbox/checkbox.html +200 -0
  66. package/docs/core/components/ui/form/checkbox/checkbox.md +125 -0
  67. package/docs/core/components/ui/form/fieldset/fieldset.html +238 -0
  68. package/docs/core/components/ui/form/fieldset/fieldset.md +161 -0
  69. package/docs/core/components/ui/form/form-actions/form-actions.html +122 -0
  70. package/docs/core/components/ui/form/form-actions/form-actions.md +98 -0
  71. package/docs/core/components/ui/form/form-layout/form-layout.html +115 -0
  72. package/docs/core/components/ui/form/form-layout/form-layout.md +109 -0
  73. package/docs/core/components/ui/form/input/input.html +235 -0
  74. package/docs/core/components/ui/form/input/input.md +142 -0
  75. package/docs/core/components/ui/form/radio/radio.html +144 -0
  76. package/docs/core/components/ui/form/radio/radio.md +78 -0
  77. package/docs/core/components/ui/form/select/select.html +178 -0
  78. package/docs/core/components/ui/form/select/select.md +86 -0
  79. package/docs/core/components/ui/form/switch/switch.html +146 -0
  80. package/docs/core/components/ui/form/switch/switch.md +80 -0
  81. package/docs/core/components/ui/form/textarea/textarea.html +162 -0
  82. package/docs/core/components/ui/form/textarea/textarea.md +82 -0
  83. package/docs/core/components/ui/group/group.html +113 -0
  84. package/docs/core/components/ui/group/group.md +77 -0
  85. package/docs/core/components/ui/icon/icon.html +223 -0
  86. package/docs/core/components/ui/icon/icon.md +214 -0
  87. package/docs/core/components/ui/image/image.html +194 -0
  88. package/docs/core/components/ui/image/image.md +167 -0
  89. package/docs/core/components/ui/link/link.html +101 -0
  90. package/docs/core/components/ui/link/link.md +81 -0
  91. package/docs/core/components/ui/loader/loader.html +114 -0
  92. package/docs/core/components/ui/loader/loader.md +87 -0
  93. package/docs/core/components/ui/menu/menu.html +395 -0
  94. package/docs/core/components/ui/menu/menu.md +370 -0
  95. package/docs/core/components/ui/modal/modal.html +324 -0
  96. package/docs/core/components/ui/modal/modal.md +211 -0
  97. package/docs/core/components/ui/pop/pop.html +250 -0
  98. package/docs/core/components/ui/pop/pop.md +216 -0
  99. package/docs/core/components/ui/progress/progress.html +132 -0
  100. package/docs/core/components/ui/progress/progress.md +109 -0
  101. package/docs/core/components/ui/table/table.html +333 -0
  102. package/docs/core/components/ui/table/table.md +267 -0
  103. package/docs/core/components/ui/theme/theme.html +116 -0
  104. package/docs/core/components/ui/theme/theme.md +97 -0
  105. package/docs/core/components/ui/toast/toast.html +185 -0
  106. package/docs/core/components/ui/toast/toast.md +147 -0
  107. package/docs/core/components/ui/tooltip/tooltip.html +112 -0
  108. package/docs/core/components/ui/tooltip/tooltip.md +89 -0
  109. package/docs/docs/decorators/ancestor-attribute.html +71 -0
  110. package/docs/docs/decorators/ancestor-attribute.md +59 -0
  111. package/docs/docs/decorators/auto-subscribe.html +61 -0
  112. package/docs/docs/decorators/auto-subscribe.md +40 -0
  113. package/docs/docs/decorators/bind.html +86 -0
  114. package/docs/docs/decorators/bind.md +77 -0
  115. package/docs/docs/decorators/get.html +166 -0
  116. package/docs/docs/decorators/get.md +160 -0
  117. package/docs/docs/decorators/handle.html +139 -0
  118. package/docs/docs/decorators/handle.md +119 -0
  119. package/docs/docs/decorators/on-assign.html +72 -0
  120. package/docs/docs/decorators/on-assign.md +63 -0
  121. package/docs/docs/decorators/patch.html +76 -0
  122. package/docs/docs/decorators/patch.md +44 -0
  123. package/docs/docs/decorators/post.html +150 -0
  124. package/docs/docs/decorators/post.md +134 -0
  125. package/docs/docs/decorators/publish.html +74 -0
  126. package/docs/docs/decorators/publish.md +56 -0
  127. package/docs/docs/decorators/put.html +83 -0
  128. package/docs/docs/decorators/put.md +51 -0
  129. package/docs/docs/decorators/subscribe.html +91 -0
  130. package/docs/docs/decorators/subscribe.md +87 -0
  131. package/docs/docs/decorators/wait-for-ancestors.html +82 -0
  132. package/docs/docs/decorators/wait-for-ancestors.md +76 -0
  133. package/docs/docs/directives/sub.html +79 -0
  134. package/docs/docs/directives/sub.md +75 -0
  135. package/docs/docs/directives/t.html +91 -0
  136. package/docs/docs/directives/t.md +73 -0
  137. package/docs/docs/getting-started/ai-agents.html +174 -0
  138. package/{src/docs/_getting-started → docs/docs/getting-started}/ai-agents.md +3 -3
  139. package/docs/docs/getting-started/components.html +27 -0
  140. package/docs/docs/getting-started/create-a-component.html +108 -0
  141. package/{src/docs/_getting-started → docs/docs/getting-started}/create-a-component.md +3 -6
  142. package/docs/docs/getting-started/dataFlow.html +174 -0
  143. package/{src/docs/_core-concept → docs/docs/getting-started}/dataFlow.md +17 -18
  144. package/docs/docs/getting-started/installation.html +69 -0
  145. package/docs/docs/getting-started/installation.md +36 -0
  146. package/docs/docs/getting-started/my-first-component.html +180 -0
  147. package/{src/docs/_getting-started → docs/docs/getting-started}/my-first-component.md +5 -14
  148. package/docs/docs/getting-started/start.html +47 -0
  149. package/{src/docs/_getting-started → docs/docs/getting-started}/start.md +1 -13
  150. package/docs/docs/getting-started/theming.html +334 -0
  151. package/docs/docs/index.html +99 -0
  152. package/docs/docs/misc/api-configuration.html +149 -0
  153. package/{src/docs/_misc → docs/docs/misc}/api-configuration.md +10 -12
  154. package/docs/docs/misc/dataProviderKey.html +136 -0
  155. package/{src/docs/_misc → docs/docs/misc}/dataProviderKey.md +4 -4
  156. package/docs/docs/misc/docs-mock-api.html +155 -0
  157. package/{src/docs/_misc → docs/docs/misc}/docs-mock-api.md +12 -13
  158. package/docs/docs/misc/dynamic-path.html +181 -0
  159. package/{src/docs/_misc → docs/docs/misc}/dynamic-path.md +8 -8
  160. package/docs/docs/misc/endpoint.html +51 -0
  161. package/{src/docs/_misc → docs/docs/misc}/endpoint.md +8 -8
  162. package/docs/docs/misc/html-integration.html +45 -0
  163. package/{src/docs/_misc → docs/docs/misc}/html-integration.md +4 -5
  164. package/docs/docs-mock-api-sw.js +58 -223
  165. package/docs/docs-mock-api-sw.js.map +4 -4
  166. package/docs/hubs/decorators.html +443 -0
  167. package/docs/hubs/form-components.html +404 -0
  168. package/docs/hubs/remote-data.html +371 -0
  169. package/docs/img/archive/concorde-001-2cv.webp +0 -0
  170. package/docs/img/archive/concorde-red-arrows-2002-poster.jpg +0 -0
  171. package/docs/img/archive/concorde-red-arrows-2002.webm +0 -0
  172. package/docs/img/archive/credits.json +28 -0
  173. package/docs/img/concorde/plane_01.jpg +0 -0
  174. package/docs/img/concorde/plane_02.jpg +0 -0
  175. package/docs/img/concorde/plane_03.jpg +0 -0
  176. package/docs/img/concorde/plane_04.jpg +0 -0
  177. package/docs/img/concorde/plane_05.jpg +0 -0
  178. package/docs/img/concorde/plane_06.jpg +0 -0
  179. package/docs/img/concorde/plane_07.jpg +0 -0
  180. package/docs/img/concorde/plane_08.jpg +0 -0
  181. package/docs/img/concorde/plane_09.jpg +0 -0
  182. package/docs/img/concorde/plane_10.jpg +0 -0
  183. package/docs/img/concorde/plane_11.jpg +0 -0
  184. package/docs/img/concorde/plane_12.jpg +0 -0
  185. package/docs/img/concorde/plane_13.jpg +0 -0
  186. package/docs/index.html +95 -68
  187. package/docs/index.md +22 -0
  188. package/docs/llms-full.txt +5795 -0
  189. package/docs/llms.txt +106 -0
  190. package/docs/robots.txt +11 -10
  191. package/docs/sitemap.xml +237 -0
  192. package/docs/src/core/components/functional/date/date.md +150 -0
  193. package/docs/src/core/components/functional/fetch/fetch.md +108 -0
  194. package/docs/src/core/components/functional/if/if.md +34 -0
  195. package/docs/src/core/components/functional/jsonata/jsonata.md +61 -0
  196. package/docs/src/core/components/functional/list/list.md +121 -0
  197. package/docs/src/core/components/functional/mix/mix.md +46 -0
  198. package/docs/src/core/components/functional/queue/queue.md +51 -0
  199. package/docs/src/core/components/functional/router/router.md +93 -0
  200. package/docs/src/core/components/functional/sdui/component-catalog.gaps.json +511 -0
  201. package/docs/src/core/components/functional/sdui/component-catalog.json +3103 -0
  202. package/docs/src/core/components/functional/sdui/default-library.json +108 -0
  203. package/docs/src/core/components/functional/sdui/example.json +32 -0
  204. package/docs/src/core/components/functional/sdui/sdui-extension-points.md +94 -0
  205. package/docs/src/core/components/functional/sdui/sdui.md +307 -0
  206. package/docs/src/core/components/functional/states/states.md +112 -0
  207. package/docs/src/core/components/functional/submit/submit.md +106 -0
  208. package/docs/src/core/components/functional/subscriber/subscriber.md +91 -0
  209. package/docs/src/core/components/functional/translation/translation.md +38 -0
  210. package/docs/src/core/components/functional/value/value.md +47 -0
  211. package/docs/src/core/components/ui/alert/alert.md +186 -0
  212. package/docs/src/core/components/ui/alert-messages/alert-messages.md +85 -0
  213. package/docs/src/core/components/ui/badge/badge.md +181 -0
  214. package/docs/src/core/components/ui/button/button.md +216 -0
  215. package/docs/src/core/components/ui/captcha/captcha.md +56 -0
  216. package/docs/src/core/components/ui/card/card.md +215 -0
  217. package/docs/src/core/components/ui/divider/divider.md +126 -0
  218. package/docs/src/core/components/ui/form/checkbox/checkbox.md +125 -0
  219. package/docs/src/core/components/ui/form/fieldset/fieldset.md +161 -0
  220. package/docs/src/core/components/ui/form/form-actions/form-actions.md +98 -0
  221. package/docs/src/core/components/ui/form/form-layout/form-layout.md +109 -0
  222. package/docs/src/core/components/ui/form/input/input.md +142 -0
  223. package/docs/src/core/components/ui/form/radio/radio.md +78 -0
  224. package/docs/src/core/components/ui/form/select/select.md +86 -0
  225. package/docs/src/core/components/ui/form/switch/switch.md +80 -0
  226. package/docs/src/core/components/ui/form/textarea/textarea.md +82 -0
  227. package/docs/src/core/components/ui/group/group.md +77 -0
  228. package/docs/src/core/components/ui/icon/icon.md +214 -0
  229. package/docs/src/core/components/ui/icon/icons.json +1 -0
  230. package/docs/src/core/components/ui/image/image.md +167 -0
  231. package/docs/src/core/components/ui/link/link.md +81 -0
  232. package/docs/src/core/components/ui/loader/loader.md +87 -0
  233. package/docs/src/core/components/ui/menu/menu.md +370 -0
  234. package/docs/src/core/components/ui/modal/modal.md +211 -0
  235. package/docs/src/core/components/ui/pop/pop.md +216 -0
  236. package/docs/src/core/components/ui/progress/progress.md +109 -0
  237. package/docs/src/core/components/ui/table/table.md +267 -0
  238. package/docs/src/core/components/ui/theme/theme.md +97 -0
  239. package/docs/src/core/components/ui/toast/toast.md +147 -0
  240. package/docs/src/core/components/ui/tooltip/tooltip.md +89 -0
  241. package/docs/src/docs/decorators/ancestor-attribute.md +59 -0
  242. package/docs/src/docs/decorators/auto-subscribe.md +40 -0
  243. package/docs/src/docs/decorators/bind.md +77 -0
  244. package/docs/src/docs/decorators/get.md +160 -0
  245. package/docs/src/docs/decorators/handle.md +119 -0
  246. package/docs/src/docs/decorators/on-assign.md +63 -0
  247. package/docs/src/docs/decorators/patch.md +44 -0
  248. package/docs/src/docs/decorators/post.md +134 -0
  249. package/docs/src/docs/decorators/publish.md +56 -0
  250. package/docs/src/docs/decorators/put.md +51 -0
  251. package/docs/src/docs/decorators/subscribe.md +87 -0
  252. package/docs/src/docs/decorators/wait-for-ancestors.md +76 -0
  253. package/docs/src/docs/directives/sub.md +75 -0
  254. package/docs/src/docs/directives/t.md +73 -0
  255. package/docs/src/docs/getting-started/ai-agents.md +76 -0
  256. package/docs/src/docs/getting-started/components.md +5 -0
  257. package/docs/src/docs/getting-started/create-a-component.md +136 -0
  258. package/docs/src/docs/getting-started/dataFlow.md +87 -0
  259. package/docs/src/docs/getting-started/installation.md +36 -0
  260. package/docs/src/docs/getting-started/my-first-component.md +227 -0
  261. package/docs/src/docs/getting-started/start.md +35 -0
  262. package/docs/src/docs/getting-started/theming.md +253 -0
  263. package/docs/src/docs/misc/api-configuration.md +79 -0
  264. package/docs/src/docs/misc/dataProviderKey.md +168 -0
  265. package/docs/src/docs/misc/docs-mock-api.md +62 -0
  266. package/docs/src/docs/misc/dynamic-path.md +71 -0
  267. package/docs/src/docs/misc/endpoint.md +45 -0
  268. package/docs/src/docs/misc/html-integration.md +14 -0
  269. package/docs/src/docs/search/docs-search.json +10287 -0
  270. package/docs/src/tag-list.json +1 -0
  271. package/docs/src/tsconfig-model.json +23 -0
  272. package/docs/src/tsconfig.json +1353 -0
  273. package/index.html +68 -5
  274. package/package.json +1 -1
  275. package/public/docs-mock-api-sw.js +58 -223
  276. package/public/docs-mock-api-sw.js.map +4 -4
  277. package/public/img/concorde/plane_01.jpg +0 -0
  278. package/public/img/concorde/plane_02.jpg +0 -0
  279. package/public/img/concorde/plane_03.jpg +0 -0
  280. package/public/img/concorde/plane_04.jpg +0 -0
  281. package/public/img/concorde/plane_05.jpg +0 -0
  282. package/public/img/concorde/plane_06.jpg +0 -0
  283. package/public/img/concorde/plane_07.jpg +0 -0
  284. package/public/img/concorde/plane_08.jpg +0 -0
  285. package/public/img/concorde/plane_09.jpg +0 -0
  286. package/public/img/concorde/plane_10.jpg +0 -0
  287. package/public/img/concorde/plane_11.jpg +0 -0
  288. package/public/img/concorde/plane_12.jpg +0 -0
  289. package/public/img/concorde/plane_13.jpg +0 -0
  290. package/public/robots.txt +11 -10
  291. package/scripts/docs-markdown-vite-plugin.ts +37 -0
  292. package/scripts/docs-public-url.mjs +50 -0
  293. package/scripts/docs.htaccess +75 -0
  294. package/scripts/generate-crawl-docs.mjs +207 -116
  295. package/scripts/generate-crawl-docs.test.mjs +124 -0
  296. package/scripts/post-build-docs.js +34 -50
  297. package/src/core/components/functional/date/date.md +91 -231
  298. package/src/core/components/functional/fetch/fetch.md +66 -83
  299. package/src/core/components/functional/if/if.md +28 -3
  300. package/src/core/components/functional/jsonata/jsonata.md +42 -37
  301. package/src/core/components/functional/list/list.md +99 -43
  302. package/src/core/components/functional/mix/mix.md +31 -26
  303. package/src/core/components/functional/queue/queue.demo.ts +10 -7
  304. package/src/core/components/functional/queue/queue.md +40 -61
  305. package/src/core/components/functional/router/router.demo.ts +16 -16
  306. package/src/core/components/functional/router/router.md +64 -65
  307. package/src/core/components/functional/sdui/component-catalog.gaps.json +1 -1
  308. package/src/core/components/functional/sdui/component-catalog.json +1 -1
  309. package/src/core/components/functional/sdui/example.json +19 -86
  310. package/src/core/components/functional/sdui/sdui-extension-points.md +1 -1
  311. package/src/core/components/functional/sdui/sdui.md +187 -358
  312. package/src/core/components/functional/states/states.demo.ts +21 -22
  313. package/src/core/components/functional/states/states.md +86 -61
  314. package/src/core/components/functional/states/states.ts +1 -1
  315. package/src/core/components/functional/submit/submit.md +64 -72
  316. package/src/core/components/functional/translation/translation.md +38 -0
  317. package/src/core/components/functional/value/value.md +34 -22
  318. package/src/core/components/ui/alert/alert.md +48 -58
  319. package/src/core/components/ui/badge/badge.md +27 -34
  320. package/src/core/components/ui/button/button.md +139 -106
  321. package/src/core/components/ui/captcha/captcha.md +17 -32
  322. package/src/core/components/ui/card/card.md +6 -6
  323. package/src/core/components/ui/divider/divider.md +8 -11
  324. package/src/core/components/ui/form/checkbox/checkbox.md +90 -42
  325. package/src/core/components/ui/form/fieldset/fieldset.md +31 -75
  326. package/src/core/components/ui/form/form-actions/form-actions.md +14 -16
  327. package/src/core/components/ui/form/form-layout/form-layout.md +19 -29
  328. package/src/core/components/ui/form/input/input.md +95 -95
  329. package/src/core/components/ui/form/radio/radio.md +55 -34
  330. package/src/core/components/ui/form/select/select.md +60 -45
  331. package/src/core/components/ui/form/switch/switch.md +57 -34
  332. package/src/core/components/ui/form/textarea/textarea.md +55 -38
  333. package/src/core/components/ui/group/group.md +35 -33
  334. package/src/core/components/ui/icon/icon.md +4 -4
  335. package/src/core/components/ui/image/image.md +41 -107
  336. package/src/core/components/ui/link/link.md +6 -6
  337. package/src/core/components/ui/loader/loader.md +30 -55
  338. package/src/core/components/ui/menu/menu.md +27 -27
  339. package/src/core/components/ui/modal/modal.md +72 -96
  340. package/src/core/components/ui/pop/pop.md +80 -158
  341. package/src/core/components/ui/progress/progress.md +2 -2
  342. package/src/core/components/ui/table/table.md +91 -255
  343. package/src/core/components/ui/theme/theme.md +11 -36
  344. package/src/core/components/ui/toast/toast.md +48 -117
  345. package/src/core/components/ui/tooltip/tooltip.md +27 -62
  346. package/src/core/utils/LocationHandler.spec.ts +80 -0
  347. package/src/core/utils/LocationHandler.ts +5 -9
  348. package/src/docs/components/docs-demo-sources.ts +55 -140
  349. package/src/docs/components/docs-lit-demo.ts +1 -3
  350. package/src/docs/components/docs-source-link.ts +0 -82
  351. package/src/docs/decorators/ancestor-attribute.md +59 -0
  352. package/src/docs/decorators/auto-subscribe.md +40 -0
  353. package/src/docs/decorators/bind.md +77 -0
  354. package/src/docs/decorators/get.md +160 -0
  355. package/src/docs/decorators/handle.md +119 -0
  356. package/src/docs/decorators/on-assign.md +63 -0
  357. package/src/docs/decorators/patch.md +44 -0
  358. package/src/docs/decorators/post.md +134 -0
  359. package/src/docs/decorators/publish.md +56 -0
  360. package/src/docs/decorators/put.md +51 -0
  361. package/src/docs/decorators/subscribe.md +87 -0
  362. package/src/docs/decorators/wait-for-ancestors.md +76 -0
  363. package/src/docs/directives/sub.md +75 -0
  364. package/src/docs/directives/t.md +73 -0
  365. package/src/docs/docs-location.spec.ts +46 -0
  366. package/src/docs/docs-location.ts +123 -32
  367. package/src/docs/docs.ts +1 -2
  368. package/src/docs/example/decorators-demo-bind-demos.ts +81 -116
  369. package/src/docs/example/decorators-demo-geo.ts +30 -19
  370. package/src/docs/example/decorators-demo-post.ts +88 -186
  371. package/src/docs/example/decorators-demo-subscribe-publish-get-demos.ts +165 -268
  372. package/src/docs/example/decorators-demo.ts +85 -98
  373. package/src/docs/example/docs-api-config-demos.ts +19 -20
  374. package/src/docs/example/docs-flight-demos.ts +147 -0
  375. package/src/docs/example/docs-jsonata-demos.ts +52 -52
  376. package/src/docs/example/docs-list-demos.ts +43 -123
  377. package/src/docs/example/docs-provider-keys.ts +21 -28
  378. package/src/docs/example/docs-queue-demos.ts +37 -77
  379. package/src/docs/example/docs-router-demos.ts +20 -25
  380. package/src/docs/example/docs-submit-demos.ts +48 -48
  381. package/src/docs/example/docs-toggle-demos.ts +4 -3
  382. package/src/docs/getting-started/ai-agents.md +76 -0
  383. package/src/docs/getting-started/components.md +5 -0
  384. package/src/docs/getting-started/create-a-component.md +136 -0
  385. package/src/docs/getting-started/dataFlow.md +87 -0
  386. package/src/docs/getting-started/installation.md +36 -0
  387. package/src/docs/getting-started/my-first-component.md +227 -0
  388. package/src/docs/getting-started/start.md +35 -0
  389. package/src/docs/getting-started/theming.md +253 -0
  390. package/src/docs/header/header.ts +11 -6
  391. package/src/docs/home/catalog.ts +1 -1
  392. package/src/docs/home/home.ts +17 -10
  393. package/src/docs/layout.ts +12 -13
  394. package/src/docs/misc/api-configuration.md +79 -0
  395. package/src/docs/misc/dataProviderKey.md +168 -0
  396. package/src/docs/misc/docs-mock-api.md +62 -0
  397. package/src/docs/misc/dynamic-path.md +71 -0
  398. package/src/docs/misc/endpoint.md +45 -0
  399. package/src/docs/misc/html-integration.md +14 -0
  400. package/src/docs/mock-api/api-config-mock.ts +5 -0
  401. package/src/docs/mock-api/fixtures.ts +0 -278
  402. package/src/docs/mock-api/flights.ts +89 -0
  403. package/src/docs/mock-api/router.ts +3 -4
  404. package/src/docs/mock-api/urls.ts +1 -2
  405. package/src/docs/navigation/navigation.ts +82 -103
  406. package/src/docs/navigation/toc.ts +7 -4
  407. package/src/docs/search/docs-search.json +2845 -5110
  408. package/src/docs/search/markdown-renderer.ts +25 -7
  409. package/src/docs/search/page.ts +9 -6
  410. package/src/docs/search/search.ts +154 -122
  411. package/vite.config.mts +11 -2
  412. package/.agents/skills/concorde-component-docs/SKILL.md +0 -194
  413. package/docs/assets/index-CD4WyL6o.css +0 -1
  414. package/src/core/components/ui/form/input-autocomplete/input-autocomplete.md +0 -29
  415. package/src/docs/_core-concept/overview.md +0 -57
  416. package/src/docs/_core-concept/subscriber.md +0 -75
  417. package/src/docs/_decorators/ancestor-attribute.md +0 -128
  418. package/src/docs/_decorators/auto-subscribe.md +0 -202
  419. package/src/docs/_decorators/bind.md +0 -167
  420. package/src/docs/_decorators/get.md +0 -162
  421. package/src/docs/_decorators/handle.md +0 -175
  422. package/src/docs/_decorators/on-assign.md +0 -390
  423. package/src/docs/_decorators/patch.md +0 -70
  424. package/src/docs/_decorators/post.md +0 -146
  425. package/src/docs/_decorators/publish.md +0 -55
  426. package/src/docs/_decorators/put.md +0 -70
  427. package/src/docs/_decorators/subscribe.md +0 -100
  428. package/src/docs/_decorators/wait-for-ancestors.md +0 -163
  429. package/src/docs/_directives/sub.md +0 -91
  430. package/src/docs/_getting-started/concorde-manual-install.md +0 -133
  431. package/src/docs/_getting-started/concorde-outside.md +0 -33
  432. package/src/docs/_getting-started/my-first-subscriber.md +0 -120
  433. package/src/docs/_getting-started/pubsub.md +0 -37
  434. package/src/docs/_misc/formelement-subscriber-removal.md +0 -115
  435. package/src/docs/example/docs-input-autocomplete-demos.ts +0 -110
  436. package/src/docs/example/docs-joke-demos.ts +0 -297
  437. /package/{src/docs/_getting-started → docs/docs/getting-started}/components.md +0 -0
  438. /package/{src/docs/_getting-started → docs/docs/getting-started}/theming.md +0 -0
@@ -0,0 +1,80 @@
1
+ # Plan d’amélioration — doc Concorde / agents
2
+
3
+ État : pathnames = sources (`/docs/getting-started/…`) ; composants sans doublon (`/…/button` ↔ `…/button/button.md`). Pas de mapping `_` sections.
4
+
5
+ Objectif : **une URL = une page**, lisible par humains (SPA) et machines (HTML ou Markdown).
6
+
7
+ ---
8
+
9
+ ## Phase 0 — Stabiliser
10
+
11
+ - [x] Apache : `mod_rewrite`, `mod_headers`, `.htaccess` (SPA + Markdown + 404)
12
+ - [x] Smoke : nav, search (vide + fermeture), deep link, legacy `#…md/…`
13
+ - [ ] Publier `yarn build-docs` → `concorde_doc` et re-vérifier Ora / curl Accept en prod
14
+
15
+ ---
16
+
17
+ ## Phase 1 — Décision produit — **fait : option B**
18
+
19
+ | Option | Statut |
20
+ |--------|--------|
21
+ | A. Garder `/crawl/` | écartée |
22
+ | **B. Fusionner** | **retenue et implémentée** |
23
+ | C. Markdown-first only | partiellement couverte par B (Accept markdown) |
24
+
25
+ ---
26
+
27
+ ## Phase 2 — Même URL pour le contenu machine — **fait**
28
+
29
+ - [x] Build : HTML + MD à `docs/**` et `core/**` (plus sous `/crawl/`)
30
+ - [x] MD public = pathname + `.md` ; SPA `markdownsURL=""` ; Vite sert `/docs|core/**.md` depuis `src/`
31
+ - [x] Hubs à `/hubs/*.html`
32
+ - [x] Apache : Accept → `/$1.md` ; bots → `*.html` ; navigateur → SPA ; 301 `/src/(docs|core)/*.md`
33
+ - [x] Canonical / `llms.txt` / sitemap → pathnames `/docs/…`, `/core/…`
34
+ - [x] Tests `scripts/generate-crawl-docs.test.mjs`
35
+
36
+ Critère de done local :
37
+ `/docs/getting-started/start.md` et `Accept: text/markdown` sur le pathname → Markdown ; navigateur → SPA.
38
+
39
+ ---
40
+
41
+ ## Phase 3 — Retirer `/crawl/` — **fait (code + artefacts locaux)**
42
+
43
+ - [x] 301 `/crawl/**` → pathnames équivalents (`.htaccess`)
44
+ - [x] Plus d’arbre `docs/crawl/` (`removeLegacyCrawlDir`)
45
+ - [x] `robots.txt`, homepage agent, `llms*` sans `/crawl/`
46
+ - [x] Smoke sur `concorde-docs.localhost` (MD / bot HTML / 301 crawl / SPA)
47
+ - [x] MD public = `….md` ; Accept → sibling ; 301 `/src/…md` ; sync `concorde_doc`
48
+ - [x] Pretty URLs : sans `_` sections ; composants sans `name/name` ; pas de legacy ; `DirectorySlash Off`
49
+ - [ ] Commit / push `concorde_doc` vers la prod (+ `yarn build-docs` pour index SPA source)
50
+
51
+ ---
52
+
53
+ ## Phase 4 — Qualité agent / SEO
54
+
55
+ | Sujet | Statut |
56
+ |-------|--------|
57
+ | Homepage H1 + 500+ chars | fait |
58
+ | 404 Markdown (+ HTML) | fait |
59
+ | Titre d’onglet = H1 page | à faire |
60
+ | Brand / discoverability Ora | hors code / post-publish |
61
+
62
+ ---
63
+
64
+ ## Phase 5 — DX / dette doc (optionnel)
65
+
66
+ - Intercepter liens `/docs|core/…` + e2e nav/search
67
+ - Liens markdown vers `../../core/utils/*.ts` en prod
68
+ - [x] Contrat d’URL dans skill `concorde-docs` (pathnames, pas `/crawl/`)
69
+
70
+ ---
71
+
72
+ ## Ordre restant
73
+
74
+ ```
75
+ 3b Smoke localhost + publish concorde_doc
76
+ ↓
77
+ 4 Titres onglet / polish Ora
78
+ ↓
79
+ 5 DX optionnel
80
+ ```
package/README.md CHANGED
@@ -77,8 +77,8 @@ flowchart LR
77
77
 
78
78
  ### Les briques de données
79
79
 
80
- - **`DataProviderKey<T>`** — chemin **typé** en notation pointée vers une structure composite, ex. `new DataProviderKey<Data>("data").items[0]` → `"data.items.0"`. Navigation type-safe, chemins dynamiques via `${prop}`. Import : `@supersoniks/concorde/dataProviderKey`. Voir [la doc DataProviderKey](https://doc.concorde.test/#docs/_misc/dataProviderKey.md/dataProviderKey).
81
- - **`Endpoint<T, U>`** — un **unique chemin HTTP** (sans notation pointée) portant le type de réponse `T` ; segments dynamiques `${...}`. Consommé par `@get`. Import : `@supersoniks/concorde/utils/endpoint`. Voir [la doc Endpoint](https://doc.concorde.test/#docs/_misc/endpoint.md/endpoint).
80
+ - **`DataProviderKey<T>`** — chemin **typé** en notation pointée vers une structure composite, ex. `new DataProviderKey<Data>("data").items[0]` → `"data.items.0"`. Navigation type-safe, chemins dynamiques via `${prop}`. Import : `@supersoniks/concorde/dataProviderKey`. Voir [la doc DataProviderKey](https://doc.concorde.test/#docs/misc/dataProviderKey.md/dataProviderKey).
81
+ - **`Endpoint<T, U>`** — un **unique chemin HTTP** (sans notation pointée) portant le type de réponse `T` ; segments dynamiques `${...}`. Consommé par `@get`. Import : `@supersoniks/concorde/utils/endpoint`. Voir [la doc Endpoint](https://doc.concorde.test/#docs/misc/endpoint.md/endpoint).
82
82
  - **DataProvider** — le publisher observable qui notifie ses abonnés à chaque assignation.
83
83
 
84
84
  ### Les décorateurs (`src/core/decorators/subscriber/`)
@@ -91,7 +91,7 @@ flowchart LR
91
91
  | `@handle(...keys)` | Appelle une **méthode typée** à chaque assignation (effets de bord, calculs) | jusqu'à 3 `DataProviderKey<T>` |
92
92
  | `@get(endpoint)` | Charge des données via l'API ; la propriété devient `ApiResult<T> \| null` | `Endpoint<T>` |
93
93
 
94
- `DataProviderKey` est la pierre angulaire : c'est lui qui fournit les chemins **typés** utilisés par `@subscribe`, `@publish`, `@bind` et `@handle`, tandis que `Endpoint` fait le pont avec les données distantes via `@get`. Détails et exemples sur la [documentation des décorateurs](https://doc.concorde.test/#docs/_decorators/subscribe.md/subscribe).
94
+ `DataProviderKey` est la pierre angulaire : c'est lui qui fournit les chemins **typés** utilisés par `@subscribe`, `@publish`, `@bind` et `@handle`, tandis que `Endpoint` fait le pont avec les données distantes via `@get`. Détails et exemples sur la [documentation des décorateurs](https://doc.concorde.test/#docs/decorators/subscribe.md/subscribe).
95
95
 
96
96
  ## 🛠️ Développement
97
97
 
@@ -86,7 +86,7 @@ export const userKey = new DataProviderKey<User, { userIndex: number }>(
86
86
 
87
87
  Même mécanisme pour `@handle`, `@publish`, `@subscribe`. Éviter `@bind` (bidirectionnel / chemins string legacy).
88
88
 
89
- Doc : `src/docs/_misc/dataProviderKey.md`, `src/docs/_decorators/subscribe.md`, `handle.md`.
89
+ Doc : `src/docs/misc/dataProviderKey.md`, `src/docs/decorators/subscribe.md`, `handle.md`.
90
90
 
91
91
  ## Endpoint
92
92
 
@@ -11,7 +11,7 @@ description: >-
11
11
  Skill de **migration** vers Concorde ≥ 4.6 avec `resolveStaticPublisherPath`.
12
12
  À activer quand un projet monte de version ou refactorise vers `DataProviderKey`.
13
13
 
14
- Référence framework : skill **`concorde`**, doc `src/docs/_misc/dataProviderKey.md`.
14
+ Référence framework : skill **`concorde`**, doc `src/docs/misc/dataProviderKey.md`.
15
15
 
16
16
  ## Quand utiliser cette skill
17
17
 
@@ -72,7 +72,7 @@ html`<p>${sub(counterKey.count)}</p>`
72
72
  html`<p>${sub(this.formDataProvider + ".email")}</p>`
73
73
  ```
74
74
 
75
- Doc : `src/docs/_directives/sub.md`.
75
+ Doc : `src/docs/directives/sub.md`.
76
76
 
77
77
  **Anti-pattern** : remplacer `sub(…)` par `get(…)` dans un template → perte de réactivité (snapshot unique).
78
78
 
@@ -187,7 +187,7 @@ Migrations **distinctes** (hors scope) : `PublisherManager`, `@onAssign` → `@h
187
187
  - `src/core/utils/PublisherProxy.ts` — overloads `get` / `set` / `dp`
188
188
  - `src/core/utils/publisherPathKey.spec.ts` — tests
189
189
  - `src/core/directives/DataProvider.ts` — `sub()`
190
- - `src/docs/_misc/dataProviderKey.md`
190
+ - `src/docs/misc/dataProviderKey.md`
191
191
 
192
192
  ## Maintenance
193
193
 
@@ -49,7 +49,7 @@ Convention : **sans suffixe `-content`** = couleur de **fond / surface / remplis
49
49
 
50
50
  Privé côté composants : `--sc_*`, `--sc-_color`, … — pas d’API par composant ni `::part()` sauf exceptions documentées.
51
51
 
52
- Doc utilisateur : `#docs/_getting-started/theming.md/theming`.
52
+ Doc utilisateur : `#docs/getting-started/theming.md/theming`.
53
53
  Doc composant : `node_modules/@supersoniks/concorde/src/core/components/ui/theme/`.
54
54
 
55
55
  Popovers, modals, toasts se montent sous le `<sonic-theme>` le plus proche.
package/build-infos.json CHANGED
@@ -1 +1 @@
1
- {"date":1793005010}
1
+ {"date":1793021294}
@@ -1,4 +1,4 @@
1
- (function(Ue){typeof define=="function"&&define.amd?define(Ue):Ue()})((function(){"use strict";var Te,st;let Ue=class kt{static getLanguage(){const e=document.documentElement.lang;return localStorage.getItem("SonicSelectedLanguage")||e}static getCookies(){return document.cookie.split(";").reduce((e,s)=>{const i=s.indexOf("=");return e[s.substring(0,i).trim()]=s.substring(i+1),e},{})}static nextComposedAncestor(e){return e instanceof Element&&e.assignedSlot?e.assignedSlot:e.parentNode||e.host||null}static everyAncestors(e,s){for(;e;){if(!s(e))return;e=e.parentNode||e.host}}static overflowMatches(e,s){return s.includes(e.overflowY)||s.includes(e.overflowX)}static findAncestorByOverflow(e,s){let i=e;for(;i;){if(i instanceof Element&&i.nodeType===1){const r=window.getComputedStyle(i);if(kt.overflowMatches(r,s))return i}i=kt.nextComposedAncestor(i)}return null}static getScrollableAncestor(e){return kt.findAncestorByOverflow(e,["auto","scroll","hidden","overlay"])}static getScrollingAncestor(e){return kt.findAncestorByOverflow(e,["auto","scroll","overlay"])}static scopeAttributeNames(e){const s=e.toLowerCase();return s===e?[e]:[e,s]}static readScopeAttributeOnElement(e,s){for(const i of kt.scopeAttributeNames(s))if(e.hasAttribute(i))return e.getAttribute(i)??"";return null}static getAncestorAttributeValue(e,s){if(!e)return null;let i=e;for(;i;){if(i instanceof HTMLElement){const n=kt.readScopeAttributeOnElement(i,s);if(n!=null)return n}const r=i.parentNode||i.host;if(!r)break;i=r}return null}static getApiConfiguration(e){const s=kt.getAncestorAttributeValue(e,"token"),i=kt.getAncestorAttributeValue(e,"addHTTPResponse")!=null,r=kt.getAncestorAttributeValue(e,"serviceURL");let n=null,o=null;const c=kt.getAncestorAttributeValue(e,"tokenProvider"),d=kt.getAncestorAttributeValue(e,"eventsApiToken");s||(n=kt.getAncestorAttributeValue(e,"userName"),o=kt.getAncestorAttributeValue(e,"password"));const g=kt.getAncestorAttributeValue(e,"credentials")||void 0,A=e.getAttribute("cache"),m=e.hasAttribute("blockUntilDone"),f=e.hasAttribute("keepAlive");return{serviceURL:r,token:s,userName:n,password:o,authToken:d,tokenProvider:c,addHTTPResponse:i,credentials:g,cache:A,blockUntilDone:m,keepAlive:f}}static getClosestElement(e,s){for(;!(e.nodeName&&e.nodeName.toLowerCase()===s)&&(e.parentNode||e.host);)e=e.parentNode||e.host;return e.nodeName?e:null}static getClosestForm(e){return kt.getClosestElement(e,"form")}static getAncestorsByTagNames(e,s){const i=new Set(s.map(o=>o.toLowerCase())),r=[];let n=e.parentNode||e.host;for(;n;)n instanceof Element&&i.has(n.tagName.toLowerCase())&&r.push(n),n=n.parentNode||n.host;return r}static getAncestorsBySelectors(e,s){const i=[];let r=e.parentNode||e.host;for(;r;){if(r instanceof Element)for(const n of s)try{if(r.matches(n)){i.push(r);break}}catch{}r=r.parentNode||r.host}return i}static async loadJS(e){return new Promise(async i=>{const r=document.createElement("script");r.src=e,r.onload=()=>i(!0),r.onerror=()=>i(!0),document.head.appendChild(r)})}static async loadCSS(e){return new Promise(async i=>{const r=document.createElement("link");r.type="text/css",r.rel="stylesheet",r.href=e,r.onload=()=>i(!0),r.onerror=()=>i(!0),document.head.appendChild(r)})}};const bn=t=>{const e=document.documentElement,s=new MutationObserver(r=>{for(let n of r)n.type==="attributes"&&n.attributeName==="lang"&&t()}),i={attributes:!0,attributeFilter:["lang"]};s.observe(e,i)};let Fr=class{static ucFirst(e){return typeof e!="string"?e:e.charAt(0).toUpperCase()+e.substring(1)}static minutesDuration(e,s="",i="long"){s||(s=Ue.getLanguage());const r=(g,A)=>[Math.floor(g/A),g%A];function n(g,A,m){return new Intl.NumberFormat(g,{style:"unit",unit:A,unitDisplay:m}).format}const[o,c]=r(e,60),d=[];return o&&d.push(n(s,"hour",i)(o)),c&&d.push(n(s,"minute",i)(c)),new Intl.ListFormat(s,{style:"long",type:"conjunction"}).format(d)}static js(e){try{return Function("return "+e)()}catch{return""}}};class Oo{constructor(e){this.path=e}toString(){return this.path}}function To(t){return new Proxy(t,{get(e,s){if(s==="path")return e.path;if(s==="toString")return e.toString.bind(e);if(s===Symbol.toStringTag)return"DataProviderKey";if(typeof s=="symbol")return e[s];const i=e.path?`${e.path}.${String(s)}`:String(s);return To(new Oo(i))}})}const Yl=/\$\{|\{\$/;function Zl(t){return Yl.test(t)}function gi(t){const e=typeof t=="string"?t:t.path;if(Zl(e))throw new Error("Static publisher path required for get/set/dp. Use @subscribe, @publish, or @handle for dynamic DataProviderKey paths.");return e}const Cs=function(t){return this instanceof Cs?To(new Oo(t)):new Cs(t)};let ht=class As{static shallowEqual(e,s,i=!0){const r=Object.keys(e),n=Object.keys(s);if(r.length!==n.length&&i)return!1;for(const o of r){const c=e[o],d=s[o];if(i?c!==d:c!=d)return!1}return!0}static deepEqual(e,s,i=!0){const r=Object.keys(e),n=Object.keys(s);if(r.length!==n.length&&i)return!1;for(const o of r){const c=e[o],d=s[o],g=As.isObject(c)&&As.isObject(d),A=i?c!==d:c!=d;if(g&&!As.deepEqual(c,d)||!g&&A)return!1}return!0}static isObject(e){return e!=null&&typeof e=="object"}static isUndefindOrNull(e){return e==null}static isEmpty(e){return As.isUndefindOrNull(e)?!0:Object.keys(e).length===0}static traverse(e,s,i=!1){for(const r of s){const n=e[r];if(n===void 0)return;i&&As.isObject(n)?e=Object.assign(Array.isArray(n)?[]:{},e,n):e=e[r]}return e}static traverseDotNotation(e,s,i=!1){return As.traverse(e,s.split("."),i)}static getURLSearchArray(e,s=""){let i=[];for(let r in e){const n=e[r];s&&(r=s+"["+r+"]"),As.isObject(n)?i=[...i,...this.getURLSearchArray(n,r)]:i.push(`${r}=${n}`)}return i}static getURLSearchString(e){return As.getURLSearchArray(e,"").join("&")}};const Bt=ht.traverseDotNotation;let Jl=class{static async queueTaskPromise(){return new Promise(e=>{window.queueMicrotask(()=>e(null))})}static async delayPromise(e){return new Promise(s=>{setTimeout(s,e)})}},Lo="sonic";typeof __SONIC_PREFIX__<"u"&&(Lo=__SONIC_PREFIX__);let Io=Lo.replace(/-([a-z])/g,t=>t[1].toUpperCase());const bi=Io.charAt(0).toUpperCase()+Io.slice(1),Ql=new Set(["localStorageMode","expirationDelayMs","invalidateOnPageShow"]);function Mo(t){return t==null||typeof t!="object"||Array.isArray(t)?!1:Object.keys(t).some(e=>Ql.has(e))}function vi(t){return Object.prototype.hasOwnProperty.call(t,"__value")}function ks(t){return typeof t=="object"&&t!==null}let dr="sonic";typeof __SONIC_PREFIX__>"u"&&(dr="sonic");const vn=dr=="sonic"?"publisher-proxies-data":dr+"-publisher-proxies-data",qs=class qs{constructor(e,s,i){for(this._proxies_=new Map,this._is_savable_=!1,this._expiration_delay_=1e3*60*60*12,this._invalidate_on_page_show_=!1,this._invalidateListeners_=new Set,this._formInvalidateListeners_=new Set,this._assignListeners_=new Set,this._mutationListeners_=new Set,this._fillListeners_=new Set,this._templateFillListeners_=new Set,this._lockInternalMutationPublishing_=!1,this._instanceCounter_=0,this._assignmentId_=0,this._value_=e,this.parent=s||null,this._parentKey_=i,this.root=this,this._instanceCounter_=0;this.root.parent;)this.root=this.root.parent}delete(){for(const e in this._proxies_.keys())e!="_parent_"&&this._proxies_.get(e)?.delete();this._invalidateListeners_.clear(),this._formInvalidateListeners_.clear(),this._assignListeners_.clear(),this._mutationListeners_.clear(),this._fillListeners_.clear(),this._templateFillListeners_.clear(),this._proxies_.clear(),qs.instances.delete(this._instanceCounter_)}hasListener(){return this._templateFillListeners_.size>0||this._assignListeners_.size>0||this._invalidateListeners_.size>0||this._formInvalidateListeners_.size>0||this._mutationListeners_.size>0||this._fillListeners_.size>0}_publishInternalMutation_(e=!1){if(this._mutationListeners_.forEach(s=>s()),this._is_savable_&&!ve.changed){ve.changed=!0,ve.saveId++;const s=ve.saveId;setTimeout(()=>ve.getInstance().saveToLocalStorage(s),1e3)}e||this.parent&&this.parent._publishInternalMutation_()}async _publishAssignement_(e=!1){if(this._assignmentId_++,this._assignmentId_!==this._assignmentId_)return;const i=this.get();this._assignListeners_.forEach(r=>{r(i)}),this._publishInternalMutation_(e)}_publishInvalidation_(){this._invalidateListeners_.forEach(e=>e())}_publishFormInvalidation_(){this._formInvalidateListeners_.forEach(e=>e())}_publishDynamicFilling_(e,s){this._fillListeners_.forEach(i=>{i[e]!==s&&(i[e]=s)}),this._publishTemplateFilling_(e,s)}_publishTemplateFilling_(e,s){this._templateFillListeners_.forEach(i=>{const r=Object.getOwnPropertyDescriptor(i,e);r&&!r.set&&!r.writable||(i.propertyMap&&i.propertyMap[e]&&(e=i.propertyMap[e]),typeof i[e]<"u"&&i[e]!==s&&(i[e]=s))})}onAssign(e,s=!0){typeof e=="function"&&(this._assignListeners_.has(e)||(this._assignListeners_.add(e),s&&e(this.get())))}offAssign(e){this._assignListeners_.delete(e)}onInvalidate(e){typeof e=="function"&&this._invalidateListeners_.add(e)}offInvalidate(e){typeof e=="function"&&this._invalidateListeners_.delete(e)}invalidate(){this._publishInvalidation_()}onFormInvalidate(e){typeof e=="function"&&this._formInvalidateListeners_.add(e)}offFormInvalidate(e){typeof e=="function"&&this._formInvalidateListeners_.delete(e)}invalidateForm(){this._publishFormInvalidation_()}onInternalMutation(e){typeof e=="function"&&(this._mutationListeners_.add(e),e())}offInternalMutation(e){typeof e=="function"&&this._mutationListeners_.delete(e)}startTemplateFilling(e){if(this._templateFillListeners_.add(e),typeof this._value_=="object")for(const s in this._value_){let i=s;const r=this._value_[s];e.propertyMap&&e.propertyMap[s]&&(i=e.propertyMap[s]),typeof e[s]<"u"&&e[s]!==r&&(e[i]=r)}}stopTemplateFilling(e){this._templateFillListeners_.delete(e)}startDynamicFilling(e){this._fillListeners_.add(e);for(const s in this._value_){const i=this._value_[s];e[s]!==i&&(e[s]=i)}}stopDynamicFilling(e){this._fillListeners_.delete(e)}set(e,s=!1){if(this._value_===e||ks(this._value_)&&ks(e)&&e&&vi(this._value_)&&vi(e)&&this._value_.__value===e.__value||!ks(e)&&e===this._value_.__value)return!0;this._value_=ks(e)?e:{__value:e},this._cachedGet_=void 0;const i=vi(this._value_);if(this._parentKey_&&this.parent){const r=vi(this._value_)?this._value_.__value:this._value_;if(this.parent?.get()==null&&this.parent?.get()==null)if(isNaN(Number(this._parentKey_)))this.parent.set({[this._parentKey_]:r});else{const n=[];n[Number(this._parentKey_)]=r,this.parent.set(n)}else this.parent._value_[this._parentKey_]=r}if(i)return this._proxies_.forEach((r,n)=>{n!="_parent_"&&(r.set(null),this._publishDynamicFilling_(n,null))}),this._publishAssignement_(s),this.parent&&this._parentKey_&&this.parent._publishDynamicFilling_(this._parentKey_,this._value_.__value),!0;for(const r in this._value_)this._value_[r]===void 0&&delete this._value_[r];if(this._proxies_.forEach((r,n)=>{const o=this._value_[n];n!="_parent_"&&o===void 0&&o!==null&&isNaN(Number(n))&&(r.set(null),this._publishDynamicFilling_(n,null))}),this._publishAssignement_(),this.parent&&this._parentKey_&&this.parent._publishDynamicFilling_(this._parentKey_,this._value_),ks(this._value_))for(const r in this._value_){const n=e[r],c=ks(n)?n:{__value:n};if(!this._proxies_.has(r)){this._publishDynamicFilling_(r,n);continue}this._proxies_.get(r)?.set(c,!0),this._publishDynamicFilling_(r,n)}return!0}get(){if(Xl(this),this._cachedGet_!==void 0)return this._cachedGet_;if(Object.prototype.hasOwnProperty.call(this._value_,"__value")){const e=this._value_.__value;return this._cachedGet_=e??null}return this._cachedGet_=this._value_!=null?this._value_:null}get $tag(){return this._instanceCounter_||(qs.instancesCounter++,this._instanceCounter_=qs.instancesCounter),qs.instances.set(this._instanceCounter_,this),"<"+dr+'-publisher-proxy publisher="'+this._instanceCounter_+'"></'+dr+"-publisher-proxy>"}};qs.instances=new Map,qs.instancesCounter=0;let Rr=qs;const yi=[];function Xl(t){yi.length>0&&yi[0].add(t)}function No(){yi.unshift(new Set)}function Fo(){return yi.shift()}const Ie=class Ie{constructor(){if(this.enabledLocaStorageProxies=[],this.publishers=new Map,this.localStorageData={},this.isLocalStrorageReady=null,this.initialisedData=[],Ie.instance!=null)throw"Singleton / use getInstance";Ie.instance=this,this.isLocalStrorageReady=this.cleanStorageData(),Ie.initPageShowHandler()}static initPageShowHandler(){Ie.pageShowHandlerInitialized||(Ie.pageShowHandlerInitialized=!0,window.addEventListener("pageshow",e=>{e.persisted&&Ie.getInstance().invalidateAll()}))}invalidateAll(){this.publishers.forEach(e=>{e._invalidate_on_page_show_&&e.invalidate()})}async cleanStorageData(){return new Promise(e=>{(async()=>{try{let i=localStorage.getItem(vn),r=null;if(i&&(r=await this.decompress(i,"gzip")),r)try{this.localStorageData=JSON.parse(r)}catch{this.localStorageData={}}else i=await this.compress("{}","gzip"),localStorage.setItem(vn,i),this.localStorageData={};const n=1e3*60*60*12;for(const o in this.localStorageData){const c=this.localStorageData[o],d=new Date().getTime()-(c.expirationDelayMs||n);c.lastModifiationMS<d&&delete this.localStorageData[o]}e(!0)}catch{window.requestAnimationFrame(()=>{e(!1)}),console.warn("no publisher cache in this browser")}})()})}static getInstance(e){if(e){const s=Ie.instances.get(e);return s||(console.warn("No PublisherManager instance registered with id:",e,"creating new one"),new Ie)}return Ie.instance==null?new Ie:Ie.instance}static get(e,s){return Ie.getInstance().get(e,s)}async setLocalData(e,s){await this.isLocalStrorageReady,e.set(this.localStorageData[s+"¤lang_"+Ue.getLanguage()]?.data||e.get())}get(e,s){const i=s?.localStorageMode==="enabled",r=s?.invalidateOnPageShow===!0;if(!this.publishers.has(e)){const c=yn({});this.set(e,c)}const n=this.publishers.get(e);return i&&this.initialisedData.indexOf(e)===-1&&(s?.expirationDelayMs&&(n._expiration_delay_=s.expirationDelayMs),n._is_savable_=!0,this.initialisedData.push(e),this.setLocalData(n,e)),r&&(n._invalidate_on_page_show_=r),this.publishers.get(e)}set(e,s){this.publishers.set(e,s)}delete(e){return this.publishers.has(e)?(this.publishers.delete(e),!0):!1}async saveToLocalStorage(e=0){if(!(e!==Ie.saveId&&e%10!=0))try{if(!Ie.changed||Ie.saving)return;Ie.saving=!0,Ie.changed=!1;const s=Array.from(this.publishers.keys());let i=!1;for(const r of s){const n=this.publishers.get(r);if(!n?._is_savable_)continue;const o=n?.get();o&&(this.localStorageData[r+"¤lang_"+Ue.getLanguage()]={lastModifiationMS:new Date().getTime(),expirationDelayMs:n._expiration_delay_,data:o},i=!0)}if(i){const r=await this.compress(JSON.stringify(this.localStorageData),"gzip");localStorage.setItem(vn,r)}if(Ie.saving=!1,Ie.changed){Ie.saveId++;const r=Ie.saveId;setTimeout(()=>this.saveToLocalStorage(r),1e3)}}catch{Ie.saving=!1}}async compress(e,s){const i=new TextEncoder().encode(e),r=window,n=new r.CompressionStream(s),o=n.writable.getWriter();o.write(i),o.close();const c=await new Response(n.readable).arrayBuffer(),d=new Uint8Array(c);let g="";for(let A=0;A<d.length;A++)g+=String.fromCharCode(d[A]);return btoa(g)}async decompress(e,s){const i=atob(e),n=Uint8Array.from(i,A=>A.charCodeAt(0)).buffer,o=window,c=new o.DecompressionStream(s),d=c.writable.getWriter();d.write(n),d.close();const g=await new Response(c.readable).arrayBuffer();return new TextDecoder().decode(g)}};Ie.buildDate="Mon Oct 26 2026 09:56:50 GMT+0100 (Central European Standard Time)",Ie.changed=!1,Ie.saving=!1,Ie.saveId=0,Ie.instance=null,Ie.instances=new Map,Ie.pageShowHandlerInitialized=!1;let ve=Ie;if(typeof window<"u"){const t=window;t[bi+"PublisherManager"]=t[bi+"PublisherManager"]||ve}const ec=new Set(["invalidate","onInvalidate","offInvalidate","invalidateForm","onFormInvalidate","offFormInvalidate","onAssign","offAssign","startDynamicFilling","stopDynamicFilling","startTemplateFilling","stopTemplateFilling","onInternalMutation","offInternalMutation","set","get","$tag","_cachedGet_","_templateFillListeners_","_fillListeners_","_assignListeners_","_invalidateListeners_","_formInvalidateListeners_","_publishInternalMutation_","hasListener","delete","_mutationListeners_","_publishDynamicFilling_","_publishInvalidation_","_publishFormInvalidation_","_publishTemplateFilling_","_publishAssignement_","_proxies_","parent","_parentKey_","_value_","_is_savable_","_expiration_delay_","_lockInternalMutationPublishing_","_instanceCounter_","_assignmentId_","_invalidate_on_page_show_"]);function tc(t,e){return{get:function(s,i){if(typeof i=="string"&&ec.has(i))return t[i];if(i==Symbol.toPrimitive)return()=>e().get();if(!t._proxies_.has(i)){const r=t._value_[i],n=yn(ks(r)?r:{__value:r},t,i);n._proxies_.set("_parent_",e()),t._proxies_.set(i,n)}return t._proxies_.get(i)},set:function(s,i,r){if(i=="_value_")return t._value_=r,!0;if(i=="_cachedGet_")return t._cachedGet_=r,!0;if(i=="_assignmentId_")return t._assignmentId_=r,!0;if(i=="_is_savable_")return t._is_savable_=r,!0;if(i=="_expiration_delay_")return t._expiration_delay_=r,!0;if(i=="_invalidate_on_page_show_")return t._invalidate_on_page_show_=r,!0;if(i=="_instanceCounter_")return t._instanceCounter_=r,!0;if(!t._proxies_.has(i)){const o=yn({},t,i);o._proxies_.set("_parent_",e()),t._proxies_.set(i,o)}return t._value_[i]!==r&&(t._value_[i]=r,t._publishDynamicFilling_(i,r),t._proxies_.get(i)?.set(ks(r)?r:{__value:r})),!0},deleteProperty:function(s,i){return t._publishDynamicFilling_(i,null),t._proxies_.get(i)?.set(null),delete t._value_[i]},has:function(s,i){return i in t._value_&&i!="_lockInternalMutationPublishing_"},defineProperty:function(s,i,r){return r&&"value"in r&&(t._value_[i]=r.value),!0},getOwnPropertyDescriptor:function(s,i){return{enumerable:!0,configurable:!0}},ownKeys:function(s){return t._value_.__value?Object.keys(t._value_.__value):Object.keys(t._value_)}}}function yn(t,e=null,s){const i=new Rr(t,e,s);let r=null;const n=tc(i,()=>r);return r=new Proxy(i,n),r}class sc extends HTMLElement{constructor(){super(),this.publisherId="",this.onAssign=e=>{this.innerHTML=e.toString()}}connectedCallback(){this.publisherId=this.getAttribute("publisher")||"",this.publisher=Rr.instances.get(parseInt(this.publisherId)),this.publisher?.onAssign(this.onAssign)}disconnectedCallback(){this.publisher?.offAssign(this.onAssign)}}try{customElements.define(dr+"-publisher-proxy",sc)}catch{}const wi=(t,e)=>{if(typeof t=="function"){const s=t;return No(),s(),Fo()}if(typeof t=="string"){const s=t.split("."),i=s.shift()||"";let r=ve.get(i,e);r=ht.traverse(r,s);const n=new Set;return n.add(r),n}return new Set([t])};function rc(t){const e=gi(t);return wi(e).values().next().value?.get()}function _i(t,e,s){const i=gi(t);return wi(i,s).values().next().value}function ic(t,e){return Mo(e)?_i(t,void 0,e):_i(t)}function Si(t,e){return Mo(e)?_i(t,void 0,e):_i(t)}function nc(t,e){const s=gi(t);wi(s).values().next().value?.set(e)}let Pi=(Te=class{static disable(){this.enabled&&(this.enabled=!1,Array.from(Te.observedElements.keys()).forEach(e=>Te.unObserve(e)))}static observe(e){if(!e||!Te.enabled||Te.observedElements.has(e))return;const s=new MutationObserver(Te.onMutation),i={};i.childList=!0,i.subtree=!0,i.attributes=!0,i.attributeFilter=["data-bind"],s.observe(e,i),e.querySelectorAll("[data-bind]").forEach(r=>Te.addPublisherListeners(r)),Te.observedElements.set(e,s)}static unObserve(e){if(!e)return;const s=this.observedElements.get(e);s&&(s.disconnect(),e.querySelectorAll("[data-bind]").forEach(i=>Te.removePublisherListeners(i)))}static onAdded(e){e.hasAttribute&&e.hasAttribute("data-bind")&&Te.addPublisherListeners(e),e.querySelectorAll?e.querySelectorAll("[data-bind]").forEach(s=>Te.addPublisherListeners(s)):e.childNodes.forEach(s=>Te.onAdded(s))}static onRemoved(e){e.hasAttribute&&e.hasAttribute("data-bind")&&Te.removePublisherListeners(e),e.querySelectorAll?e.querySelectorAll("[data-bind]").forEach(s=>Te.removePublisherListeners(s)):e.childNodes.forEach(s=>Te.onRemoved(s))}static onMutation(e){for(const s of e)switch(s.type){case"attributes":Te.addPublisherListeners(s.target);break;case"childList":s.addedNodes.forEach(i=>{Te.onAdded(i)}),s.removedNodes.forEach(i=>{Te.onRemoved(i)});break}}static removePublisherListeners(e){const s=Te.publisherListeners.get(e);s&&(Te.publisherListeners.delete(e),s.forEach(i=>{i.publisher?.offAssign(i.onAssign)}))}static getVariablesDescriptor(e){let s=e.match(/(\$(?:\w+\\?\.?)+)/g);return s?s=s.map(i=>i.replace("$","")):s=[e],s=s.filter(i=>i.length>0),{expression:e.replace("\\",""),variables:s.map(i=>i.split(/\b\.\b/).map(r=>r.replace("\\","")))}}static getDataBindItems(e){return"attributes"in e?Array.from(e.attributes).filter(s=>s.name.indexOf("::")==0).map(s=>({propertyToUpdate:s.name.substring(2).replace(/-((html)|\w)/g,r=>r.substring(1).toUpperCase()),bindedVariablesDescriptor:Te.getVariablesDescriptor(s.value)})):[]}static getSubPublisher(e,s){if(!s)return e;for(const i of s)if(i!="_self_"){if(!e)return null;e=e[i]}return e}static addPublisherListeners(e){Te.removePublisherListeners(e);const s=Ue.getAncestorAttributeValue(e.parentNode||e.host||e,"dataProvider");if(!s)return;const i=ve.getInstance().get(s),r=Te.getDataBindItems(e),n=[];r.forEach(o=>{const c=o.bindedVariablesDescriptor,d=o.propertyToUpdate;for(const g of c.variables){const A=g;let m=i;m=Te.getSubPublisher(i,A);const f=e,C={publisher:m,onAssign:()=>{const E=c.variables.map(B=>Te.getSubPublisher(i,B)?.get());let O=c.expression,U=!1;if(E.length==1&&c.variables[0].join(".")==O.substring(1)){let B=E[0];B===null&&(B=""),f[d]=B;return}for(let B=0;B<E.length;B++){let S=E[B];const y=c.variables[B];S===null&&(U=!0,S=void 0),O=O.replace("$"+y.join("."),S)}if(O.indexOf("|")!=-1){const B=O.indexOf("|");if(B==0)O=Fr.js(O.substring(1));else{const S=O.substring(0,B),y=O.substring(B+1),M=Fr[S];O=U?"":M?M(y):O}}else O=U?"":O;f[d]=O}};m?.onAssign(C.onAssign),n.push(C)}}),Te.publisherListeners.set(e,n)}},Te.observedElements=new Map,Te.enabled=!0,Te.publisherListeners=new Map,Te);Pi.observe(document.documentElement),window.SonicDataBindObserver||(window.SonicDataBindObserver=Pi);/**
1
+ (function(Ue){typeof define=="function"&&define.amd?define(Ue):Ue()})((function(){"use strict";var Te,st;let Ue=class kt{static getLanguage(){const e=document.documentElement.lang;return localStorage.getItem("SonicSelectedLanguage")||e}static getCookies(){return document.cookie.split(";").reduce((e,s)=>{const i=s.indexOf("=");return e[s.substring(0,i).trim()]=s.substring(i+1),e},{})}static nextComposedAncestor(e){return e instanceof Element&&e.assignedSlot?e.assignedSlot:e.parentNode||e.host||null}static everyAncestors(e,s){for(;e;){if(!s(e))return;e=e.parentNode||e.host}}static overflowMatches(e,s){return s.includes(e.overflowY)||s.includes(e.overflowX)}static findAncestorByOverflow(e,s){let i=e;for(;i;){if(i instanceof Element&&i.nodeType===1){const r=window.getComputedStyle(i);if(kt.overflowMatches(r,s))return i}i=kt.nextComposedAncestor(i)}return null}static getScrollableAncestor(e){return kt.findAncestorByOverflow(e,["auto","scroll","hidden","overlay"])}static getScrollingAncestor(e){return kt.findAncestorByOverflow(e,["auto","scroll","overlay"])}static scopeAttributeNames(e){const s=e.toLowerCase();return s===e?[e]:[e,s]}static readScopeAttributeOnElement(e,s){for(const i of kt.scopeAttributeNames(s))if(e.hasAttribute(i))return e.getAttribute(i)??"";return null}static getAncestorAttributeValue(e,s){if(!e)return null;let i=e;for(;i;){if(i instanceof HTMLElement){const n=kt.readScopeAttributeOnElement(i,s);if(n!=null)return n}const r=i.parentNode||i.host;if(!r)break;i=r}return null}static getApiConfiguration(e){const s=kt.getAncestorAttributeValue(e,"token"),i=kt.getAncestorAttributeValue(e,"addHTTPResponse")!=null,r=kt.getAncestorAttributeValue(e,"serviceURL");let n=null,o=null;const c=kt.getAncestorAttributeValue(e,"tokenProvider"),d=kt.getAncestorAttributeValue(e,"eventsApiToken");s||(n=kt.getAncestorAttributeValue(e,"userName"),o=kt.getAncestorAttributeValue(e,"password"));const g=kt.getAncestorAttributeValue(e,"credentials")||void 0,A=e.getAttribute("cache"),m=e.hasAttribute("blockUntilDone"),f=e.hasAttribute("keepAlive");return{serviceURL:r,token:s,userName:n,password:o,authToken:d,tokenProvider:c,addHTTPResponse:i,credentials:g,cache:A,blockUntilDone:m,keepAlive:f}}static getClosestElement(e,s){for(;!(e.nodeName&&e.nodeName.toLowerCase()===s)&&(e.parentNode||e.host);)e=e.parentNode||e.host;return e.nodeName?e:null}static getClosestForm(e){return kt.getClosestElement(e,"form")}static getAncestorsByTagNames(e,s){const i=new Set(s.map(o=>o.toLowerCase())),r=[];let n=e.parentNode||e.host;for(;n;)n instanceof Element&&i.has(n.tagName.toLowerCase())&&r.push(n),n=n.parentNode||n.host;return r}static getAncestorsBySelectors(e,s){const i=[];let r=e.parentNode||e.host;for(;r;){if(r instanceof Element)for(const n of s)try{if(r.matches(n)){i.push(r);break}}catch{}r=r.parentNode||r.host}return i}static async loadJS(e){return new Promise(async i=>{const r=document.createElement("script");r.src=e,r.onload=()=>i(!0),r.onerror=()=>i(!0),document.head.appendChild(r)})}static async loadCSS(e){return new Promise(async i=>{const r=document.createElement("link");r.type="text/css",r.rel="stylesheet",r.href=e,r.onload=()=>i(!0),r.onerror=()=>i(!0),document.head.appendChild(r)})}};const bn=t=>{const e=document.documentElement,s=new MutationObserver(r=>{for(let n of r)n.type==="attributes"&&n.attributeName==="lang"&&t()}),i={attributes:!0,attributeFilter:["lang"]};s.observe(e,i)};let Fr=class{static ucFirst(e){return typeof e!="string"?e:e.charAt(0).toUpperCase()+e.substring(1)}static minutesDuration(e,s="",i="long"){s||(s=Ue.getLanguage());const r=(g,A)=>[Math.floor(g/A),g%A];function n(g,A,m){return new Intl.NumberFormat(g,{style:"unit",unit:A,unitDisplay:m}).format}const[o,c]=r(e,60),d=[];return o&&d.push(n(s,"hour",i)(o)),c&&d.push(n(s,"minute",i)(c)),new Intl.ListFormat(s,{style:"long",type:"conjunction"}).format(d)}static js(e){try{return Function("return "+e)()}catch{return""}}};class Oo{constructor(e){this.path=e}toString(){return this.path}}function To(t){return new Proxy(t,{get(e,s){if(s==="path")return e.path;if(s==="toString")return e.toString.bind(e);if(s===Symbol.toStringTag)return"DataProviderKey";if(typeof s=="symbol")return e[s];const i=e.path?`${e.path}.${String(s)}`:String(s);return To(new Oo(i))}})}const Yl=/\$\{|\{\$/;function Zl(t){return Yl.test(t)}function gi(t){const e=typeof t=="string"?t:t.path;if(Zl(e))throw new Error("Static publisher path required for get/set/dp. Use @subscribe, @publish, or @handle for dynamic DataProviderKey paths.");return e}const Cs=function(t){return this instanceof Cs?To(new Oo(t)):new Cs(t)};let ht=class As{static shallowEqual(e,s,i=!0){const r=Object.keys(e),n=Object.keys(s);if(r.length!==n.length&&i)return!1;for(const o of r){const c=e[o],d=s[o];if(i?c!==d:c!=d)return!1}return!0}static deepEqual(e,s,i=!0){const r=Object.keys(e),n=Object.keys(s);if(r.length!==n.length&&i)return!1;for(const o of r){const c=e[o],d=s[o],g=As.isObject(c)&&As.isObject(d),A=i?c!==d:c!=d;if(g&&!As.deepEqual(c,d)||!g&&A)return!1}return!0}static isObject(e){return e!=null&&typeof e=="object"}static isUndefindOrNull(e){return e==null}static isEmpty(e){return As.isUndefindOrNull(e)?!0:Object.keys(e).length===0}static traverse(e,s,i=!1){for(const r of s){const n=e[r];if(n===void 0)return;i&&As.isObject(n)?e=Object.assign(Array.isArray(n)?[]:{},e,n):e=e[r]}return e}static traverseDotNotation(e,s,i=!1){return As.traverse(e,s.split("."),i)}static getURLSearchArray(e,s=""){let i=[];for(let r in e){const n=e[r];s&&(r=s+"["+r+"]"),As.isObject(n)?i=[...i,...this.getURLSearchArray(n,r)]:i.push(`${r}=${n}`)}return i}static getURLSearchString(e){return As.getURLSearchArray(e,"").join("&")}};const Bt=ht.traverseDotNotation;let Jl=class{static async queueTaskPromise(){return new Promise(e=>{window.queueMicrotask(()=>e(null))})}static async delayPromise(e){return new Promise(s=>{setTimeout(s,e)})}},Lo="sonic";typeof __SONIC_PREFIX__<"u"&&(Lo=__SONIC_PREFIX__);let Io=Lo.replace(/-([a-z])/g,t=>t[1].toUpperCase());const bi=Io.charAt(0).toUpperCase()+Io.slice(1),Ql=new Set(["localStorageMode","expirationDelayMs","invalidateOnPageShow"]);function Mo(t){return t==null||typeof t!="object"||Array.isArray(t)?!1:Object.keys(t).some(e=>Ql.has(e))}function vi(t){return Object.prototype.hasOwnProperty.call(t,"__value")}function ks(t){return typeof t=="object"&&t!==null}let dr="sonic";typeof __SONIC_PREFIX__>"u"&&(dr="sonic");const vn=dr=="sonic"?"publisher-proxies-data":dr+"-publisher-proxies-data",qs=class qs{constructor(e,s,i){for(this._proxies_=new Map,this._is_savable_=!1,this._expiration_delay_=1e3*60*60*12,this._invalidate_on_page_show_=!1,this._invalidateListeners_=new Set,this._formInvalidateListeners_=new Set,this._assignListeners_=new Set,this._mutationListeners_=new Set,this._fillListeners_=new Set,this._templateFillListeners_=new Set,this._lockInternalMutationPublishing_=!1,this._instanceCounter_=0,this._assignmentId_=0,this._value_=e,this.parent=s||null,this._parentKey_=i,this.root=this,this._instanceCounter_=0;this.root.parent;)this.root=this.root.parent}delete(){for(const e in this._proxies_.keys())e!="_parent_"&&this._proxies_.get(e)?.delete();this._invalidateListeners_.clear(),this._formInvalidateListeners_.clear(),this._assignListeners_.clear(),this._mutationListeners_.clear(),this._fillListeners_.clear(),this._templateFillListeners_.clear(),this._proxies_.clear(),qs.instances.delete(this._instanceCounter_)}hasListener(){return this._templateFillListeners_.size>0||this._assignListeners_.size>0||this._invalidateListeners_.size>0||this._formInvalidateListeners_.size>0||this._mutationListeners_.size>0||this._fillListeners_.size>0}_publishInternalMutation_(e=!1){if(this._mutationListeners_.forEach(s=>s()),this._is_savable_&&!ve.changed){ve.changed=!0,ve.saveId++;const s=ve.saveId;setTimeout(()=>ve.getInstance().saveToLocalStorage(s),1e3)}e||this.parent&&this.parent._publishInternalMutation_()}async _publishAssignement_(e=!1){if(this._assignmentId_++,this._assignmentId_!==this._assignmentId_)return;const i=this.get();this._assignListeners_.forEach(r=>{r(i)}),this._publishInternalMutation_(e)}_publishInvalidation_(){this._invalidateListeners_.forEach(e=>e())}_publishFormInvalidation_(){this._formInvalidateListeners_.forEach(e=>e())}_publishDynamicFilling_(e,s){this._fillListeners_.forEach(i=>{i[e]!==s&&(i[e]=s)}),this._publishTemplateFilling_(e,s)}_publishTemplateFilling_(e,s){this._templateFillListeners_.forEach(i=>{const r=Object.getOwnPropertyDescriptor(i,e);r&&!r.set&&!r.writable||(i.propertyMap&&i.propertyMap[e]&&(e=i.propertyMap[e]),typeof i[e]<"u"&&i[e]!==s&&(i[e]=s))})}onAssign(e,s=!0){typeof e=="function"&&(this._assignListeners_.has(e)||(this._assignListeners_.add(e),s&&e(this.get())))}offAssign(e){this._assignListeners_.delete(e)}onInvalidate(e){typeof e=="function"&&this._invalidateListeners_.add(e)}offInvalidate(e){typeof e=="function"&&this._invalidateListeners_.delete(e)}invalidate(){this._publishInvalidation_()}onFormInvalidate(e){typeof e=="function"&&this._formInvalidateListeners_.add(e)}offFormInvalidate(e){typeof e=="function"&&this._formInvalidateListeners_.delete(e)}invalidateForm(){this._publishFormInvalidation_()}onInternalMutation(e){typeof e=="function"&&(this._mutationListeners_.add(e),e())}offInternalMutation(e){typeof e=="function"&&this._mutationListeners_.delete(e)}startTemplateFilling(e){if(this._templateFillListeners_.add(e),typeof this._value_=="object")for(const s in this._value_){let i=s;const r=this._value_[s];e.propertyMap&&e.propertyMap[s]&&(i=e.propertyMap[s]),typeof e[s]<"u"&&e[s]!==r&&(e[i]=r)}}stopTemplateFilling(e){this._templateFillListeners_.delete(e)}startDynamicFilling(e){this._fillListeners_.add(e);for(const s in this._value_){const i=this._value_[s];e[s]!==i&&(e[s]=i)}}stopDynamicFilling(e){this._fillListeners_.delete(e)}set(e,s=!1){if(this._value_===e||ks(this._value_)&&ks(e)&&e&&vi(this._value_)&&vi(e)&&this._value_.__value===e.__value||!ks(e)&&e===this._value_.__value)return!0;this._value_=ks(e)?e:{__value:e},this._cachedGet_=void 0;const i=vi(this._value_);if(this._parentKey_&&this.parent){const r=vi(this._value_)?this._value_.__value:this._value_;if(this.parent?.get()==null&&this.parent?.get()==null)if(isNaN(Number(this._parentKey_)))this.parent.set({[this._parentKey_]:r});else{const n=[];n[Number(this._parentKey_)]=r,this.parent.set(n)}else this.parent._value_[this._parentKey_]=r}if(i)return this._proxies_.forEach((r,n)=>{n!="_parent_"&&(r.set(null),this._publishDynamicFilling_(n,null))}),this._publishAssignement_(s),this.parent&&this._parentKey_&&this.parent._publishDynamicFilling_(this._parentKey_,this._value_.__value),!0;for(const r in this._value_)this._value_[r]===void 0&&delete this._value_[r];if(this._proxies_.forEach((r,n)=>{const o=this._value_[n];n!="_parent_"&&o===void 0&&o!==null&&isNaN(Number(n))&&(r.set(null),this._publishDynamicFilling_(n,null))}),this._publishAssignement_(),this.parent&&this._parentKey_&&this.parent._publishDynamicFilling_(this._parentKey_,this._value_),ks(this._value_))for(const r in this._value_){const n=e[r],c=ks(n)?n:{__value:n};if(!this._proxies_.has(r)){this._publishDynamicFilling_(r,n);continue}this._proxies_.get(r)?.set(c,!0),this._publishDynamicFilling_(r,n)}return!0}get(){if(Xl(this),this._cachedGet_!==void 0)return this._cachedGet_;if(Object.prototype.hasOwnProperty.call(this._value_,"__value")){const e=this._value_.__value;return this._cachedGet_=e??null}return this._cachedGet_=this._value_!=null?this._value_:null}get $tag(){return this._instanceCounter_||(qs.instancesCounter++,this._instanceCounter_=qs.instancesCounter),qs.instances.set(this._instanceCounter_,this),"<"+dr+'-publisher-proxy publisher="'+this._instanceCounter_+'"></'+dr+"-publisher-proxy>"}};qs.instances=new Map,qs.instancesCounter=0;let Rr=qs;const yi=[];function Xl(t){yi.length>0&&yi[0].add(t)}function No(){yi.unshift(new Set)}function Fo(){return yi.shift()}const Ie=class Ie{constructor(){if(this.enabledLocaStorageProxies=[],this.publishers=new Map,this.localStorageData={},this.isLocalStrorageReady=null,this.initialisedData=[],Ie.instance!=null)throw"Singleton / use getInstance";Ie.instance=this,this.isLocalStrorageReady=this.cleanStorageData(),Ie.initPageShowHandler()}static initPageShowHandler(){Ie.pageShowHandlerInitialized||(Ie.pageShowHandlerInitialized=!0,window.addEventListener("pageshow",e=>{e.persisted&&Ie.getInstance().invalidateAll()}))}invalidateAll(){this.publishers.forEach(e=>{e._invalidate_on_page_show_&&e.invalidate()})}async cleanStorageData(){return new Promise(e=>{(async()=>{try{let i=localStorage.getItem(vn),r=null;if(i&&(r=await this.decompress(i,"gzip")),r)try{this.localStorageData=JSON.parse(r)}catch{this.localStorageData={}}else i=await this.compress("{}","gzip"),localStorage.setItem(vn,i),this.localStorageData={};const n=1e3*60*60*12;for(const o in this.localStorageData){const c=this.localStorageData[o],d=new Date().getTime()-(c.expirationDelayMs||n);c.lastModifiationMS<d&&delete this.localStorageData[o]}e(!0)}catch{window.requestAnimationFrame(()=>{e(!1)}),console.warn("no publisher cache in this browser")}})()})}static getInstance(e){if(e){const s=Ie.instances.get(e);return s||(console.warn("No PublisherManager instance registered with id:",e,"creating new one"),new Ie)}return Ie.instance==null?new Ie:Ie.instance}static get(e,s){return Ie.getInstance().get(e,s)}async setLocalData(e,s){await this.isLocalStrorageReady,e.set(this.localStorageData[s+"¤lang_"+Ue.getLanguage()]?.data||e.get())}get(e,s){const i=s?.localStorageMode==="enabled",r=s?.invalidateOnPageShow===!0;if(!this.publishers.has(e)){const c=yn({});this.set(e,c)}const n=this.publishers.get(e);return i&&this.initialisedData.indexOf(e)===-1&&(s?.expirationDelayMs&&(n._expiration_delay_=s.expirationDelayMs),n._is_savable_=!0,this.initialisedData.push(e),this.setLocalData(n,e)),r&&(n._invalidate_on_page_show_=r),this.publishers.get(e)}set(e,s){this.publishers.set(e,s)}delete(e){return this.publishers.has(e)?(this.publishers.delete(e),!0):!1}async saveToLocalStorage(e=0){if(!(e!==Ie.saveId&&e%10!=0))try{if(!Ie.changed||Ie.saving)return;Ie.saving=!0,Ie.changed=!1;const s=Array.from(this.publishers.keys());let i=!1;for(const r of s){const n=this.publishers.get(r);if(!n?._is_savable_)continue;const o=n?.get();o&&(this.localStorageData[r+"¤lang_"+Ue.getLanguage()]={lastModifiationMS:new Date().getTime(),expirationDelayMs:n._expiration_delay_,data:o},i=!0)}if(i){const r=await this.compress(JSON.stringify(this.localStorageData),"gzip");localStorage.setItem(vn,r)}if(Ie.saving=!1,Ie.changed){Ie.saveId++;const r=Ie.saveId;setTimeout(()=>this.saveToLocalStorage(r),1e3)}}catch{Ie.saving=!1}}async compress(e,s){const i=new TextEncoder().encode(e),r=window,n=new r.CompressionStream(s),o=n.writable.getWriter();o.write(i),o.close();const c=await new Response(n.readable).arrayBuffer(),d=new Uint8Array(c);let g="";for(let A=0;A<d.length;A++)g+=String.fromCharCode(d[A]);return btoa(g)}async decompress(e,s){const i=atob(e),n=Uint8Array.from(i,A=>A.charCodeAt(0)).buffer,o=window,c=new o.DecompressionStream(s),d=c.writable.getWriter();d.write(n),d.close();const g=await new Response(c.readable).arrayBuffer();return new TextDecoder().decode(g)}};Ie.buildDate="Mon Oct 26 2026 09:58:41 GMT+0100 (Central European Standard Time)",Ie.changed=!1,Ie.saving=!1,Ie.saveId=0,Ie.instance=null,Ie.instances=new Map,Ie.pageShowHandlerInitialized=!1;let ve=Ie;if(typeof window<"u"){const t=window;t[bi+"PublisherManager"]=t[bi+"PublisherManager"]||ve}const ec=new Set(["invalidate","onInvalidate","offInvalidate","invalidateForm","onFormInvalidate","offFormInvalidate","onAssign","offAssign","startDynamicFilling","stopDynamicFilling","startTemplateFilling","stopTemplateFilling","onInternalMutation","offInternalMutation","set","get","$tag","_cachedGet_","_templateFillListeners_","_fillListeners_","_assignListeners_","_invalidateListeners_","_formInvalidateListeners_","_publishInternalMutation_","hasListener","delete","_mutationListeners_","_publishDynamicFilling_","_publishInvalidation_","_publishFormInvalidation_","_publishTemplateFilling_","_publishAssignement_","_proxies_","parent","_parentKey_","_value_","_is_savable_","_expiration_delay_","_lockInternalMutationPublishing_","_instanceCounter_","_assignmentId_","_invalidate_on_page_show_"]);function tc(t,e){return{get:function(s,i){if(typeof i=="string"&&ec.has(i))return t[i];if(i==Symbol.toPrimitive)return()=>e().get();if(!t._proxies_.has(i)){const r=t._value_[i],n=yn(ks(r)?r:{__value:r},t,i);n._proxies_.set("_parent_",e()),t._proxies_.set(i,n)}return t._proxies_.get(i)},set:function(s,i,r){if(i=="_value_")return t._value_=r,!0;if(i=="_cachedGet_")return t._cachedGet_=r,!0;if(i=="_assignmentId_")return t._assignmentId_=r,!0;if(i=="_is_savable_")return t._is_savable_=r,!0;if(i=="_expiration_delay_")return t._expiration_delay_=r,!0;if(i=="_invalidate_on_page_show_")return t._invalidate_on_page_show_=r,!0;if(i=="_instanceCounter_")return t._instanceCounter_=r,!0;if(!t._proxies_.has(i)){const o=yn({},t,i);o._proxies_.set("_parent_",e()),t._proxies_.set(i,o)}return t._value_[i]!==r&&(t._value_[i]=r,t._publishDynamicFilling_(i,r),t._proxies_.get(i)?.set(ks(r)?r:{__value:r})),!0},deleteProperty:function(s,i){return t._publishDynamicFilling_(i,null),t._proxies_.get(i)?.set(null),delete t._value_[i]},has:function(s,i){return i in t._value_&&i!="_lockInternalMutationPublishing_"},defineProperty:function(s,i,r){return r&&"value"in r&&(t._value_[i]=r.value),!0},getOwnPropertyDescriptor:function(s,i){return{enumerable:!0,configurable:!0}},ownKeys:function(s){return t._value_.__value?Object.keys(t._value_.__value):Object.keys(t._value_)}}}function yn(t,e=null,s){const i=new Rr(t,e,s);let r=null;const n=tc(i,()=>r);return r=new Proxy(i,n),r}class sc extends HTMLElement{constructor(){super(),this.publisherId="",this.onAssign=e=>{this.innerHTML=e.toString()}}connectedCallback(){this.publisherId=this.getAttribute("publisher")||"",this.publisher=Rr.instances.get(parseInt(this.publisherId)),this.publisher?.onAssign(this.onAssign)}disconnectedCallback(){this.publisher?.offAssign(this.onAssign)}}try{customElements.define(dr+"-publisher-proxy",sc)}catch{}const wi=(t,e)=>{if(typeof t=="function"){const s=t;return No(),s(),Fo()}if(typeof t=="string"){const s=t.split("."),i=s.shift()||"";let r=ve.get(i,e);r=ht.traverse(r,s);const n=new Set;return n.add(r),n}return new Set([t])};function rc(t){const e=gi(t);return wi(e).values().next().value?.get()}function _i(t,e,s){const i=gi(t);return wi(i,s).values().next().value}function ic(t,e){return Mo(e)?_i(t,void 0,e):_i(t)}function Si(t,e){return Mo(e)?_i(t,void 0,e):_i(t)}function nc(t,e){const s=gi(t);wi(s).values().next().value?.set(e)}let Pi=(Te=class{static disable(){this.enabled&&(this.enabled=!1,Array.from(Te.observedElements.keys()).forEach(e=>Te.unObserve(e)))}static observe(e){if(!e||!Te.enabled||Te.observedElements.has(e))return;const s=new MutationObserver(Te.onMutation),i={};i.childList=!0,i.subtree=!0,i.attributes=!0,i.attributeFilter=["data-bind"],s.observe(e,i),e.querySelectorAll("[data-bind]").forEach(r=>Te.addPublisherListeners(r)),Te.observedElements.set(e,s)}static unObserve(e){if(!e)return;const s=this.observedElements.get(e);s&&(s.disconnect(),e.querySelectorAll("[data-bind]").forEach(i=>Te.removePublisherListeners(i)))}static onAdded(e){e.hasAttribute&&e.hasAttribute("data-bind")&&Te.addPublisherListeners(e),e.querySelectorAll?e.querySelectorAll("[data-bind]").forEach(s=>Te.addPublisherListeners(s)):e.childNodes.forEach(s=>Te.onAdded(s))}static onRemoved(e){e.hasAttribute&&e.hasAttribute("data-bind")&&Te.removePublisherListeners(e),e.querySelectorAll?e.querySelectorAll("[data-bind]").forEach(s=>Te.removePublisherListeners(s)):e.childNodes.forEach(s=>Te.onRemoved(s))}static onMutation(e){for(const s of e)switch(s.type){case"attributes":Te.addPublisherListeners(s.target);break;case"childList":s.addedNodes.forEach(i=>{Te.onAdded(i)}),s.removedNodes.forEach(i=>{Te.onRemoved(i)});break}}static removePublisherListeners(e){const s=Te.publisherListeners.get(e);s&&(Te.publisherListeners.delete(e),s.forEach(i=>{i.publisher?.offAssign(i.onAssign)}))}static getVariablesDescriptor(e){let s=e.match(/(\$(?:\w+\\?\.?)+)/g);return s?s=s.map(i=>i.replace("$","")):s=[e],s=s.filter(i=>i.length>0),{expression:e.replace("\\",""),variables:s.map(i=>i.split(/\b\.\b/).map(r=>r.replace("\\","")))}}static getDataBindItems(e){return"attributes"in e?Array.from(e.attributes).filter(s=>s.name.indexOf("::")==0).map(s=>({propertyToUpdate:s.name.substring(2).replace(/-((html)|\w)/g,r=>r.substring(1).toUpperCase()),bindedVariablesDescriptor:Te.getVariablesDescriptor(s.value)})):[]}static getSubPublisher(e,s){if(!s)return e;for(const i of s)if(i!="_self_"){if(!e)return null;e=e[i]}return e}static addPublisherListeners(e){Te.removePublisherListeners(e);const s=Ue.getAncestorAttributeValue(e.parentNode||e.host||e,"dataProvider");if(!s)return;const i=ve.getInstance().get(s),r=Te.getDataBindItems(e),n=[];r.forEach(o=>{const c=o.bindedVariablesDescriptor,d=o.propertyToUpdate;for(const g of c.variables){const A=g;let m=i;m=Te.getSubPublisher(i,A);const f=e,C={publisher:m,onAssign:()=>{const E=c.variables.map(B=>Te.getSubPublisher(i,B)?.get());let O=c.expression,U=!1;if(E.length==1&&c.variables[0].join(".")==O.substring(1)){let B=E[0];B===null&&(B=""),f[d]=B;return}for(let B=0;B<E.length;B++){let S=E[B];const y=c.variables[B];S===null&&(U=!0,S=void 0),O=O.replace("$"+y.join("."),S)}if(O.indexOf("|")!=-1){const B=O.indexOf("|");if(B==0)O=Fr.js(O.substring(1));else{const S=O.substring(0,B),y=O.substring(B+1),M=Fr[S];O=U?"":M?M(y):O}}else O=U?"":O;f[d]=O}};m?.onAssign(C.onAssign),n.push(C)}}),Te.publisherListeners.set(e,n)}},Te.observedElements=new Map,Te.enabled=!0,Te.publisherListeners=new Map,Te);Pi.observe(document.documentElement),window.SonicDataBindObserver||(window.SonicDataBindObserver=Pi);/**
2
2
  * @license
3
3
  * Copyright 2017 Google LLC
4
4
  * SPDX-License-Identifier: BSD-3-Clause
@@ -770,7 +770,7 @@ const Ie = class Ie {
770
770
  return new TextDecoder().decode(g);
771
771
  }
772
772
  };
773
- Ie.buildDate = "Mon Oct 26 2026 09:56:50 GMT+0100 (Central European Standard Time)", Ie.changed = !1, Ie.saving = !1, Ie.saveId = 0, Ie.instance = null, Ie.instances = /* @__PURE__ */ new Map(), Ie.pageShowHandlerInitialized = !1;
773
+ Ie.buildDate = "Mon Oct 26 2026 09:58:41 GMT+0100 (Central European Standard Time)", Ie.changed = !1, Ie.saving = !1, Ie.saveId = 0, Ie.instance = null, Ie.instances = /* @__PURE__ */ new Map(), Ie.pageShowHandlerInitialized = !1;
774
774
  let we = Ie;
775
775
  if (typeof window < "u") {
776
776
  const t = window;
@@ -1,4 +1,4 @@
1
- (function(Ue){typeof define=="function"&&define.amd?define(Ue):Ue()})((function(){"use strict";var Te,st;let Ue=class kt{static getLanguage(){const e=document.documentElement.lang;return localStorage.getItem("SonicSelectedLanguage")||e}static getCookies(){return document.cookie.split(";").reduce((e,s)=>{const i=s.indexOf("=");return e[s.substring(0,i).trim()]=s.substring(i+1),e},{})}static nextComposedAncestor(e){return e instanceof Element&&e.assignedSlot?e.assignedSlot:e.parentNode||e.host||null}static everyAncestors(e,s){for(;e;){if(!s(e))return;e=e.parentNode||e.host}}static overflowMatches(e,s){return s.includes(e.overflowY)||s.includes(e.overflowX)}static findAncestorByOverflow(e,s){let i=e;for(;i;){if(i instanceof Element&&i.nodeType===1){const r=window.getComputedStyle(i);if(kt.overflowMatches(r,s))return i}i=kt.nextComposedAncestor(i)}return null}static getScrollableAncestor(e){return kt.findAncestorByOverflow(e,["auto","scroll","hidden","overlay"])}static getScrollingAncestor(e){return kt.findAncestorByOverflow(e,["auto","scroll","overlay"])}static scopeAttributeNames(e){const s=e.toLowerCase();return s===e?[e]:[e,s]}static readScopeAttributeOnElement(e,s){for(const i of kt.scopeAttributeNames(s))if(e.hasAttribute(i))return e.getAttribute(i)??"";return null}static getAncestorAttributeValue(e,s){if(!e)return null;let i=e;for(;i;){if(i instanceof HTMLElement){const n=kt.readScopeAttributeOnElement(i,s);if(n!=null)return n}const r=i.parentNode||i.host;if(!r)break;i=r}return null}static getApiConfiguration(e){const s=kt.getAncestorAttributeValue(e,"token"),i=kt.getAncestorAttributeValue(e,"addHTTPResponse")!=null,r=kt.getAncestorAttributeValue(e,"serviceURL");let n=null,o=null;const c=kt.getAncestorAttributeValue(e,"tokenProvider"),d=kt.getAncestorAttributeValue(e,"eventsApiToken");s||(n=kt.getAncestorAttributeValue(e,"userName"),o=kt.getAncestorAttributeValue(e,"password"));const g=kt.getAncestorAttributeValue(e,"credentials")||void 0,A=e.getAttribute("cache"),m=e.hasAttribute("blockUntilDone"),f=e.hasAttribute("keepAlive");return{serviceURL:r,token:s,userName:n,password:o,authToken:d,tokenProvider:c,addHTTPResponse:i,credentials:g,cache:A,blockUntilDone:m,keepAlive:f}}static getClosestElement(e,s){for(;!(e.nodeName&&e.nodeName.toLowerCase()===s)&&(e.parentNode||e.host);)e=e.parentNode||e.host;return e.nodeName?e:null}static getClosestForm(e){return kt.getClosestElement(e,"form")}static getAncestorsByTagNames(e,s){const i=new Set(s.map(o=>o.toLowerCase())),r=[];let n=e.parentNode||e.host;for(;n;)n instanceof Element&&i.has(n.tagName.toLowerCase())&&r.push(n),n=n.parentNode||n.host;return r}static getAncestorsBySelectors(e,s){const i=[];let r=e.parentNode||e.host;for(;r;){if(r instanceof Element)for(const n of s)try{if(r.matches(n)){i.push(r);break}}catch{}r=r.parentNode||r.host}return i}static async loadJS(e){return new Promise(async i=>{const r=document.createElement("script");r.src=e,r.onload=()=>i(!0),r.onerror=()=>i(!0),document.head.appendChild(r)})}static async loadCSS(e){return new Promise(async i=>{const r=document.createElement("link");r.type="text/css",r.rel="stylesheet",r.href=e,r.onload=()=>i(!0),r.onerror=()=>i(!0),document.head.appendChild(r)})}};const bn=t=>{const e=document.documentElement,s=new MutationObserver(r=>{for(let n of r)n.type==="attributes"&&n.attributeName==="lang"&&t()}),i={attributes:!0,attributeFilter:["lang"]};s.observe(e,i)};let Fr=class{static ucFirst(e){return typeof e!="string"?e:e.charAt(0).toUpperCase()+e.substring(1)}static minutesDuration(e,s="",i="long"){s||(s=Ue.getLanguage());const r=(g,A)=>[Math.floor(g/A),g%A];function n(g,A,m){return new Intl.NumberFormat(g,{style:"unit",unit:A,unitDisplay:m}).format}const[o,c]=r(e,60),d=[];return o&&d.push(n(s,"hour",i)(o)),c&&d.push(n(s,"minute",i)(c)),new Intl.ListFormat(s,{style:"long",type:"conjunction"}).format(d)}static js(e){try{return Function("return "+e)()}catch{return""}}};class Oo{constructor(e){this.path=e}toString(){return this.path}}function To(t){return new Proxy(t,{get(e,s){if(s==="path")return e.path;if(s==="toString")return e.toString.bind(e);if(s===Symbol.toStringTag)return"DataProviderKey";if(typeof s=="symbol")return e[s];const i=e.path?`${e.path}.${String(s)}`:String(s);return To(new Oo(i))}})}const Yl=/\$\{|\{\$/;function Zl(t){return Yl.test(t)}function gi(t){const e=typeof t=="string"?t:t.path;if(Zl(e))throw new Error("Static publisher path required for get/set/dp. Use @subscribe, @publish, or @handle for dynamic DataProviderKey paths.");return e}const Cs=function(t){return this instanceof Cs?To(new Oo(t)):new Cs(t)};let ht=class As{static shallowEqual(e,s,i=!0){const r=Object.keys(e),n=Object.keys(s);if(r.length!==n.length&&i)return!1;for(const o of r){const c=e[o],d=s[o];if(i?c!==d:c!=d)return!1}return!0}static deepEqual(e,s,i=!0){const r=Object.keys(e),n=Object.keys(s);if(r.length!==n.length&&i)return!1;for(const o of r){const c=e[o],d=s[o],g=As.isObject(c)&&As.isObject(d),A=i?c!==d:c!=d;if(g&&!As.deepEqual(c,d)||!g&&A)return!1}return!0}static isObject(e){return e!=null&&typeof e=="object"}static isUndefindOrNull(e){return e==null}static isEmpty(e){return As.isUndefindOrNull(e)?!0:Object.keys(e).length===0}static traverse(e,s,i=!1){for(const r of s){const n=e[r];if(n===void 0)return;i&&As.isObject(n)?e=Object.assign(Array.isArray(n)?[]:{},e,n):e=e[r]}return e}static traverseDotNotation(e,s,i=!1){return As.traverse(e,s.split("."),i)}static getURLSearchArray(e,s=""){let i=[];for(let r in e){const n=e[r];s&&(r=s+"["+r+"]"),As.isObject(n)?i=[...i,...this.getURLSearchArray(n,r)]:i.push(`${r}=${n}`)}return i}static getURLSearchString(e){return As.getURLSearchArray(e,"").join("&")}};const Bt=ht.traverseDotNotation;let Jl=class{static async queueTaskPromise(){return new Promise(e=>{window.queueMicrotask(()=>e(null))})}static async delayPromise(e){return new Promise(s=>{setTimeout(s,e)})}},Lo="sonic";typeof __SONIC_PREFIX__<"u"&&(Lo=__SONIC_PREFIX__);let Io=Lo.replace(/-([a-z])/g,t=>t[1].toUpperCase());const bi=Io.charAt(0).toUpperCase()+Io.slice(1),Ql=new Set(["localStorageMode","expirationDelayMs","invalidateOnPageShow"]);function Mo(t){return t==null||typeof t!="object"||Array.isArray(t)?!1:Object.keys(t).some(e=>Ql.has(e))}function vi(t){return Object.prototype.hasOwnProperty.call(t,"__value")}function ks(t){return typeof t=="object"&&t!==null}let dr="sonic";typeof __SONIC_PREFIX__>"u"&&(dr="sonic");const vn=dr=="sonic"?"publisher-proxies-data":dr+"-publisher-proxies-data",qs=class qs{constructor(e,s,i){for(this._proxies_=new Map,this._is_savable_=!1,this._expiration_delay_=1e3*60*60*12,this._invalidate_on_page_show_=!1,this._invalidateListeners_=new Set,this._formInvalidateListeners_=new Set,this._assignListeners_=new Set,this._mutationListeners_=new Set,this._fillListeners_=new Set,this._templateFillListeners_=new Set,this._lockInternalMutationPublishing_=!1,this._instanceCounter_=0,this._assignmentId_=0,this._value_=e,this.parent=s||null,this._parentKey_=i,this.root=this,this._instanceCounter_=0;this.root.parent;)this.root=this.root.parent}delete(){for(const e in this._proxies_.keys())e!="_parent_"&&this._proxies_.get(e)?.delete();this._invalidateListeners_.clear(),this._formInvalidateListeners_.clear(),this._assignListeners_.clear(),this._mutationListeners_.clear(),this._fillListeners_.clear(),this._templateFillListeners_.clear(),this._proxies_.clear(),qs.instances.delete(this._instanceCounter_)}hasListener(){return this._templateFillListeners_.size>0||this._assignListeners_.size>0||this._invalidateListeners_.size>0||this._formInvalidateListeners_.size>0||this._mutationListeners_.size>0||this._fillListeners_.size>0}_publishInternalMutation_(e=!1){if(this._mutationListeners_.forEach(s=>s()),this._is_savable_&&!ve.changed){ve.changed=!0,ve.saveId++;const s=ve.saveId;setTimeout(()=>ve.getInstance().saveToLocalStorage(s),1e3)}e||this.parent&&this.parent._publishInternalMutation_()}async _publishAssignement_(e=!1){if(this._assignmentId_++,this._assignmentId_!==this._assignmentId_)return;const i=this.get();this._assignListeners_.forEach(r=>{r(i)}),this._publishInternalMutation_(e)}_publishInvalidation_(){this._invalidateListeners_.forEach(e=>e())}_publishFormInvalidation_(){this._formInvalidateListeners_.forEach(e=>e())}_publishDynamicFilling_(e,s){this._fillListeners_.forEach(i=>{i[e]!==s&&(i[e]=s)}),this._publishTemplateFilling_(e,s)}_publishTemplateFilling_(e,s){this._templateFillListeners_.forEach(i=>{const r=Object.getOwnPropertyDescriptor(i,e);r&&!r.set&&!r.writable||(i.propertyMap&&i.propertyMap[e]&&(e=i.propertyMap[e]),typeof i[e]<"u"&&i[e]!==s&&(i[e]=s))})}onAssign(e,s=!0){typeof e=="function"&&(this._assignListeners_.has(e)||(this._assignListeners_.add(e),s&&e(this.get())))}offAssign(e){this._assignListeners_.delete(e)}onInvalidate(e){typeof e=="function"&&this._invalidateListeners_.add(e)}offInvalidate(e){typeof e=="function"&&this._invalidateListeners_.delete(e)}invalidate(){this._publishInvalidation_()}onFormInvalidate(e){typeof e=="function"&&this._formInvalidateListeners_.add(e)}offFormInvalidate(e){typeof e=="function"&&this._formInvalidateListeners_.delete(e)}invalidateForm(){this._publishFormInvalidation_()}onInternalMutation(e){typeof e=="function"&&(this._mutationListeners_.add(e),e())}offInternalMutation(e){typeof e=="function"&&this._mutationListeners_.delete(e)}startTemplateFilling(e){if(this._templateFillListeners_.add(e),typeof this._value_=="object")for(const s in this._value_){let i=s;const r=this._value_[s];e.propertyMap&&e.propertyMap[s]&&(i=e.propertyMap[s]),typeof e[s]<"u"&&e[s]!==r&&(e[i]=r)}}stopTemplateFilling(e){this._templateFillListeners_.delete(e)}startDynamicFilling(e){this._fillListeners_.add(e);for(const s in this._value_){const i=this._value_[s];e[s]!==i&&(e[s]=i)}}stopDynamicFilling(e){this._fillListeners_.delete(e)}set(e,s=!1){if(this._value_===e||ks(this._value_)&&ks(e)&&e&&vi(this._value_)&&vi(e)&&this._value_.__value===e.__value||!ks(e)&&e===this._value_.__value)return!0;this._value_=ks(e)?e:{__value:e},this._cachedGet_=void 0;const i=vi(this._value_);if(this._parentKey_&&this.parent){const r=vi(this._value_)?this._value_.__value:this._value_;if(this.parent?.get()==null&&this.parent?.get()==null)if(isNaN(Number(this._parentKey_)))this.parent.set({[this._parentKey_]:r});else{const n=[];n[Number(this._parentKey_)]=r,this.parent.set(n)}else this.parent._value_[this._parentKey_]=r}if(i)return this._proxies_.forEach((r,n)=>{n!="_parent_"&&(r.set(null),this._publishDynamicFilling_(n,null))}),this._publishAssignement_(s),this.parent&&this._parentKey_&&this.parent._publishDynamicFilling_(this._parentKey_,this._value_.__value),!0;for(const r in this._value_)this._value_[r]===void 0&&delete this._value_[r];if(this._proxies_.forEach((r,n)=>{const o=this._value_[n];n!="_parent_"&&o===void 0&&o!==null&&isNaN(Number(n))&&(r.set(null),this._publishDynamicFilling_(n,null))}),this._publishAssignement_(),this.parent&&this._parentKey_&&this.parent._publishDynamicFilling_(this._parentKey_,this._value_),ks(this._value_))for(const r in this._value_){const n=e[r],c=ks(n)?n:{__value:n};if(!this._proxies_.has(r)){this._publishDynamicFilling_(r,n);continue}this._proxies_.get(r)?.set(c,!0),this._publishDynamicFilling_(r,n)}return!0}get(){if(Xl(this),this._cachedGet_!==void 0)return this._cachedGet_;if(Object.prototype.hasOwnProperty.call(this._value_,"__value")){const e=this._value_.__value;return this._cachedGet_=e??null}return this._cachedGet_=this._value_!=null?this._value_:null}get $tag(){return this._instanceCounter_||(qs.instancesCounter++,this._instanceCounter_=qs.instancesCounter),qs.instances.set(this._instanceCounter_,this),"<"+dr+'-publisher-proxy publisher="'+this._instanceCounter_+'"></'+dr+"-publisher-proxy>"}};qs.instances=new Map,qs.instancesCounter=0;let Rr=qs;const yi=[];function Xl(t){yi.length>0&&yi[0].add(t)}function No(){yi.unshift(new Set)}function Fo(){return yi.shift()}const Ie=class Ie{constructor(){if(this.enabledLocaStorageProxies=[],this.publishers=new Map,this.localStorageData={},this.isLocalStrorageReady=null,this.initialisedData=[],Ie.instance!=null)throw"Singleton / use getInstance";Ie.instance=this,this.isLocalStrorageReady=this.cleanStorageData(),Ie.initPageShowHandler()}static initPageShowHandler(){Ie.pageShowHandlerInitialized||(Ie.pageShowHandlerInitialized=!0,window.addEventListener("pageshow",e=>{e.persisted&&Ie.getInstance().invalidateAll()}))}invalidateAll(){this.publishers.forEach(e=>{e._invalidate_on_page_show_&&e.invalidate()})}async cleanStorageData(){return new Promise(e=>{(async()=>{try{let i=localStorage.getItem(vn),r=null;if(i&&(r=await this.decompress(i,"gzip")),r)try{this.localStorageData=JSON.parse(r)}catch{this.localStorageData={}}else i=await this.compress("{}","gzip"),localStorage.setItem(vn,i),this.localStorageData={};const n=1e3*60*60*12;for(const o in this.localStorageData){const c=this.localStorageData[o],d=new Date().getTime()-(c.expirationDelayMs||n);c.lastModifiationMS<d&&delete this.localStorageData[o]}e(!0)}catch{window.requestAnimationFrame(()=>{e(!1)}),console.warn("no publisher cache in this browser")}})()})}static getInstance(e){if(e){const s=Ie.instances.get(e);return s||(console.warn("No PublisherManager instance registered with id:",e,"creating new one"),new Ie)}return Ie.instance==null?new Ie:Ie.instance}static get(e,s){return Ie.getInstance().get(e,s)}async setLocalData(e,s){await this.isLocalStrorageReady,e.set(this.localStorageData[s+"¤lang_"+Ue.getLanguage()]?.data||e.get())}get(e,s){const i=s?.localStorageMode==="enabled",r=s?.invalidateOnPageShow===!0;if(!this.publishers.has(e)){const c=yn({});this.set(e,c)}const n=this.publishers.get(e);return i&&this.initialisedData.indexOf(e)===-1&&(s?.expirationDelayMs&&(n._expiration_delay_=s.expirationDelayMs),n._is_savable_=!0,this.initialisedData.push(e),this.setLocalData(n,e)),r&&(n._invalidate_on_page_show_=r),this.publishers.get(e)}set(e,s){this.publishers.set(e,s)}delete(e){return this.publishers.has(e)?(this.publishers.delete(e),!0):!1}async saveToLocalStorage(e=0){if(!(e!==Ie.saveId&&e%10!=0))try{if(!Ie.changed||Ie.saving)return;Ie.saving=!0,Ie.changed=!1;const s=Array.from(this.publishers.keys());let i=!1;for(const r of s){const n=this.publishers.get(r);if(!n?._is_savable_)continue;const o=n?.get();o&&(this.localStorageData[r+"¤lang_"+Ue.getLanguage()]={lastModifiationMS:new Date().getTime(),expirationDelayMs:n._expiration_delay_,data:o},i=!0)}if(i){const r=await this.compress(JSON.stringify(this.localStorageData),"gzip");localStorage.setItem(vn,r)}if(Ie.saving=!1,Ie.changed){Ie.saveId++;const r=Ie.saveId;setTimeout(()=>this.saveToLocalStorage(r),1e3)}}catch{Ie.saving=!1}}async compress(e,s){const i=new TextEncoder().encode(e),r=window,n=new r.CompressionStream(s),o=n.writable.getWriter();o.write(i),o.close();const c=await new Response(n.readable).arrayBuffer(),d=new Uint8Array(c);let g="";for(let A=0;A<d.length;A++)g+=String.fromCharCode(d[A]);return btoa(g)}async decompress(e,s){const i=atob(e),n=Uint8Array.from(i,A=>A.charCodeAt(0)).buffer,o=window,c=new o.DecompressionStream(s),d=c.writable.getWriter();d.write(n),d.close();const g=await new Response(c.readable).arrayBuffer();return new TextDecoder().decode(g)}};Ie.buildDate="Mon Oct 26 2026 09:56:50 GMT+0100 (Central European Standard Time)",Ie.changed=!1,Ie.saving=!1,Ie.saveId=0,Ie.instance=null,Ie.instances=new Map,Ie.pageShowHandlerInitialized=!1;let ve=Ie;if(typeof window<"u"){const t=window;t[bi+"PublisherManager"]=t[bi+"PublisherManager"]||ve}const ec=new Set(["invalidate","onInvalidate","offInvalidate","invalidateForm","onFormInvalidate","offFormInvalidate","onAssign","offAssign","startDynamicFilling","stopDynamicFilling","startTemplateFilling","stopTemplateFilling","onInternalMutation","offInternalMutation","set","get","$tag","_cachedGet_","_templateFillListeners_","_fillListeners_","_assignListeners_","_invalidateListeners_","_formInvalidateListeners_","_publishInternalMutation_","hasListener","delete","_mutationListeners_","_publishDynamicFilling_","_publishInvalidation_","_publishFormInvalidation_","_publishTemplateFilling_","_publishAssignement_","_proxies_","parent","_parentKey_","_value_","_is_savable_","_expiration_delay_","_lockInternalMutationPublishing_","_instanceCounter_","_assignmentId_","_invalidate_on_page_show_"]);function tc(t,e){return{get:function(s,i){if(typeof i=="string"&&ec.has(i))return t[i];if(i==Symbol.toPrimitive)return()=>e().get();if(!t._proxies_.has(i)){const r=t._value_[i],n=yn(ks(r)?r:{__value:r},t,i);n._proxies_.set("_parent_",e()),t._proxies_.set(i,n)}return t._proxies_.get(i)},set:function(s,i,r){if(i=="_value_")return t._value_=r,!0;if(i=="_cachedGet_")return t._cachedGet_=r,!0;if(i=="_assignmentId_")return t._assignmentId_=r,!0;if(i=="_is_savable_")return t._is_savable_=r,!0;if(i=="_expiration_delay_")return t._expiration_delay_=r,!0;if(i=="_invalidate_on_page_show_")return t._invalidate_on_page_show_=r,!0;if(i=="_instanceCounter_")return t._instanceCounter_=r,!0;if(!t._proxies_.has(i)){const o=yn({},t,i);o._proxies_.set("_parent_",e()),t._proxies_.set(i,o)}return t._value_[i]!==r&&(t._value_[i]=r,t._publishDynamicFilling_(i,r),t._proxies_.get(i)?.set(ks(r)?r:{__value:r})),!0},deleteProperty:function(s,i){return t._publishDynamicFilling_(i,null),t._proxies_.get(i)?.set(null),delete t._value_[i]},has:function(s,i){return i in t._value_&&i!="_lockInternalMutationPublishing_"},defineProperty:function(s,i,r){return r&&"value"in r&&(t._value_[i]=r.value),!0},getOwnPropertyDescriptor:function(s,i){return{enumerable:!0,configurable:!0}},ownKeys:function(s){return t._value_.__value?Object.keys(t._value_.__value):Object.keys(t._value_)}}}function yn(t,e=null,s){const i=new Rr(t,e,s);let r=null;const n=tc(i,()=>r);return r=new Proxy(i,n),r}class sc extends HTMLElement{constructor(){super(),this.publisherId="",this.onAssign=e=>{this.innerHTML=e.toString()}}connectedCallback(){this.publisherId=this.getAttribute("publisher")||"",this.publisher=Rr.instances.get(parseInt(this.publisherId)),this.publisher?.onAssign(this.onAssign)}disconnectedCallback(){this.publisher?.offAssign(this.onAssign)}}try{customElements.define(dr+"-publisher-proxy",sc)}catch{}const wi=(t,e)=>{if(typeof t=="function"){const s=t;return No(),s(),Fo()}if(typeof t=="string"){const s=t.split("."),i=s.shift()||"";let r=ve.get(i,e);r=ht.traverse(r,s);const n=new Set;return n.add(r),n}return new Set([t])};function rc(t){const e=gi(t);return wi(e).values().next().value?.get()}function _i(t,e,s){const i=gi(t);return wi(i,s).values().next().value}function ic(t,e){return Mo(e)?_i(t,void 0,e):_i(t)}function Si(t,e){return Mo(e)?_i(t,void 0,e):_i(t)}function nc(t,e){const s=gi(t);wi(s).values().next().value?.set(e)}let Pi=(Te=class{static disable(){this.enabled&&(this.enabled=!1,Array.from(Te.observedElements.keys()).forEach(e=>Te.unObserve(e)))}static observe(e){if(!e||!Te.enabled||Te.observedElements.has(e))return;const s=new MutationObserver(Te.onMutation),i={};i.childList=!0,i.subtree=!0,i.attributes=!0,i.attributeFilter=["data-bind"],s.observe(e,i),e.querySelectorAll("[data-bind]").forEach(r=>Te.addPublisherListeners(r)),Te.observedElements.set(e,s)}static unObserve(e){if(!e)return;const s=this.observedElements.get(e);s&&(s.disconnect(),e.querySelectorAll("[data-bind]").forEach(i=>Te.removePublisherListeners(i)))}static onAdded(e){e.hasAttribute&&e.hasAttribute("data-bind")&&Te.addPublisherListeners(e),e.querySelectorAll?e.querySelectorAll("[data-bind]").forEach(s=>Te.addPublisherListeners(s)):e.childNodes.forEach(s=>Te.onAdded(s))}static onRemoved(e){e.hasAttribute&&e.hasAttribute("data-bind")&&Te.removePublisherListeners(e),e.querySelectorAll?e.querySelectorAll("[data-bind]").forEach(s=>Te.removePublisherListeners(s)):e.childNodes.forEach(s=>Te.onRemoved(s))}static onMutation(e){for(const s of e)switch(s.type){case"attributes":Te.addPublisherListeners(s.target);break;case"childList":s.addedNodes.forEach(i=>{Te.onAdded(i)}),s.removedNodes.forEach(i=>{Te.onRemoved(i)});break}}static removePublisherListeners(e){const s=Te.publisherListeners.get(e);s&&(Te.publisherListeners.delete(e),s.forEach(i=>{i.publisher?.offAssign(i.onAssign)}))}static getVariablesDescriptor(e){let s=e.match(/(\$(?:\w+\\?\.?)+)/g);return s?s=s.map(i=>i.replace("$","")):s=[e],s=s.filter(i=>i.length>0),{expression:e.replace("\\",""),variables:s.map(i=>i.split(/\b\.\b/).map(r=>r.replace("\\","")))}}static getDataBindItems(e){return"attributes"in e?Array.from(e.attributes).filter(s=>s.name.indexOf("::")==0).map(s=>({propertyToUpdate:s.name.substring(2).replace(/-((html)|\w)/g,r=>r.substring(1).toUpperCase()),bindedVariablesDescriptor:Te.getVariablesDescriptor(s.value)})):[]}static getSubPublisher(e,s){if(!s)return e;for(const i of s)if(i!="_self_"){if(!e)return null;e=e[i]}return e}static addPublisherListeners(e){Te.removePublisherListeners(e);const s=Ue.getAncestorAttributeValue(e.parentNode||e.host||e,"dataProvider");if(!s)return;const i=ve.getInstance().get(s),r=Te.getDataBindItems(e),n=[];r.forEach(o=>{const c=o.bindedVariablesDescriptor,d=o.propertyToUpdate;for(const g of c.variables){const A=g;let m=i;m=Te.getSubPublisher(i,A);const f=e,C={publisher:m,onAssign:()=>{const E=c.variables.map(B=>Te.getSubPublisher(i,B)?.get());let O=c.expression,U=!1;if(E.length==1&&c.variables[0].join(".")==O.substring(1)){let B=E[0];B===null&&(B=""),f[d]=B;return}for(let B=0;B<E.length;B++){let S=E[B];const y=c.variables[B];S===null&&(U=!0,S=void 0),O=O.replace("$"+y.join("."),S)}if(O.indexOf("|")!=-1){const B=O.indexOf("|");if(B==0)O=Fr.js(O.substring(1));else{const S=O.substring(0,B),y=O.substring(B+1),M=Fr[S];O=U?"":M?M(y):O}}else O=U?"":O;f[d]=O}};m?.onAssign(C.onAssign),n.push(C)}}),Te.publisherListeners.set(e,n)}},Te.observedElements=new Map,Te.enabled=!0,Te.publisherListeners=new Map,Te);Pi.observe(document.documentElement),window.SonicDataBindObserver||(window.SonicDataBindObserver=Pi);/**
1
+ (function(Ue){typeof define=="function"&&define.amd?define(Ue):Ue()})((function(){"use strict";var Te,st;let Ue=class kt{static getLanguage(){const e=document.documentElement.lang;return localStorage.getItem("SonicSelectedLanguage")||e}static getCookies(){return document.cookie.split(";").reduce((e,s)=>{const i=s.indexOf("=");return e[s.substring(0,i).trim()]=s.substring(i+1),e},{})}static nextComposedAncestor(e){return e instanceof Element&&e.assignedSlot?e.assignedSlot:e.parentNode||e.host||null}static everyAncestors(e,s){for(;e;){if(!s(e))return;e=e.parentNode||e.host}}static overflowMatches(e,s){return s.includes(e.overflowY)||s.includes(e.overflowX)}static findAncestorByOverflow(e,s){let i=e;for(;i;){if(i instanceof Element&&i.nodeType===1){const r=window.getComputedStyle(i);if(kt.overflowMatches(r,s))return i}i=kt.nextComposedAncestor(i)}return null}static getScrollableAncestor(e){return kt.findAncestorByOverflow(e,["auto","scroll","hidden","overlay"])}static getScrollingAncestor(e){return kt.findAncestorByOverflow(e,["auto","scroll","overlay"])}static scopeAttributeNames(e){const s=e.toLowerCase();return s===e?[e]:[e,s]}static readScopeAttributeOnElement(e,s){for(const i of kt.scopeAttributeNames(s))if(e.hasAttribute(i))return e.getAttribute(i)??"";return null}static getAncestorAttributeValue(e,s){if(!e)return null;let i=e;for(;i;){if(i instanceof HTMLElement){const n=kt.readScopeAttributeOnElement(i,s);if(n!=null)return n}const r=i.parentNode||i.host;if(!r)break;i=r}return null}static getApiConfiguration(e){const s=kt.getAncestorAttributeValue(e,"token"),i=kt.getAncestorAttributeValue(e,"addHTTPResponse")!=null,r=kt.getAncestorAttributeValue(e,"serviceURL");let n=null,o=null;const c=kt.getAncestorAttributeValue(e,"tokenProvider"),d=kt.getAncestorAttributeValue(e,"eventsApiToken");s||(n=kt.getAncestorAttributeValue(e,"userName"),o=kt.getAncestorAttributeValue(e,"password"));const g=kt.getAncestorAttributeValue(e,"credentials")||void 0,A=e.getAttribute("cache"),m=e.hasAttribute("blockUntilDone"),f=e.hasAttribute("keepAlive");return{serviceURL:r,token:s,userName:n,password:o,authToken:d,tokenProvider:c,addHTTPResponse:i,credentials:g,cache:A,blockUntilDone:m,keepAlive:f}}static getClosestElement(e,s){for(;!(e.nodeName&&e.nodeName.toLowerCase()===s)&&(e.parentNode||e.host);)e=e.parentNode||e.host;return e.nodeName?e:null}static getClosestForm(e){return kt.getClosestElement(e,"form")}static getAncestorsByTagNames(e,s){const i=new Set(s.map(o=>o.toLowerCase())),r=[];let n=e.parentNode||e.host;for(;n;)n instanceof Element&&i.has(n.tagName.toLowerCase())&&r.push(n),n=n.parentNode||n.host;return r}static getAncestorsBySelectors(e,s){const i=[];let r=e.parentNode||e.host;for(;r;){if(r instanceof Element)for(const n of s)try{if(r.matches(n)){i.push(r);break}}catch{}r=r.parentNode||r.host}return i}static async loadJS(e){return new Promise(async i=>{const r=document.createElement("script");r.src=e,r.onload=()=>i(!0),r.onerror=()=>i(!0),document.head.appendChild(r)})}static async loadCSS(e){return new Promise(async i=>{const r=document.createElement("link");r.type="text/css",r.rel="stylesheet",r.href=e,r.onload=()=>i(!0),r.onerror=()=>i(!0),document.head.appendChild(r)})}};const bn=t=>{const e=document.documentElement,s=new MutationObserver(r=>{for(let n of r)n.type==="attributes"&&n.attributeName==="lang"&&t()}),i={attributes:!0,attributeFilter:["lang"]};s.observe(e,i)};let Fr=class{static ucFirst(e){return typeof e!="string"?e:e.charAt(0).toUpperCase()+e.substring(1)}static minutesDuration(e,s="",i="long"){s||(s=Ue.getLanguage());const r=(g,A)=>[Math.floor(g/A),g%A];function n(g,A,m){return new Intl.NumberFormat(g,{style:"unit",unit:A,unitDisplay:m}).format}const[o,c]=r(e,60),d=[];return o&&d.push(n(s,"hour",i)(o)),c&&d.push(n(s,"minute",i)(c)),new Intl.ListFormat(s,{style:"long",type:"conjunction"}).format(d)}static js(e){try{return Function("return "+e)()}catch{return""}}};class Oo{constructor(e){this.path=e}toString(){return this.path}}function To(t){return new Proxy(t,{get(e,s){if(s==="path")return e.path;if(s==="toString")return e.toString.bind(e);if(s===Symbol.toStringTag)return"DataProviderKey";if(typeof s=="symbol")return e[s];const i=e.path?`${e.path}.${String(s)}`:String(s);return To(new Oo(i))}})}const Yl=/\$\{|\{\$/;function Zl(t){return Yl.test(t)}function gi(t){const e=typeof t=="string"?t:t.path;if(Zl(e))throw new Error("Static publisher path required for get/set/dp. Use @subscribe, @publish, or @handle for dynamic DataProviderKey paths.");return e}const Cs=function(t){return this instanceof Cs?To(new Oo(t)):new Cs(t)};let ht=class As{static shallowEqual(e,s,i=!0){const r=Object.keys(e),n=Object.keys(s);if(r.length!==n.length&&i)return!1;for(const o of r){const c=e[o],d=s[o];if(i?c!==d:c!=d)return!1}return!0}static deepEqual(e,s,i=!0){const r=Object.keys(e),n=Object.keys(s);if(r.length!==n.length&&i)return!1;for(const o of r){const c=e[o],d=s[o],g=As.isObject(c)&&As.isObject(d),A=i?c!==d:c!=d;if(g&&!As.deepEqual(c,d)||!g&&A)return!1}return!0}static isObject(e){return e!=null&&typeof e=="object"}static isUndefindOrNull(e){return e==null}static isEmpty(e){return As.isUndefindOrNull(e)?!0:Object.keys(e).length===0}static traverse(e,s,i=!1){for(const r of s){const n=e[r];if(n===void 0)return;i&&As.isObject(n)?e=Object.assign(Array.isArray(n)?[]:{},e,n):e=e[r]}return e}static traverseDotNotation(e,s,i=!1){return As.traverse(e,s.split("."),i)}static getURLSearchArray(e,s=""){let i=[];for(let r in e){const n=e[r];s&&(r=s+"["+r+"]"),As.isObject(n)?i=[...i,...this.getURLSearchArray(n,r)]:i.push(`${r}=${n}`)}return i}static getURLSearchString(e){return As.getURLSearchArray(e,"").join("&")}};const Bt=ht.traverseDotNotation;let Jl=class{static async queueTaskPromise(){return new Promise(e=>{window.queueMicrotask(()=>e(null))})}static async delayPromise(e){return new Promise(s=>{setTimeout(s,e)})}},Lo="sonic";typeof __SONIC_PREFIX__<"u"&&(Lo=__SONIC_PREFIX__);let Io=Lo.replace(/-([a-z])/g,t=>t[1].toUpperCase());const bi=Io.charAt(0).toUpperCase()+Io.slice(1),Ql=new Set(["localStorageMode","expirationDelayMs","invalidateOnPageShow"]);function Mo(t){return t==null||typeof t!="object"||Array.isArray(t)?!1:Object.keys(t).some(e=>Ql.has(e))}function vi(t){return Object.prototype.hasOwnProperty.call(t,"__value")}function ks(t){return typeof t=="object"&&t!==null}let dr="sonic";typeof __SONIC_PREFIX__>"u"&&(dr="sonic");const vn=dr=="sonic"?"publisher-proxies-data":dr+"-publisher-proxies-data",qs=class qs{constructor(e,s,i){for(this._proxies_=new Map,this._is_savable_=!1,this._expiration_delay_=1e3*60*60*12,this._invalidate_on_page_show_=!1,this._invalidateListeners_=new Set,this._formInvalidateListeners_=new Set,this._assignListeners_=new Set,this._mutationListeners_=new Set,this._fillListeners_=new Set,this._templateFillListeners_=new Set,this._lockInternalMutationPublishing_=!1,this._instanceCounter_=0,this._assignmentId_=0,this._value_=e,this.parent=s||null,this._parentKey_=i,this.root=this,this._instanceCounter_=0;this.root.parent;)this.root=this.root.parent}delete(){for(const e in this._proxies_.keys())e!="_parent_"&&this._proxies_.get(e)?.delete();this._invalidateListeners_.clear(),this._formInvalidateListeners_.clear(),this._assignListeners_.clear(),this._mutationListeners_.clear(),this._fillListeners_.clear(),this._templateFillListeners_.clear(),this._proxies_.clear(),qs.instances.delete(this._instanceCounter_)}hasListener(){return this._templateFillListeners_.size>0||this._assignListeners_.size>0||this._invalidateListeners_.size>0||this._formInvalidateListeners_.size>0||this._mutationListeners_.size>0||this._fillListeners_.size>0}_publishInternalMutation_(e=!1){if(this._mutationListeners_.forEach(s=>s()),this._is_savable_&&!ve.changed){ve.changed=!0,ve.saveId++;const s=ve.saveId;setTimeout(()=>ve.getInstance().saveToLocalStorage(s),1e3)}e||this.parent&&this.parent._publishInternalMutation_()}async _publishAssignement_(e=!1){if(this._assignmentId_++,this._assignmentId_!==this._assignmentId_)return;const i=this.get();this._assignListeners_.forEach(r=>{r(i)}),this._publishInternalMutation_(e)}_publishInvalidation_(){this._invalidateListeners_.forEach(e=>e())}_publishFormInvalidation_(){this._formInvalidateListeners_.forEach(e=>e())}_publishDynamicFilling_(e,s){this._fillListeners_.forEach(i=>{i[e]!==s&&(i[e]=s)}),this._publishTemplateFilling_(e,s)}_publishTemplateFilling_(e,s){this._templateFillListeners_.forEach(i=>{const r=Object.getOwnPropertyDescriptor(i,e);r&&!r.set&&!r.writable||(i.propertyMap&&i.propertyMap[e]&&(e=i.propertyMap[e]),typeof i[e]<"u"&&i[e]!==s&&(i[e]=s))})}onAssign(e,s=!0){typeof e=="function"&&(this._assignListeners_.has(e)||(this._assignListeners_.add(e),s&&e(this.get())))}offAssign(e){this._assignListeners_.delete(e)}onInvalidate(e){typeof e=="function"&&this._invalidateListeners_.add(e)}offInvalidate(e){typeof e=="function"&&this._invalidateListeners_.delete(e)}invalidate(){this._publishInvalidation_()}onFormInvalidate(e){typeof e=="function"&&this._formInvalidateListeners_.add(e)}offFormInvalidate(e){typeof e=="function"&&this._formInvalidateListeners_.delete(e)}invalidateForm(){this._publishFormInvalidation_()}onInternalMutation(e){typeof e=="function"&&(this._mutationListeners_.add(e),e())}offInternalMutation(e){typeof e=="function"&&this._mutationListeners_.delete(e)}startTemplateFilling(e){if(this._templateFillListeners_.add(e),typeof this._value_=="object")for(const s in this._value_){let i=s;const r=this._value_[s];e.propertyMap&&e.propertyMap[s]&&(i=e.propertyMap[s]),typeof e[s]<"u"&&e[s]!==r&&(e[i]=r)}}stopTemplateFilling(e){this._templateFillListeners_.delete(e)}startDynamicFilling(e){this._fillListeners_.add(e);for(const s in this._value_){const i=this._value_[s];e[s]!==i&&(e[s]=i)}}stopDynamicFilling(e){this._fillListeners_.delete(e)}set(e,s=!1){if(this._value_===e||ks(this._value_)&&ks(e)&&e&&vi(this._value_)&&vi(e)&&this._value_.__value===e.__value||!ks(e)&&e===this._value_.__value)return!0;this._value_=ks(e)?e:{__value:e},this._cachedGet_=void 0;const i=vi(this._value_);if(this._parentKey_&&this.parent){const r=vi(this._value_)?this._value_.__value:this._value_;if(this.parent?.get()==null&&this.parent?.get()==null)if(isNaN(Number(this._parentKey_)))this.parent.set({[this._parentKey_]:r});else{const n=[];n[Number(this._parentKey_)]=r,this.parent.set(n)}else this.parent._value_[this._parentKey_]=r}if(i)return this._proxies_.forEach((r,n)=>{n!="_parent_"&&(r.set(null),this._publishDynamicFilling_(n,null))}),this._publishAssignement_(s),this.parent&&this._parentKey_&&this.parent._publishDynamicFilling_(this._parentKey_,this._value_.__value),!0;for(const r in this._value_)this._value_[r]===void 0&&delete this._value_[r];if(this._proxies_.forEach((r,n)=>{const o=this._value_[n];n!="_parent_"&&o===void 0&&o!==null&&isNaN(Number(n))&&(r.set(null),this._publishDynamicFilling_(n,null))}),this._publishAssignement_(),this.parent&&this._parentKey_&&this.parent._publishDynamicFilling_(this._parentKey_,this._value_),ks(this._value_))for(const r in this._value_){const n=e[r],c=ks(n)?n:{__value:n};if(!this._proxies_.has(r)){this._publishDynamicFilling_(r,n);continue}this._proxies_.get(r)?.set(c,!0),this._publishDynamicFilling_(r,n)}return!0}get(){if(Xl(this),this._cachedGet_!==void 0)return this._cachedGet_;if(Object.prototype.hasOwnProperty.call(this._value_,"__value")){const e=this._value_.__value;return this._cachedGet_=e??null}return this._cachedGet_=this._value_!=null?this._value_:null}get $tag(){return this._instanceCounter_||(qs.instancesCounter++,this._instanceCounter_=qs.instancesCounter),qs.instances.set(this._instanceCounter_,this),"<"+dr+'-publisher-proxy publisher="'+this._instanceCounter_+'"></'+dr+"-publisher-proxy>"}};qs.instances=new Map,qs.instancesCounter=0;let Rr=qs;const yi=[];function Xl(t){yi.length>0&&yi[0].add(t)}function No(){yi.unshift(new Set)}function Fo(){return yi.shift()}const Ie=class Ie{constructor(){if(this.enabledLocaStorageProxies=[],this.publishers=new Map,this.localStorageData={},this.isLocalStrorageReady=null,this.initialisedData=[],Ie.instance!=null)throw"Singleton / use getInstance";Ie.instance=this,this.isLocalStrorageReady=this.cleanStorageData(),Ie.initPageShowHandler()}static initPageShowHandler(){Ie.pageShowHandlerInitialized||(Ie.pageShowHandlerInitialized=!0,window.addEventListener("pageshow",e=>{e.persisted&&Ie.getInstance().invalidateAll()}))}invalidateAll(){this.publishers.forEach(e=>{e._invalidate_on_page_show_&&e.invalidate()})}async cleanStorageData(){return new Promise(e=>{(async()=>{try{let i=localStorage.getItem(vn),r=null;if(i&&(r=await this.decompress(i,"gzip")),r)try{this.localStorageData=JSON.parse(r)}catch{this.localStorageData={}}else i=await this.compress("{}","gzip"),localStorage.setItem(vn,i),this.localStorageData={};const n=1e3*60*60*12;for(const o in this.localStorageData){const c=this.localStorageData[o],d=new Date().getTime()-(c.expirationDelayMs||n);c.lastModifiationMS<d&&delete this.localStorageData[o]}e(!0)}catch{window.requestAnimationFrame(()=>{e(!1)}),console.warn("no publisher cache in this browser")}})()})}static getInstance(e){if(e){const s=Ie.instances.get(e);return s||(console.warn("No PublisherManager instance registered with id:",e,"creating new one"),new Ie)}return Ie.instance==null?new Ie:Ie.instance}static get(e,s){return Ie.getInstance().get(e,s)}async setLocalData(e,s){await this.isLocalStrorageReady,e.set(this.localStorageData[s+"¤lang_"+Ue.getLanguage()]?.data||e.get())}get(e,s){const i=s?.localStorageMode==="enabled",r=s?.invalidateOnPageShow===!0;if(!this.publishers.has(e)){const c=yn({});this.set(e,c)}const n=this.publishers.get(e);return i&&this.initialisedData.indexOf(e)===-1&&(s?.expirationDelayMs&&(n._expiration_delay_=s.expirationDelayMs),n._is_savable_=!0,this.initialisedData.push(e),this.setLocalData(n,e)),r&&(n._invalidate_on_page_show_=r),this.publishers.get(e)}set(e,s){this.publishers.set(e,s)}delete(e){return this.publishers.has(e)?(this.publishers.delete(e),!0):!1}async saveToLocalStorage(e=0){if(!(e!==Ie.saveId&&e%10!=0))try{if(!Ie.changed||Ie.saving)return;Ie.saving=!0,Ie.changed=!1;const s=Array.from(this.publishers.keys());let i=!1;for(const r of s){const n=this.publishers.get(r);if(!n?._is_savable_)continue;const o=n?.get();o&&(this.localStorageData[r+"¤lang_"+Ue.getLanguage()]={lastModifiationMS:new Date().getTime(),expirationDelayMs:n._expiration_delay_,data:o},i=!0)}if(i){const r=await this.compress(JSON.stringify(this.localStorageData),"gzip");localStorage.setItem(vn,r)}if(Ie.saving=!1,Ie.changed){Ie.saveId++;const r=Ie.saveId;setTimeout(()=>this.saveToLocalStorage(r),1e3)}}catch{Ie.saving=!1}}async compress(e,s){const i=new TextEncoder().encode(e),r=window,n=new r.CompressionStream(s),o=n.writable.getWriter();o.write(i),o.close();const c=await new Response(n.readable).arrayBuffer(),d=new Uint8Array(c);let g="";for(let A=0;A<d.length;A++)g+=String.fromCharCode(d[A]);return btoa(g)}async decompress(e,s){const i=atob(e),n=Uint8Array.from(i,A=>A.charCodeAt(0)).buffer,o=window,c=new o.DecompressionStream(s),d=c.writable.getWriter();d.write(n),d.close();const g=await new Response(c.readable).arrayBuffer();return new TextDecoder().decode(g)}};Ie.buildDate="Mon Oct 26 2026 09:58:41 GMT+0100 (Central European Standard Time)",Ie.changed=!1,Ie.saving=!1,Ie.saveId=0,Ie.instance=null,Ie.instances=new Map,Ie.pageShowHandlerInitialized=!1;let ve=Ie;if(typeof window<"u"){const t=window;t[bi+"PublisherManager"]=t[bi+"PublisherManager"]||ve}const ec=new Set(["invalidate","onInvalidate","offInvalidate","invalidateForm","onFormInvalidate","offFormInvalidate","onAssign","offAssign","startDynamicFilling","stopDynamicFilling","startTemplateFilling","stopTemplateFilling","onInternalMutation","offInternalMutation","set","get","$tag","_cachedGet_","_templateFillListeners_","_fillListeners_","_assignListeners_","_invalidateListeners_","_formInvalidateListeners_","_publishInternalMutation_","hasListener","delete","_mutationListeners_","_publishDynamicFilling_","_publishInvalidation_","_publishFormInvalidation_","_publishTemplateFilling_","_publishAssignement_","_proxies_","parent","_parentKey_","_value_","_is_savable_","_expiration_delay_","_lockInternalMutationPublishing_","_instanceCounter_","_assignmentId_","_invalidate_on_page_show_"]);function tc(t,e){return{get:function(s,i){if(typeof i=="string"&&ec.has(i))return t[i];if(i==Symbol.toPrimitive)return()=>e().get();if(!t._proxies_.has(i)){const r=t._value_[i],n=yn(ks(r)?r:{__value:r},t,i);n._proxies_.set("_parent_",e()),t._proxies_.set(i,n)}return t._proxies_.get(i)},set:function(s,i,r){if(i=="_value_")return t._value_=r,!0;if(i=="_cachedGet_")return t._cachedGet_=r,!0;if(i=="_assignmentId_")return t._assignmentId_=r,!0;if(i=="_is_savable_")return t._is_savable_=r,!0;if(i=="_expiration_delay_")return t._expiration_delay_=r,!0;if(i=="_invalidate_on_page_show_")return t._invalidate_on_page_show_=r,!0;if(i=="_instanceCounter_")return t._instanceCounter_=r,!0;if(!t._proxies_.has(i)){const o=yn({},t,i);o._proxies_.set("_parent_",e()),t._proxies_.set(i,o)}return t._value_[i]!==r&&(t._value_[i]=r,t._publishDynamicFilling_(i,r),t._proxies_.get(i)?.set(ks(r)?r:{__value:r})),!0},deleteProperty:function(s,i){return t._publishDynamicFilling_(i,null),t._proxies_.get(i)?.set(null),delete t._value_[i]},has:function(s,i){return i in t._value_&&i!="_lockInternalMutationPublishing_"},defineProperty:function(s,i,r){return r&&"value"in r&&(t._value_[i]=r.value),!0},getOwnPropertyDescriptor:function(s,i){return{enumerable:!0,configurable:!0}},ownKeys:function(s){return t._value_.__value?Object.keys(t._value_.__value):Object.keys(t._value_)}}}function yn(t,e=null,s){const i=new Rr(t,e,s);let r=null;const n=tc(i,()=>r);return r=new Proxy(i,n),r}class sc extends HTMLElement{constructor(){super(),this.publisherId="",this.onAssign=e=>{this.innerHTML=e.toString()}}connectedCallback(){this.publisherId=this.getAttribute("publisher")||"",this.publisher=Rr.instances.get(parseInt(this.publisherId)),this.publisher?.onAssign(this.onAssign)}disconnectedCallback(){this.publisher?.offAssign(this.onAssign)}}try{customElements.define(dr+"-publisher-proxy",sc)}catch{}const wi=(t,e)=>{if(typeof t=="function"){const s=t;return No(),s(),Fo()}if(typeof t=="string"){const s=t.split("."),i=s.shift()||"";let r=ve.get(i,e);r=ht.traverse(r,s);const n=new Set;return n.add(r),n}return new Set([t])};function rc(t){const e=gi(t);return wi(e).values().next().value?.get()}function _i(t,e,s){const i=gi(t);return wi(i,s).values().next().value}function ic(t,e){return Mo(e)?_i(t,void 0,e):_i(t)}function Si(t,e){return Mo(e)?_i(t,void 0,e):_i(t)}function nc(t,e){const s=gi(t);wi(s).values().next().value?.set(e)}let Pi=(Te=class{static disable(){this.enabled&&(this.enabled=!1,Array.from(Te.observedElements.keys()).forEach(e=>Te.unObserve(e)))}static observe(e){if(!e||!Te.enabled||Te.observedElements.has(e))return;const s=new MutationObserver(Te.onMutation),i={};i.childList=!0,i.subtree=!0,i.attributes=!0,i.attributeFilter=["data-bind"],s.observe(e,i),e.querySelectorAll("[data-bind]").forEach(r=>Te.addPublisherListeners(r)),Te.observedElements.set(e,s)}static unObserve(e){if(!e)return;const s=this.observedElements.get(e);s&&(s.disconnect(),e.querySelectorAll("[data-bind]").forEach(i=>Te.removePublisherListeners(i)))}static onAdded(e){e.hasAttribute&&e.hasAttribute("data-bind")&&Te.addPublisherListeners(e),e.querySelectorAll?e.querySelectorAll("[data-bind]").forEach(s=>Te.addPublisherListeners(s)):e.childNodes.forEach(s=>Te.onAdded(s))}static onRemoved(e){e.hasAttribute&&e.hasAttribute("data-bind")&&Te.removePublisherListeners(e),e.querySelectorAll?e.querySelectorAll("[data-bind]").forEach(s=>Te.removePublisherListeners(s)):e.childNodes.forEach(s=>Te.onRemoved(s))}static onMutation(e){for(const s of e)switch(s.type){case"attributes":Te.addPublisherListeners(s.target);break;case"childList":s.addedNodes.forEach(i=>{Te.onAdded(i)}),s.removedNodes.forEach(i=>{Te.onRemoved(i)});break}}static removePublisherListeners(e){const s=Te.publisherListeners.get(e);s&&(Te.publisherListeners.delete(e),s.forEach(i=>{i.publisher?.offAssign(i.onAssign)}))}static getVariablesDescriptor(e){let s=e.match(/(\$(?:\w+\\?\.?)+)/g);return s?s=s.map(i=>i.replace("$","")):s=[e],s=s.filter(i=>i.length>0),{expression:e.replace("\\",""),variables:s.map(i=>i.split(/\b\.\b/).map(r=>r.replace("\\","")))}}static getDataBindItems(e){return"attributes"in e?Array.from(e.attributes).filter(s=>s.name.indexOf("::")==0).map(s=>({propertyToUpdate:s.name.substring(2).replace(/-((html)|\w)/g,r=>r.substring(1).toUpperCase()),bindedVariablesDescriptor:Te.getVariablesDescriptor(s.value)})):[]}static getSubPublisher(e,s){if(!s)return e;for(const i of s)if(i!="_self_"){if(!e)return null;e=e[i]}return e}static addPublisherListeners(e){Te.removePublisherListeners(e);const s=Ue.getAncestorAttributeValue(e.parentNode||e.host||e,"dataProvider");if(!s)return;const i=ve.getInstance().get(s),r=Te.getDataBindItems(e),n=[];r.forEach(o=>{const c=o.bindedVariablesDescriptor,d=o.propertyToUpdate;for(const g of c.variables){const A=g;let m=i;m=Te.getSubPublisher(i,A);const f=e,C={publisher:m,onAssign:()=>{const E=c.variables.map(B=>Te.getSubPublisher(i,B)?.get());let O=c.expression,U=!1;if(E.length==1&&c.variables[0].join(".")==O.substring(1)){let B=E[0];B===null&&(B=""),f[d]=B;return}for(let B=0;B<E.length;B++){let S=E[B];const y=c.variables[B];S===null&&(U=!0,S=void 0),O=O.replace("$"+y.join("."),S)}if(O.indexOf("|")!=-1){const B=O.indexOf("|");if(B==0)O=Fr.js(O.substring(1));else{const S=O.substring(0,B),y=O.substring(B+1),M=Fr[S];O=U?"":M?M(y):O}}else O=U?"":O;f[d]=O}};m?.onAssign(C.onAssign),n.push(C)}}),Te.publisherListeners.set(e,n)}},Te.observedElements=new Map,Te.enabled=!0,Te.publisherListeners=new Map,Te);Pi.observe(document.documentElement),window.SonicDataBindObserver||(window.SonicDataBindObserver=Pi);/**
2
2
  * @license
3
3
  * Copyright 2017 Google LLC
4
4
  * SPDX-License-Identifier: BSD-3-Clause
@@ -770,7 +770,7 @@ const Ie = class Ie {
770
770
  return new TextDecoder().decode(g);
771
771
  }
772
772
  };
773
- Ie.buildDate = "Mon Oct 26 2026 09:56:50 GMT+0100 (Central European Standard Time)", Ie.changed = !1, Ie.saving = !1, Ie.saveId = 0, Ie.instance = null, Ie.instances = /* @__PURE__ */ new Map(), Ie.pageShowHandlerInitialized = !1;
773
+ Ie.buildDate = "Mon Oct 26 2026 09:58:41 GMT+0100 (Central European Standard Time)", Ie.changed = !1, Ie.saving = !1, Ie.saveId = 0, Ie.instance = null, Ie.instances = /* @__PURE__ */ new Map(), Ie.pageShowHandlerInitialized = !1;
774
774
  let we = Ie;
775
775
  if (typeof window < "u") {
776
776
  const t = window;
package/docs/.htaccess ADDED
@@ -0,0 +1,75 @@
1
+ # Concorde docs — pathname SPA + agent Markdown/HTML
2
+ # Public paths match on-disk docs/… ; components collapse …/name → …/name/name.(md|html)
3
+ # See https://acceptmarkdown.com/recipes/apache (Option A, pragmatic)
4
+
5
+ DirectoryIndex index.html
6
+ # Component folders exist on disk (…/button/button.md); do not force a trailing
7
+ # slash on the pretty URL /…/button (that would break SPA + Accept negotiation).
8
+ DirectorySlash Off
9
+
10
+ RewriteEngine On
11
+
12
+ # Pretty component URLs: drop a trailing slash if the client added one
13
+ RewriteRule ^(core/components/.+)/$ /$1 [R=301,L]
14
+
15
+ # Homepage: Accept: text/markdown → index.md
16
+ RewriteCond %{HTTP:Accept} "text/markdown" [NC]
17
+ RewriteCond %{HTTP:Accept} !"text/markdown\s*;\s*q\s*=\s*0(\.0+)?(\s*,|$)" [NC]
18
+ RewriteRule ^/?$ index.md [END]
19
+
20
+ # --- Components: /…/button(.md|.html) → /…/button/button.(md|html) ---
21
+ RewriteCond %{DOCUMENT_ROOT}/$1/$2/$2.md -f
22
+ RewriteRule ^(core/components/.+)/([^/]+)\.md$ /$1/$2/$2.md [END]
23
+ RewriteCond %{DOCUMENT_ROOT}/$1/$2/$2.html -f
24
+ RewriteRule ^(core/components/.+)/([^/]+)\.html$ /$1/$2/$2.html [END]
25
+
26
+ # --- Accept: text/markdown → sibling .md (docs paths are 1:1; components collapse) ---
27
+ RewriteCond %{REQUEST_URI} !\.(mdx?|html)$ [NC]
28
+ RewriteCond %{HTTP:Accept} "text/markdown" [NC]
29
+ RewriteCond %{HTTP:Accept} !"text/markdown\s*;\s*q\s*=\s*0(\.0+)?(\s*,|$)" [NC]
30
+ RewriteCond %{DOCUMENT_ROOT}/$1/$2/$2.md -f
31
+ RewriteRule ^(core/components/.+)/([^/]+)$ /$1/$2/$2.md [END]
32
+
33
+ RewriteCond %{REQUEST_URI} !\.(mdx?|html)$ [NC]
34
+ RewriteCond %{HTTP:Accept} "text/markdown" [NC]
35
+ RewriteCond %{HTTP:Accept} !"text/markdown\s*;\s*q\s*=\s*0(\.0+)?(\s*,|$)" [NC]
36
+ RewriteCond %{DOCUMENT_ROOT}/$1.md -f
37
+ RewriteRule ^((?:docs|core)/.+)$ /$1.md [END]
38
+
39
+ # --- Known crawlers → static HTML ---
40
+ RewriteCond %{REQUEST_URI} !\.(mdx?|html)$ [NC]
41
+ RewriteCond %{HTTP_USER_AGENT} (bot|crawler|spider|slurp|GPTBot|Claude|anthropic|Bytespider|Applebot|bingbot|Googlebot|DuckDuckBot|YandexBot|Baiduspider|facebookexternalhit|LinkedInBot|Twitterbot|SemrushBot|AhrefsBot|PetalBot|CCBot|meta-externalagent|OAI-SearchBot|Perplexity|Diffbot|ia_archiver) [NC]
42
+ RewriteCond %{DOCUMENT_ROOT}/$1/$2/$2.html -f
43
+ RewriteRule ^(core/components/.+)/([^/]+)$ /$1/$2/$2.html [END]
44
+
45
+ RewriteCond %{REQUEST_URI} !\.(mdx?|html)$ [NC]
46
+ RewriteCond %{HTTP_USER_AGENT} (bot|crawler|spider|slurp|GPTBot|Claude|anthropic|Bytespider|Applebot|bingbot|Googlebot|DuckDuckBot|YandexBot|Baiduspider|facebookexternalhit|LinkedInBot|Twitterbot|SemrushBot|AhrefsBot|PetalBot|CCBot|meta-externalagent|OAI-SearchBot|Perplexity|Diffbot|ia_archiver) [NC]
47
+ RewriteCond %{DOCUMENT_ROOT}/$1.html -f
48
+ RewriteRule ^((?:docs|core)/.+)$ /$1.html [END]
49
+
50
+ # Hubs are static files only
51
+ RewriteCond %{DOCUMENT_ROOT}/hubs/$1.html -f
52
+ RewriteRule ^hubs/([^/]+)/?$ /hubs/$1.html [END]
53
+
54
+ # SPA pushState (allow when path matches an on-disk dir such as …/button/)
55
+ RewriteCond %{REQUEST_FILENAME} !-f
56
+ RewriteRule ^(?:docs|core)/ index.html [END]
57
+
58
+ RewriteCond %{REQUEST_FILENAME} !-f
59
+ RewriteCond %{HTTP:Accept} "text/markdown" [NC]
60
+ RewriteCond %{HTTP:Accept} !"text/markdown\s*;\s*q\s*=\s*0(\.0+)?(\s*,|$)" [NC]
61
+ RewriteRule ^ - [R=404,L]
62
+
63
+ ErrorDocument 404 /404.md
64
+
65
+ <IfModule mod_headers.c>
66
+ Header merge Vary Accept
67
+ </IfModule>
68
+
69
+ <FilesMatch "\.md$">
70
+ ForceType text/markdown
71
+ <IfModule mod_headers.c>
72
+ Header set Content-Type "text/markdown; charset=utf-8"
73
+ Header merge Vary Accept
74
+ </IfModule>
75
+ </FilesMatch>
package/docs/404.html ADDED
@@ -0,0 +1,15 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Page not found — Concorde by Supersoniks</title>
7
+ <meta name="robots" content="noindex">
8
+ <link rel="canonical" href="https://concorde.supersoniks.org/">
9
+ </head>
10
+ <body>
11
+ <h1>Page not found</h1>
12
+ <p>The requested URL does not exist on the Concorde documentation site (Concorde by Supersoniks).</p>
13
+ <p>Try the <a href="https://concorde.supersoniks.org/">homepage</a>, the <a href="https://concorde.supersoniks.org/docs/index.html">documentation index</a>, <a href="https://concorde.supersoniks.org/llms.txt">llms.txt</a>, or the <a href="https://concorde.supersoniks.org/sitemap.xml">sitemap</a>.</p>
14
+ </body>
15
+ </html>
package/docs/404.md ADDED
@@ -0,0 +1,5 @@
1
+ # Page not found
2
+
3
+ The requested URL does not exist on the Concorde documentation site (Concorde by Supersoniks).
4
+
5
+ Try the [homepage](https://concorde.supersoniks.org/), the [documentation index](https://concorde.supersoniks.org/docs/index.html), [llms.txt](https://concorde.supersoniks.org/llms.txt), or the [sitemap](https://concorde.supersoniks.org/sitemap.xml).