@sentropic/h2a 0.85.24 → 0.86.0

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 (287) hide show
  1. package/.claude-plugin/plugin.json +2 -3
  2. package/.codex-plugin/plugin.json +1 -1
  3. package/dist/bin.js +51 -2
  4. package/dist/bin.js.map +1 -1
  5. package/dist/cli-command-map.d.ts +119 -0
  6. package/dist/cli-command-map.d.ts.map +1 -0
  7. package/dist/cli-command-map.js +396 -0
  8. package/dist/cli-command-map.js.map +1 -0
  9. package/dist/cli-contract.d.ts.map +1 -1
  10. package/dist/cli-contract.js +38 -0
  11. package/dist/cli-contract.js.map +1 -1
  12. package/dist/cli.d.ts +25 -1
  13. package/dist/cli.d.ts.map +1 -1
  14. package/dist/cli.js +356 -7
  15. package/dist/cli.js.map +1 -1
  16. package/dist/identity.d.ts +37 -3
  17. package/dist/identity.d.ts.map +1 -1
  18. package/dist/identity.js +0 -0
  19. package/dist/identity.js.map +1 -1
  20. package/dist/index.d.ts +7 -2
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +9 -2
  23. package/dist/index.js.map +1 -1
  24. package/dist/runtime/enrollment/ceremony.d.ts +542 -0
  25. package/dist/runtime/enrollment/ceremony.d.ts.map +1 -0
  26. package/dist/runtime/enrollment/ceremony.js +777 -0
  27. package/dist/runtime/enrollment/ceremony.js.map +1 -0
  28. package/dist/runtime/enrollment/index.d.ts +16 -0
  29. package/dist/runtime/enrollment/index.d.ts.map +1 -0
  30. package/dist/runtime/enrollment/index.js +16 -0
  31. package/dist/runtime/enrollment/index.js.map +1 -0
  32. package/dist/runtime/feed/descriptors.d.ts +261 -0
  33. package/dist/runtime/feed/descriptors.d.ts.map +1 -0
  34. package/dist/runtime/feed/descriptors.js +425 -0
  35. package/dist/runtime/feed/descriptors.js.map +1 -0
  36. package/dist/runtime/feed/index.d.ts +12 -0
  37. package/dist/runtime/feed/index.d.ts.map +1 -0
  38. package/dist/runtime/feed/index.js +12 -0
  39. package/dist/runtime/feed/index.js.map +1 -0
  40. package/dist/runtime/identity/index.d.ts +3 -3
  41. package/dist/runtime/identity/index.d.ts.map +1 -1
  42. package/dist/runtime/identity/index.js +2 -2
  43. package/dist/runtime/identity/index.js.map +1 -1
  44. package/dist/runtime/identity/live.d.ts +68 -0
  45. package/dist/runtime/identity/live.d.ts.map +1 -1
  46. package/dist/runtime/identity/live.js +78 -2
  47. package/dist/runtime/identity/live.js.map +1 -1
  48. package/dist/runtime/identity/readers.d.ts +89 -5
  49. package/dist/runtime/identity/readers.d.ts.map +1 -1
  50. package/dist/runtime/identity/readers.js +242 -33
  51. package/dist/runtime/identity/readers.js.map +1 -1
  52. package/dist/runtime/local-files/presence.d.ts +16 -1
  53. package/dist/runtime/local-files/presence.d.ts.map +1 -1
  54. package/dist/runtime/local-files/presence.js +32 -20
  55. package/dist/runtime/local-files/presence.js.map +1 -1
  56. package/dist/runtime/loop/index.d.ts +5 -0
  57. package/dist/runtime/loop/index.d.ts.map +1 -1
  58. package/dist/runtime/loop/index.js +48 -5
  59. package/dist/runtime/loop/index.js.map +1 -1
  60. package/dist/runtime/mcp/agent-launch.d.ts +15 -1
  61. package/dist/runtime/mcp/agent-launch.d.ts.map +1 -1
  62. package/dist/runtime/mcp/agent-launch.js +45 -4
  63. package/dist/runtime/mcp/agent-launch.js.map +1 -1
  64. package/dist/runtime/mcp/index.d.ts +1 -1
  65. package/dist/runtime/mcp/index.d.ts.map +1 -1
  66. package/dist/runtime/mcp/index.js +1 -1
  67. package/dist/runtime/mcp/index.js.map +1 -1
  68. package/dist/runtime/mcp/server.d.ts +3 -1
  69. package/dist/runtime/mcp/server.d.ts.map +1 -1
  70. package/dist/runtime/mcp/server.js +7 -2
  71. package/dist/runtime/mcp/server.js.map +1 -1
  72. package/dist/runtime/mcp/sessions.d.ts +19 -0
  73. package/dist/runtime/mcp/sessions.d.ts.map +1 -1
  74. package/dist/runtime/mcp/sessions.js +44 -2
  75. package/dist/runtime/mcp/sessions.js.map +1 -1
  76. package/dist/runtime/mcp/stdio.d.ts +8 -0
  77. package/dist/runtime/mcp/stdio.d.ts.map +1 -1
  78. package/dist/runtime/mcp/stdio.js +42 -0
  79. package/dist/runtime/mcp/stdio.js.map +1 -1
  80. package/dist/runtime/mcp-registry/broker.d.ts +175 -0
  81. package/dist/runtime/mcp-registry/broker.d.ts.map +1 -0
  82. package/dist/runtime/mcp-registry/broker.js +203 -0
  83. package/dist/runtime/mcp-registry/broker.js.map +1 -0
  84. package/dist/runtime/mcp-registry/broker.typecheck.d.ts +2 -0
  85. package/dist/runtime/mcp-registry/broker.typecheck.d.ts.map +1 -0
  86. package/dist/runtime/mcp-registry/broker.typecheck.js +48 -0
  87. package/dist/runtime/mcp-registry/broker.typecheck.js.map +1 -0
  88. package/dist/runtime/mirror/accept.d.ts +43 -5
  89. package/dist/runtime/mirror/accept.d.ts.map +1 -1
  90. package/dist/runtime/mirror/accept.js +55 -7
  91. package/dist/runtime/mirror/accept.js.map +1 -1
  92. package/dist/runtime/mirror/build.d.ts +23 -4
  93. package/dist/runtime/mirror/build.d.ts.map +1 -1
  94. package/dist/runtime/mirror/build.js +34 -4
  95. package/dist/runtime/mirror/build.js.map +1 -1
  96. package/dist/runtime/mirror/index.d.ts +3 -0
  97. package/dist/runtime/mirror/index.d.ts.map +1 -1
  98. package/dist/runtime/mirror/index.js +3 -0
  99. package/dist/runtime/mirror/index.js.map +1 -1
  100. package/dist/runtime/mirror/ingest.d.ts +109 -0
  101. package/dist/runtime/mirror/ingest.d.ts.map +1 -0
  102. package/dist/runtime/mirror/ingest.js +117 -0
  103. package/dist/runtime/mirror/ingest.js.map +1 -0
  104. package/dist/runtime/mirror/push-daemon.d.ts +376 -0
  105. package/dist/runtime/mirror/push-daemon.d.ts.map +1 -0
  106. package/dist/runtime/mirror/push-daemon.js +644 -0
  107. package/dist/runtime/mirror/push-daemon.js.map +1 -0
  108. package/dist/runtime/mirror/sanitize.d.ts +477 -0
  109. package/dist/runtime/mirror/sanitize.d.ts.map +1 -0
  110. package/dist/runtime/mirror/sanitize.js +625 -0
  111. package/dist/runtime/mirror/sanitize.js.map +1 -0
  112. package/dist/runtime/mirror/serve.d.ts.map +1 -1
  113. package/dist/runtime/mirror/serve.js +104 -24
  114. package/dist/runtime/mirror/serve.js.map +1 -1
  115. package/dist/runtime/reporting/report-ai.d.ts.map +1 -1
  116. package/dist/runtime/reporting/report-ai.js +1 -0
  117. package/dist/runtime/reporting/report-ai.js.map +1 -1
  118. package/dist/runtime/reporting/stdin.d.ts +2 -0
  119. package/dist/runtime/reporting/stdin.d.ts.map +1 -0
  120. package/dist/runtime/reporting/stdin.js +8 -0
  121. package/dist/runtime/reporting/stdin.js.map +1 -0
  122. package/dist/status-surface.d.ts +167 -0
  123. package/dist/status-surface.d.ts.map +1 -0
  124. package/dist/status-surface.js +670 -0
  125. package/dist/status-surface.js.map +1 -0
  126. package/dist/types.d.ts +17 -0
  127. package/dist/types.d.ts.map +1 -1
  128. package/dist/types.js +3 -0
  129. package/dist/types.js.map +1 -1
  130. package/focus-app/client/_app/immutable/assets/{0.BdzHFb9q.css → 0.CgEVz9YW.css} +1 -1
  131. package/focus-app/client/_app/immutable/assets/0.CgEVz9YW.css.br +0 -0
  132. package/focus-app/client/_app/immutable/assets/0.CgEVz9YW.css.gz +0 -0
  133. package/focus-app/client/_app/immutable/assets/2.DaTmt6o7.css +1 -0
  134. package/focus-app/client/_app/immutable/assets/2.DaTmt6o7.css.br +0 -0
  135. package/focus-app/client/_app/immutable/assets/2.DaTmt6o7.css.gz +0 -0
  136. package/focus-app/client/_app/immutable/assets/3.vWQUAHjz.css +1 -0
  137. package/focus-app/client/_app/immutable/assets/3.vWQUAHjz.css.br +0 -0
  138. package/focus-app/client/_app/immutable/assets/3.vWQUAHjz.css.gz +0 -0
  139. package/focus-app/client/_app/immutable/assets/AppShell.CDPwj3zU.css +1 -0
  140. package/focus-app/client/_app/immutable/assets/AppShell.CDPwj3zU.css.br +0 -0
  141. package/focus-app/client/_app/immutable/assets/AppShell.CDPwj3zU.css.gz +0 -0
  142. package/focus-app/client/_app/immutable/chunks/{Cj6wo28J.js → 1NK_OeRJ.js} +1 -1
  143. package/focus-app/client/_app/immutable/chunks/1NK_OeRJ.js.br +0 -0
  144. package/focus-app/client/_app/immutable/chunks/1NK_OeRJ.js.gz +0 -0
  145. package/focus-app/client/_app/immutable/chunks/{Bs3f1UbD.js → B1veta3r.js} +2 -2
  146. package/focus-app/client/_app/immutable/chunks/B1veta3r.js.br +0 -0
  147. package/focus-app/client/_app/immutable/chunks/B1veta3r.js.gz +0 -0
  148. package/focus-app/client/_app/immutable/chunks/{DEmooz0s.js → BZ4lcC0v.js} +1 -1
  149. package/focus-app/client/_app/immutable/chunks/BZ4lcC0v.js.br +0 -0
  150. package/focus-app/client/_app/immutable/chunks/BZ4lcC0v.js.gz +0 -0
  151. package/focus-app/client/_app/immutable/chunks/Bu7F9NOv.js +2 -0
  152. package/focus-app/client/_app/immutable/chunks/Bu7F9NOv.js.br +0 -0
  153. package/focus-app/client/_app/immutable/chunks/Bu7F9NOv.js.gz +0 -0
  154. package/focus-app/client/_app/immutable/chunks/C6KhNEX3.js +1 -0
  155. package/focus-app/client/_app/immutable/chunks/C6KhNEX3.js.br +0 -0
  156. package/focus-app/client/_app/immutable/chunks/C6KhNEX3.js.gz +0 -0
  157. package/focus-app/client/_app/immutable/chunks/DIljKPJN.js +1 -0
  158. package/focus-app/client/_app/immutable/chunks/DIljKPJN.js.br +0 -0
  159. package/focus-app/client/_app/immutable/chunks/DIljKPJN.js.gz +0 -0
  160. package/focus-app/client/_app/immutable/chunks/iXQate3J.js +2 -0
  161. package/focus-app/client/_app/immutable/chunks/iXQate3J.js.br +0 -0
  162. package/focus-app/client/_app/immutable/chunks/iXQate3J.js.gz +0 -0
  163. package/focus-app/client/_app/immutable/chunks/{ZxFklh9T.js → kCE9wz0g.js} +1 -1
  164. package/focus-app/client/_app/immutable/chunks/kCE9wz0g.js.br +0 -0
  165. package/focus-app/client/_app/immutable/chunks/kCE9wz0g.js.gz +0 -0
  166. package/focus-app/client/_app/immutable/chunks/x-hq5fDG.js +1 -0
  167. package/focus-app/client/_app/immutable/chunks/x-hq5fDG.js.br +0 -0
  168. package/focus-app/client/_app/immutable/chunks/x-hq5fDG.js.gz +0 -0
  169. package/focus-app/client/_app/immutable/entry/app.C1sDdCg5.js +2 -0
  170. package/focus-app/client/_app/immutable/entry/app.C1sDdCg5.js.br +0 -0
  171. package/focus-app/client/_app/immutable/entry/app.C1sDdCg5.js.gz +0 -0
  172. package/focus-app/client/_app/immutable/entry/start.X3j_A5RN.js +1 -0
  173. package/focus-app/client/_app/immutable/entry/start.X3j_A5RN.js.br +2 -0
  174. package/focus-app/client/_app/immutable/entry/start.X3j_A5RN.js.gz +0 -0
  175. package/focus-app/client/_app/immutable/nodes/0.gLl44WzG.js +5 -0
  176. package/focus-app/client/_app/immutable/nodes/0.gLl44WzG.js.br +0 -0
  177. package/focus-app/client/_app/immutable/nodes/0.gLl44WzG.js.gz +0 -0
  178. package/focus-app/client/_app/immutable/nodes/1.DUrghq2x.js +1 -0
  179. package/focus-app/client/_app/immutable/nodes/1.DUrghq2x.js.br +0 -0
  180. package/focus-app/client/_app/immutable/nodes/1.DUrghq2x.js.gz +0 -0
  181. package/focus-app/client/_app/immutable/nodes/2.Bp7JE7Pz.js +1 -0
  182. package/focus-app/client/_app/immutable/nodes/2.Bp7JE7Pz.js.br +0 -0
  183. package/focus-app/client/_app/immutable/nodes/2.Bp7JE7Pz.js.gz +0 -0
  184. package/focus-app/client/_app/immutable/nodes/3.Cml8enOG.js +12 -0
  185. package/focus-app/client/_app/immutable/nodes/3.Cml8enOG.js.br +0 -0
  186. package/focus-app/client/_app/immutable/nodes/3.Cml8enOG.js.gz +0 -0
  187. package/focus-app/client/_app/version.json +1 -1
  188. package/focus-app/client/_app/version.json.br +0 -0
  189. package/focus-app/client/_app/version.json.gz +0 -0
  190. package/focus-app/h2a-focus.json +108 -80
  191. package/focus-app/handler.js +7 -7
  192. package/focus-app/index.js +7 -7
  193. package/focus-app/server/chunks/chunks/AppShell.js-6Pi87dO0.js +1353 -0
  194. package/focus-app/server/chunks/chunks/AppShell.js-6Pi87dO0.js.map +1 -0
  195. package/focus-app/server/chunks/chunks/agent-memory-dossier.js-nmFG_rgx.js +1036 -0
  196. package/focus-app/server/chunks/chunks/agent-memory-dossier.js-nmFG_rgx.js.map +1 -0
  197. package/focus-app/server/chunks/chunks/{exports.js-DUTkELZq.js → exports.js-CdqPbjm1.js} +3 -3
  198. package/focus-app/server/chunks/chunks/{exports.js-DUTkELZq.js.map → exports.js-CdqPbjm1.js.map} +1 -1
  199. package/focus-app/server/chunks/chunks/h2a-bus.js-bLEJ_Adi.js +233 -0
  200. package/focus-app/server/chunks/chunks/h2a-bus.js-bLEJ_Adi.js.map +1 -0
  201. package/focus-app/server/chunks/chunks/{index.js-Di21TltP.js → index.js-laGHLarB.js} +5 -2
  202. package/focus-app/server/chunks/chunks/index.js-laGHLarB.js.map +1 -0
  203. package/focus-app/server/chunks/chunks/{internal.js-33vbd70h.js → internal.js-C6T8nHkl.js} +4 -4
  204. package/focus-app/server/chunks/chunks/{internal.js-33vbd70h.js.map → internal.js-C6T8nHkl.js.map} +1 -1
  205. package/focus-app/server/chunks/chunks/{root.js-DO1m-gJA.js → root.js-CtVQOgDw.js} +2 -2
  206. package/focus-app/server/chunks/chunks/{root.js-DO1m-gJA.js.map → root.js-CtVQOgDw.js.map} +1 -1
  207. package/focus-app/server/chunks/entries/endpoints/api/decisions/inject/{_server.ts.js-j0NNcOSZ.js → _server.ts.js-hrbMnsV0.js} +13 -42
  208. package/focus-app/server/chunks/entries/endpoints/api/decisions/inject/_server.ts.js-hrbMnsV0.js.map +1 -0
  209. package/focus-app/server/chunks/entries/endpoints/api/dossiers/agent-memory/include/_server.ts.js-Dw4odGdV.js +138 -0
  210. package/focus-app/server/chunks/entries/endpoints/api/dossiers/agent-memory/include/_server.ts.js-Dw4odGdV.js.map +1 -0
  211. package/focus-app/server/chunks/entries/endpoints/api/h2a/targets/_server.ts.js-BLjYv7vg.js +41 -0
  212. package/focus-app/server/chunks/entries/endpoints/api/h2a/targets/_server.ts.js-BLjYv7vg.js.map +1 -0
  213. package/focus-app/server/chunks/entries/fallbacks/{error.svelte.js-Dj3sETSX.js → error.svelte.js-RbeaNF5a.js} +4 -4
  214. package/focus-app/server/chunks/entries/fallbacks/{error.svelte.js-Dj3sETSX.js.map → error.svelte.js-RbeaNF5a.js.map} +1 -1
  215. package/focus-app/server/chunks/entries/pages/{_layout.svelte.js-BoLsbuC2.js → _layout.svelte.js-e1E_I04z.js} +2 -2
  216. package/focus-app/server/chunks/entries/pages/{_layout.svelte.js-BoLsbuC2.js.map → _layout.svelte.js-e1E_I04z.js.map} +1 -1
  217. package/focus-app/server/chunks/entries/pages/{_page.svelte.js-QDldMYhk.js → _page.svelte.js-DbaEG23x.js} +31 -1373
  218. package/focus-app/server/chunks/entries/pages/_page.svelte.js-DbaEG23x.js.map +1 -0
  219. package/focus-app/server/chunks/entries/pages/dossier/agent-memory/_page.server.ts.js-CFC-wn6U.js +88 -0
  220. package/focus-app/server/chunks/entries/pages/dossier/agent-memory/_page.server.ts.js-CFC-wn6U.js.map +1 -0
  221. package/focus-app/server/chunks/entries/pages/dossier/agent-memory/_page.svelte.js-BpR26NMa.js +1574 -0
  222. package/focus-app/server/chunks/entries/pages/dossier/agent-memory/_page.svelte.js-BpR26NMa.js.map +1 -0
  223. package/focus-app/server/chunks/{handler-Cp_5hLyY.js → handler-Be3dyNi0.js} +3 -3
  224. package/focus-app/server/chunks/{handler-Cp_5hLyY.js.map → handler-Be3dyNi0.js.map} +1 -1
  225. package/focus-app/server/chunks/{index.js-CBh7Wjqp.js → index.js-siUxMMnK.js} +3 -3
  226. package/focus-app/server/chunks/{index.js-CBh7Wjqp.js.map → index.js-siUxMMnK.js.map} +1 -1
  227. package/focus-app/server/chunks/manifest.js-CXJqSHHn.js +78 -0
  228. package/focus-app/server/chunks/manifest.js-CXJqSHHn.js.map +1 -0
  229. package/focus-app/server/chunks/nodes/0.js-leU6sfRR.js +9 -0
  230. package/focus-app/server/chunks/nodes/{0.js-4wlmdsk8.js.map → 0.js-leU6sfRR.js.map} +1 -1
  231. package/focus-app/server/chunks/nodes/1.js-os6QXm6B.js +9 -0
  232. package/focus-app/server/chunks/nodes/{1.js-B-LpY-lC.js.map → 1.js-os6QXm6B.js.map} +1 -1
  233. package/focus-app/server/chunks/nodes/2.js-DAaLjh93.js +19 -0
  234. package/focus-app/server/chunks/nodes/2.js-DAaLjh93.js.map +1 -0
  235. package/focus-app/server/chunks/nodes/3.js-Cmgi6Uy0.js +18 -0
  236. package/focus-app/server/chunks/nodes/3.js-Cmgi6Uy0.js.map +1 -0
  237. package/package.json +2 -2
  238. package/skills/h2a-run/SKILL.md +100 -0
  239. package/focus-app/client/_app/immutable/assets/0.BdzHFb9q.css.br +0 -2
  240. package/focus-app/client/_app/immutable/assets/0.BdzHFb9q.css.gz +0 -0
  241. package/focus-app/client/_app/immutable/assets/2.Ddxq02y4.css +0 -1
  242. package/focus-app/client/_app/immutable/assets/2.Ddxq02y4.css.br +0 -0
  243. package/focus-app/client/_app/immutable/assets/2.Ddxq02y4.css.gz +0 -0
  244. package/focus-app/client/_app/immutable/chunks/Bs3f1UbD.js.br +0 -0
  245. package/focus-app/client/_app/immutable/chunks/Bs3f1UbD.js.gz +0 -0
  246. package/focus-app/client/_app/immutable/chunks/Bv8OL8ib.js +0 -1
  247. package/focus-app/client/_app/immutable/chunks/Bv8OL8ib.js.br +0 -0
  248. package/focus-app/client/_app/immutable/chunks/Bv8OL8ib.js.gz +0 -0
  249. package/focus-app/client/_app/immutable/chunks/CVq_IFFr.js +0 -2
  250. package/focus-app/client/_app/immutable/chunks/CVq_IFFr.js.br +0 -0
  251. package/focus-app/client/_app/immutable/chunks/CVq_IFFr.js.gz +0 -0
  252. package/focus-app/client/_app/immutable/chunks/Cj6wo28J.js.br +0 -0
  253. package/focus-app/client/_app/immutable/chunks/Cj6wo28J.js.gz +0 -0
  254. package/focus-app/client/_app/immutable/chunks/DEmooz0s.js.br +0 -0
  255. package/focus-app/client/_app/immutable/chunks/DEmooz0s.js.gz +0 -0
  256. package/focus-app/client/_app/immutable/chunks/DQIRXgdC.js +0 -2
  257. package/focus-app/client/_app/immutable/chunks/DQIRXgdC.js.br +0 -0
  258. package/focus-app/client/_app/immutable/chunks/DQIRXgdC.js.gz +0 -0
  259. package/focus-app/client/_app/immutable/chunks/ZxFklh9T.js.br +0 -0
  260. package/focus-app/client/_app/immutable/chunks/ZxFklh9T.js.gz +0 -0
  261. package/focus-app/client/_app/immutable/chunks/_wRuVGPs.js +0 -1
  262. package/focus-app/client/_app/immutable/chunks/_wRuVGPs.js.br +0 -0
  263. package/focus-app/client/_app/immutable/chunks/_wRuVGPs.js.gz +0 -0
  264. package/focus-app/client/_app/immutable/entry/app.6DKouWRt.js +0 -2
  265. package/focus-app/client/_app/immutable/entry/app.6DKouWRt.js.br +0 -0
  266. package/focus-app/client/_app/immutable/entry/app.6DKouWRt.js.gz +0 -0
  267. package/focus-app/client/_app/immutable/entry/start.DlLmkUb7.js +0 -1
  268. package/focus-app/client/_app/immutable/entry/start.DlLmkUb7.js.br +0 -2
  269. package/focus-app/client/_app/immutable/entry/start.DlLmkUb7.js.gz +0 -0
  270. package/focus-app/client/_app/immutable/nodes/0.CuSOF0Of.js +0 -5
  271. package/focus-app/client/_app/immutable/nodes/0.CuSOF0Of.js.br +0 -0
  272. package/focus-app/client/_app/immutable/nodes/0.CuSOF0Of.js.gz +0 -0
  273. package/focus-app/client/_app/immutable/nodes/1.D39jdnqm.js +0 -1
  274. package/focus-app/client/_app/immutable/nodes/1.D39jdnqm.js.br +0 -0
  275. package/focus-app/client/_app/immutable/nodes/1.D39jdnqm.js.gz +0 -0
  276. package/focus-app/client/_app/immutable/nodes/2.CnU8ifRl.js +0 -1
  277. package/focus-app/client/_app/immutable/nodes/2.CnU8ifRl.js.br +0 -0
  278. package/focus-app/client/_app/immutable/nodes/2.CnU8ifRl.js.gz +0 -0
  279. package/focus-app/server/chunks/chunks/index.js-Di21TltP.js.map +0 -1
  280. package/focus-app/server/chunks/entries/endpoints/api/decisions/inject/_server.ts.js-j0NNcOSZ.js.map +0 -1
  281. package/focus-app/server/chunks/entries/pages/_page.svelte.js-QDldMYhk.js.map +0 -1
  282. package/focus-app/server/chunks/manifest.js-Cm6cC7mC.js +0 -56
  283. package/focus-app/server/chunks/manifest.js-Cm6cC7mC.js.map +0 -1
  284. package/focus-app/server/chunks/nodes/0.js-4wlmdsk8.js +0 -9
  285. package/focus-app/server/chunks/nodes/1.js-B-LpY-lC.js +0 -9
  286. package/focus-app/server/chunks/nodes/2.js-F6jp5eD9.js +0 -19
  287. package/focus-app/server/chunks/nodes/2.js-F6jp5eD9.js.map +0 -1
@@ -0,0 +1,1353 @@
1
+ import { a6 as attr_class, a7 as clsx, a3 as attr, Z as derived, a8 as attributes, a4 as escape_html, a9 as ensure_array_like, aa as bind_props, ab as spread_props, ac as element } from './index.js-laGHLarB.js';
2
+
3
+ const defaultAttributes = {
4
+ xmlns: "http://www.w3.org/2000/svg",
5
+ width: 24,
6
+ height: 24,
7
+ viewBox: "0 0 24 24",
8
+ fill: "none",
9
+ stroke: "currentColor",
10
+ "stroke-width": 2,
11
+ "stroke-linecap": "round",
12
+ "stroke-linejoin": "round"
13
+ };
14
+ function Icon($$renderer, $$props) {
15
+ $$renderer.component(($$renderer2) => {
16
+ const {
17
+ name,
18
+ color = "currentColor",
19
+ size = 24,
20
+ strokeWidth = 2,
21
+ absoluteStrokeWidth = false,
22
+ iconNode = [],
23
+ children,
24
+ $$slots,
25
+ $$events,
26
+ ...props
27
+ } = $$props;
28
+ $$renderer2.push(`<svg${attributes(
29
+ {
30
+ ...defaultAttributes,
31
+ ...props,
32
+ width: size,
33
+ height: size,
34
+ stroke: color,
35
+ "stroke-width": absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,
36
+ class: clsx(["lucide-icon lucide", name && `lucide-${name}`, props.class])
37
+ },
38
+ void 0,
39
+ void 0,
40
+ void 0,
41
+ 3
42
+ )}><!--[-->`);
43
+ const each_array = ensure_array_like(iconNode);
44
+ for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
45
+ let [tag, attrs] = each_array[$$index];
46
+ element($$renderer2, tag, () => {
47
+ $$renderer2.push(`${attributes({ ...attrs }, void 0, void 0, void 0, 3)}`);
48
+ });
49
+ }
50
+ $$renderer2.push(`<!--]-->`);
51
+ children?.($$renderer2);
52
+ $$renderer2.push(`<!----></svg>`);
53
+ });
54
+ }
55
+ function Boxes($$renderer, $$props) {
56
+ $$renderer.component(($$renderer2) => {
57
+ let { $$slots, $$events, ...props } = $$props;
58
+ const iconNode = [
59
+ [
60
+ "path",
61
+ {
62
+ "d": "M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z"
63
+ }
64
+ ],
65
+ ["path", { "d": "m7 16.5-4.74-2.85" }],
66
+ ["path", { "d": "m7 16.5 5-3" }],
67
+ ["path", { "d": "M7 16.5v5.17" }],
68
+ [
69
+ "path",
70
+ {
71
+ "d": "M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z"
72
+ }
73
+ ],
74
+ ["path", { "d": "m17 16.5-5-3" }],
75
+ ["path", { "d": "m17 16.5 4.74-2.85" }],
76
+ ["path", { "d": "M17 16.5v5.17" }],
77
+ [
78
+ "path",
79
+ {
80
+ "d": "M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z"
81
+ }
82
+ ],
83
+ ["path", { "d": "M12 8 7.26 5.15" }],
84
+ ["path", { "d": "m12 8 4.74-2.85" }],
85
+ ["path", { "d": "M12 13.5V8" }]
86
+ ];
87
+ Icon($$renderer2, spread_props([
88
+ { name: "boxes" },
89
+ /**
90
+ * @component @name Boxes
91
+ * @description Lucide SVG icon component, renders SVG Element with children.
92
+ *
93
+ * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMi45NyAxMi45MkEyIDIgMCAwIDAgMiAxNC42M3YzLjI0YTIgMiAwIDAgMCAuOTcgMS43MWwzIDEuOGEyIDIgMCAwIDAgMi4wNiAwTDEyIDE5di01LjVsLTUtMy00LjAzIDIuNDJaIiAvPgogIDxwYXRoIGQ9Im03IDE2LjUtNC43NC0yLjg1IiAvPgogIDxwYXRoIGQ9Im03IDE2LjUgNS0zIiAvPgogIDxwYXRoIGQ9Ik03IDE2LjV2NS4xNyIgLz4KICA8cGF0aCBkPSJNMTIgMTMuNVYxOWwzLjk3IDIuMzhhMiAyIDAgMCAwIDIuMDYgMGwzLTEuOGEyIDIgMCAwIDAgLjk3LTEuNzF2LTMuMjRhMiAyIDAgMCAwLS45Ny0xLjcxTDE3IDEwLjVsLTUgM1oiIC8+CiAgPHBhdGggZD0ibTE3IDE2LjUtNS0zIiAvPgogIDxwYXRoIGQ9Im0xNyAxNi41IDQuNzQtMi44NSIgLz4KICA8cGF0aCBkPSJNMTcgMTYuNXY1LjE3IiAvPgogIDxwYXRoIGQ9Ik03Ljk3IDQuNDJBMiAyIDAgMCAwIDcgNi4xM3Y0LjM3bDUgMyA1LTNWNi4xM2EyIDIgMCAwIDAtLjk3LTEuNzFsLTMtMS44YTIgMiAwIDAgMC0yLjA2IDBsLTMgMS44WiIgLz4KICA8cGF0aCBkPSJNMTIgOCA3LjI2IDUuMTUiIC8+CiAgPHBhdGggZD0ibTEyIDggNC43NC0yLjg1IiAvPgogIDxwYXRoIGQ9Ik0xMiAxMy41VjgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/boxes
94
+ * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
95
+ *
96
+ * @param {Object} props - Lucide icons props and any valid SVG attribute
97
+ * @returns {FunctionalComponent} Svelte component
98
+ *
99
+ */
100
+ props,
101
+ {
102
+ iconNode,
103
+ children: ($$renderer3) => {
104
+ props.children?.($$renderer3);
105
+ $$renderer3.push(`<!---->`);
106
+ },
107
+ $$slots: { default: true }
108
+ }
109
+ ]));
110
+ });
111
+ }
112
+ function Chevron_down($$renderer, $$props) {
113
+ $$renderer.component(($$renderer2) => {
114
+ let { $$slots, $$events, ...props } = $$props;
115
+ const iconNode = [["path", { "d": "m6 9 6 6 6-6" }]];
116
+ Icon($$renderer2, spread_props([
117
+ { name: "chevron-down" },
118
+ /**
119
+ * @component @name ChevronDown
120
+ * @description Lucide SVG icon component, renders SVG Element with children.
121
+ *
122
+ * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNiA5IDYgNiA2LTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/chevron-down
123
+ * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
124
+ *
125
+ * @param {Object} props - Lucide icons props and any valid SVG attribute
126
+ * @returns {FunctionalComponent} Svelte component
127
+ *
128
+ */
129
+ props,
130
+ {
131
+ iconNode,
132
+ children: ($$renderer3) => {
133
+ props.children?.($$renderer3);
134
+ $$renderer3.push(`<!---->`);
135
+ },
136
+ $$slots: { default: true }
137
+ }
138
+ ]));
139
+ });
140
+ }
141
+ function Globe($$renderer, $$props) {
142
+ $$renderer.component(($$renderer2) => {
143
+ let { $$slots, $$events, ...props } = $$props;
144
+ const iconNode = [
145
+ ["circle", { "cx": "12", "cy": "12", "r": "10" }],
146
+ [
147
+ "path",
148
+ { "d": "M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20" }
149
+ ],
150
+ ["path", { "d": "M2 12h20" }]
151
+ ];
152
+ Icon($$renderer2, spread_props([
153
+ { name: "globe" },
154
+ /**
155
+ * @component @name Globe
156
+ * @description Lucide SVG icon component, renders SVG Element with children.
157
+ *
158
+ * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTIgMmExNC41IDE0LjUgMCAwIDAgMCAyMCAxNC41IDE0LjUgMCAwIDAgMC0yMCIgLz4KICA8cGF0aCBkPSJNMiAxMmgyMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/globe
159
+ * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
160
+ *
161
+ * @param {Object} props - Lucide icons props and any valid SVG attribute
162
+ * @returns {FunctionalComponent} Svelte component
163
+ *
164
+ */
165
+ props,
166
+ {
167
+ iconNode,
168
+ children: ($$renderer3) => {
169
+ props.children?.($$renderer3);
170
+ $$renderer3.push(`<!---->`);
171
+ },
172
+ $$slots: { default: true }
173
+ }
174
+ ]));
175
+ });
176
+ }
177
+ function Moon($$renderer, $$props) {
178
+ $$renderer.component(($$renderer2) => {
179
+ let { $$slots, $$events, ...props } = $$props;
180
+ const iconNode = [
181
+ [
182
+ "path",
183
+ {
184
+ "d": "M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"
185
+ }
186
+ ]
187
+ ];
188
+ Icon($$renderer2, spread_props([
189
+ { name: "moon" },
190
+ /**
191
+ * @component @name Moon
192
+ * @description Lucide SVG icon component, renders SVG Element with children.
193
+ *
194
+ * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAuOTg1IDEyLjQ4NmE5IDkgMCAxIDEtOS40NzMtOS40NzJjLjQwNS0uMDIyLjYxNy40Ni40MDIuODAzYTYgNiAwIDAgMCA4LjI2OCA4LjI2OGMuMzQ0LS4yMTUuODI1LS4wMDQuODAzLjQwMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/moon
195
+ * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
196
+ *
197
+ * @param {Object} props - Lucide icons props and any valid SVG attribute
198
+ * @returns {FunctionalComponent} Svelte component
199
+ *
200
+ */
201
+ props,
202
+ {
203
+ iconNode,
204
+ children: ($$renderer3) => {
205
+ props.children?.($$renderer3);
206
+ $$renderer3.push(`<!---->`);
207
+ },
208
+ $$slots: { default: true }
209
+ }
210
+ ]));
211
+ });
212
+ }
213
+ function Palette($$renderer, $$props) {
214
+ $$renderer.component(($$renderer2) => {
215
+ let { $$slots, $$events, ...props } = $$props;
216
+ const iconNode = [
217
+ [
218
+ "path",
219
+ {
220
+ "d": "M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z"
221
+ }
222
+ ],
223
+ [
224
+ "circle",
225
+ { "cx": "13.5", "cy": "6.5", "r": ".5", "fill": "currentColor" }
226
+ ],
227
+ [
228
+ "circle",
229
+ {
230
+ "cx": "17.5",
231
+ "cy": "10.5",
232
+ "r": ".5",
233
+ "fill": "currentColor"
234
+ }
235
+ ],
236
+ [
237
+ "circle",
238
+ { "cx": "6.5", "cy": "12.5", "r": ".5", "fill": "currentColor" }
239
+ ],
240
+ [
241
+ "circle",
242
+ { "cx": "8.5", "cy": "7.5", "r": ".5", "fill": "currentColor" }
243
+ ]
244
+ ];
245
+ Icon($$renderer2, spread_props([
246
+ { name: "palette" },
247
+ /**
248
+ * @component @name Palette
249
+ * @description Lucide SVG icon component, renders SVG Element with children.
250
+ *
251
+ * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMjJhMSAxIDAgMCAxIDAtMjAgMTAgOSAwIDAgMSAxMCA5IDUgNSAwIDAgMS01IDVoLTIuMjVhMS43NSAxLjc1IDAgMCAwLTEuNCAyLjhsLjMuNGExLjc1IDEuNzUgMCAwIDEtMS40IDIuOHoiIC8+CiAgPGNpcmNsZSBjeD0iMTMuNSIgY3k9IjYuNSIgcj0iLjUiIGZpbGw9ImN1cnJlbnRDb2xvciIgLz4KICA8Y2lyY2xlIGN4PSIxNy41IiBjeT0iMTAuNSIgcj0iLjUiIGZpbGw9ImN1cnJlbnRDb2xvciIgLz4KICA8Y2lyY2xlIGN4PSI2LjUiIGN5PSIxMi41IiByPSIuNSIgZmlsbD0iY3VycmVudENvbG9yIiAvPgogIDxjaXJjbGUgY3g9IjguNSIgY3k9IjcuNSIgcj0iLjUiIGZpbGw9ImN1cnJlbnRDb2xvciIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/palette
252
+ * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
253
+ *
254
+ * @param {Object} props - Lucide icons props and any valid SVG attribute
255
+ * @returns {FunctionalComponent} Svelte component
256
+ *
257
+ */
258
+ props,
259
+ {
260
+ iconNode,
261
+ children: ($$renderer3) => {
262
+ props.children?.($$renderer3);
263
+ $$renderer3.push(`<!---->`);
264
+ },
265
+ $$slots: { default: true }
266
+ }
267
+ ]));
268
+ });
269
+ }
270
+ function Search($$renderer, $$props) {
271
+ $$renderer.component(($$renderer2) => {
272
+ let { $$slots, $$events, ...props } = $$props;
273
+ const iconNode = [
274
+ ["path", { "d": "m21 21-4.34-4.34" }],
275
+ ["circle", { "cx": "11", "cy": "11", "r": "8" }]
276
+ ];
277
+ Icon($$renderer2, spread_props([
278
+ { name: "search" },
279
+ /**
280
+ * @component @name Search
281
+ * @description Lucide SVG icon component, renders SVG Element with children.
282
+ *
283
+ * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMjEgMjEtNC4zNC00LjM0IiAvPgogIDxjaXJjbGUgY3g9IjExIiBjeT0iMTEiIHI9IjgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/search
284
+ * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
285
+ *
286
+ * @param {Object} props - Lucide icons props and any valid SVG attribute
287
+ * @returns {FunctionalComponent} Svelte component
288
+ *
289
+ */
290
+ props,
291
+ {
292
+ iconNode,
293
+ children: ($$renderer3) => {
294
+ props.children?.($$renderer3);
295
+ $$renderer3.push(`<!---->`);
296
+ },
297
+ $$slots: { default: true }
298
+ }
299
+ ]));
300
+ });
301
+ }
302
+ function Sun($$renderer, $$props) {
303
+ $$renderer.component(($$renderer2) => {
304
+ let { $$slots, $$events, ...props } = $$props;
305
+ const iconNode = [
306
+ ["circle", { "cx": "12", "cy": "12", "r": "4" }],
307
+ ["path", { "d": "M12 2v2" }],
308
+ ["path", { "d": "M12 20v2" }],
309
+ ["path", { "d": "m4.93 4.93 1.41 1.41" }],
310
+ ["path", { "d": "m17.66 17.66 1.41 1.41" }],
311
+ ["path", { "d": "M2 12h2" }],
312
+ ["path", { "d": "M20 12h2" }],
313
+ ["path", { "d": "m6.34 17.66-1.41 1.41" }],
314
+ ["path", { "d": "m19.07 4.93-1.41 1.41" }]
315
+ ];
316
+ Icon($$renderer2, spread_props([
317
+ { name: "sun" },
318
+ /**
319
+ * @component @name Sun
320
+ * @description Lucide SVG icon component, renders SVG Element with children.
321
+ *
322
+ * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI0IiAvPgogIDxwYXRoIGQ9Ik0xMiAydjIiIC8+CiAgPHBhdGggZD0iTTEyIDIwdjIiIC8+CiAgPHBhdGggZD0ibTQuOTMgNC45MyAxLjQxIDEuNDEiIC8+CiAgPHBhdGggZD0ibTE3LjY2IDE3LjY2IDEuNDEgMS40MSIgLz4KICA8cGF0aCBkPSJNMiAxMmgyIiAvPgogIDxwYXRoIGQ9Ik0yMCAxMmgyIiAvPgogIDxwYXRoIGQ9Im02LjM0IDE3LjY2LTEuNDEgMS40MSIgLz4KICA8cGF0aCBkPSJtMTkuMDcgNC45My0xLjQxIDEuNDEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/sun
323
+ * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
324
+ *
325
+ * @param {Object} props - Lucide icons props and any valid SVG attribute
326
+ * @returns {FunctionalComponent} Svelte component
327
+ *
328
+ */
329
+ props,
330
+ {
331
+ iconNode,
332
+ children: ($$renderer3) => {
333
+ props.children?.($$renderer3);
334
+ $$renderer3.push(`<!---->`);
335
+ },
336
+ $$slots: { default: true }
337
+ }
338
+ ]));
339
+ });
340
+ }
341
+ function User($$renderer, $$props) {
342
+ $$renderer.component(($$renderer2) => {
343
+ let { $$slots, $$events, ...props } = $$props;
344
+ const iconNode = [
345
+ ["path", { "d": "M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2" }],
346
+ ["circle", { "cx": "12", "cy": "7", "r": "4" }]
347
+ ];
348
+ Icon($$renderer2, spread_props([
349
+ { name: "user" },
350
+ /**
351
+ * @component @name User
352
+ * @description Lucide SVG icon component, renders SVG Element with children.
353
+ *
354
+ * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTkgMjF2LTJhNCA0IDAgMCAwLTQtNEg5YTQgNCAwIDAgMC00IDR2MiIgLz4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjciIHI9IjQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/user
355
+ * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
356
+ *
357
+ * @param {Object} props - Lucide icons props and any valid SVG attribute
358
+ * @returns {FunctionalComponent} Svelte component
359
+ *
360
+ */
361
+ props,
362
+ {
363
+ iconNode,
364
+ children: ($$renderer3) => {
365
+ props.children?.($$renderer3);
366
+ $$renderer3.push(`<!---->`);
367
+ },
368
+ $$slots: { default: true }
369
+ }
370
+ ]));
371
+ });
372
+ }
373
+ function Alert($$renderer, $$props) {
374
+ $$renderer.component(($$renderer2) => {
375
+ let {
376
+ tone = "info",
377
+ title,
378
+ message,
379
+ class: className,
380
+ actions,
381
+ children,
382
+ $$slots,
383
+ $$events,
384
+ ...rest
385
+ } = $$props;
386
+ const classes = () => ["st-alert", `st-alert--${tone}`, className].filter(Boolean).join(" ");
387
+ const role = () => tone === "error" || tone === "warning" ? "alert" : "status";
388
+ $$renderer2.push(`<section${attributes({ ...rest, class: clsx(classes()), role: role() }, "svelte-1vb1ni1")}><div class="st-alert__content svelte-1vb1ni1"><h2 class="st-alert__title svelte-1vb1ni1">${escape_html(title)}</h2> `);
389
+ if (message) {
390
+ $$renderer2.push("<!--[0-->");
391
+ $$renderer2.push(`<p class="st-alert__message svelte-1vb1ni1">${escape_html(message)}</p>`);
392
+ } else {
393
+ $$renderer2.push("<!--[-1-->");
394
+ }
395
+ $$renderer2.push(`<!--]--> `);
396
+ children?.($$renderer2);
397
+ $$renderer2.push(`<!----></div> `);
398
+ if (actions) {
399
+ $$renderer2.push("<!--[0-->");
400
+ $$renderer2.push(`<div class="st-alert__actions svelte-1vb1ni1">`);
401
+ actions($$renderer2);
402
+ $$renderer2.push(`<!----></div>`);
403
+ } else {
404
+ $$renderer2.push("<!--[-1-->");
405
+ }
406
+ $$renderer2.push(`<!--]--></section>`);
407
+ });
408
+ }
409
+ function deriveInitials(name) {
410
+ const parts = name.trim().split(/\s+/).filter(Boolean);
411
+ if (parts.length === 0) return "?";
412
+ if (parts.length === 1) return parts[0].slice(0, 2).toUpperCase();
413
+ return (parts[0][0] + parts[parts.length - 1][0]).toUpperCase();
414
+ }
415
+ function Header($$renderer, $$props) {
416
+ $$renderer.component(($$renderer2) => {
417
+ let {
418
+ title,
419
+ label = "Application header",
420
+ sticky = true,
421
+ class: className,
422
+ logo,
423
+ navigation,
424
+ actions,
425
+ children,
426
+ account,
427
+ signInLabel = "Se connecter",
428
+ accountMenu,
429
+ accountMenuOpen = false,
430
+ onAccountTriggerClick,
431
+ onSignIn,
432
+ $$slots,
433
+ $$events,
434
+ ...rest
435
+ } = $$props;
436
+ const classes = () => ["st-header", sticky ? "st-header--sticky" : null, className].filter(Boolean).join(" ");
437
+ const resolvedInitials = derived(() => account ? account.initials?.trim() || deriveInitials(account.name) : "");
438
+ const hasPhoto = derived(() => Boolean(account?.avatarUrl));
439
+ $$renderer2.push(`<header${attributes({ ...rest, class: clsx(classes()), "aria-label": label }, "svelte-1d3rqe2")}><div class="st-header__leading svelte-1d3rqe2">`);
440
+ if (logo) {
441
+ $$renderer2.push("<!--[0-->");
442
+ $$renderer2.push(`<span class="st-header__logo svelte-1d3rqe2">`);
443
+ logo($$renderer2);
444
+ $$renderer2.push(`<!----></span>`);
445
+ } else {
446
+ $$renderer2.push("<!--[-1-->");
447
+ }
448
+ $$renderer2.push(`<!--]--> `);
449
+ if (title) {
450
+ $$renderer2.push("<!--[0-->");
451
+ $$renderer2.push(`<span class="st-header__title svelte-1d3rqe2">${escape_html(title)}</span>`);
452
+ } else {
453
+ $$renderer2.push("<!--[-1-->");
454
+ }
455
+ $$renderer2.push(`<!--]--></div> `);
456
+ if (navigation) {
457
+ $$renderer2.push("<!--[0-->");
458
+ $$renderer2.push(`<nav class="st-header__navigation svelte-1d3rqe2" aria-label="Primary">`);
459
+ navigation($$renderer2);
460
+ $$renderer2.push(`<!----></nav>`);
461
+ } else {
462
+ $$renderer2.push("<!--[-1-->");
463
+ }
464
+ $$renderer2.push(`<!--]--> `);
465
+ if (actions || account || onSignIn) {
466
+ $$renderer2.push("<!--[0-->");
467
+ $$renderer2.push(`<div class="st-header__actions svelte-1d3rqe2">`);
468
+ if (actions) {
469
+ $$renderer2.push("<!--[0-->");
470
+ actions($$renderer2);
471
+ $$renderer2.push(`<!---->`);
472
+ } else {
473
+ $$renderer2.push("<!--[-1-->");
474
+ }
475
+ $$renderer2.push(`<!--]--> `);
476
+ if (account) {
477
+ $$renderer2.push("<!--[0-->");
478
+ $$renderer2.push(`<div class="st-header__account svelte-1d3rqe2"><button type="button" class="st-header__account-trigger svelte-1d3rqe2" aria-haspopup="menu"${attr("aria-expanded", accountMenuOpen)}${attr("aria-label", `Compte de ${account.name}`)}>`);
479
+ if (hasPhoto()) {
480
+ $$renderer2.push("<!--[0-->");
481
+ $$renderer2.push(`<span class="st-header__avatar st-header__avatar--photo svelte-1d3rqe2" aria-hidden="true"><img class="st-header__avatar-image svelte-1d3rqe2"${attr("src", account.avatarUrl)} alt=""/></span>`);
482
+ } else {
483
+ $$renderer2.push("<!--[-1-->");
484
+ $$renderer2.push(`<span class="st-header__avatar st-header__avatar--initials svelte-1d3rqe2" aria-hidden="true">${escape_html(resolvedInitials())}</span>`);
485
+ }
486
+ $$renderer2.push(`<!--]--> <span class="st-header__account-meta svelte-1d3rqe2"><span class="st-header__account-name svelte-1d3rqe2">${escape_html(account.name)}</span> `);
487
+ if (account.email) {
488
+ $$renderer2.push("<!--[0-->");
489
+ $$renderer2.push(`<span class="st-header__account-email svelte-1d3rqe2">${escape_html(account.email)}</span>`);
490
+ } else {
491
+ $$renderer2.push("<!--[-1-->");
492
+ }
493
+ $$renderer2.push(`<!--]--></span> <svg class="st-header__account-caret svelte-1d3rqe2" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="6 9 12 15 18 9"></polyline></svg></button> `);
494
+ if (accountMenu && accountMenuOpen) {
495
+ $$renderer2.push("<!--[0-->");
496
+ $$renderer2.push(`<div class="st-header__account-menu svelte-1d3rqe2" role="menu"${attr("aria-label", `Menu de ${account.name}`)}>`);
497
+ accountMenu($$renderer2);
498
+ $$renderer2.push(`<!----></div>`);
499
+ } else {
500
+ $$renderer2.push("<!--[-1-->");
501
+ }
502
+ $$renderer2.push(`<!--]--></div>`);
503
+ } else if (onSignIn) {
504
+ $$renderer2.push("<!--[1-->");
505
+ $$renderer2.push(`<button type="button" class="st-header__signin svelte-1d3rqe2">${escape_html(signInLabel)}</button>`);
506
+ } else {
507
+ $$renderer2.push("<!--[-1-->");
508
+ }
509
+ $$renderer2.push(`<!--]--></div>`);
510
+ } else {
511
+ $$renderer2.push("<!--[-1-->");
512
+ }
513
+ $$renderer2.push(`<!--]--> `);
514
+ if (children) {
515
+ $$renderer2.push("<!--[0-->");
516
+ children($$renderer2);
517
+ $$renderer2.push(`<!---->`);
518
+ } else {
519
+ $$renderer2.push("<!--[-1-->");
520
+ }
521
+ $$renderer2.push(`<!--]--></header>`);
522
+ });
523
+ }
524
+ function Badge($$renderer, $$props) {
525
+ $$renderer.component(($$renderer2) => {
526
+ let {
527
+ tone = "neutral",
528
+ shape = "pill",
529
+ size = "md",
530
+ class: className,
531
+ children,
532
+ $$slots,
533
+ $$events,
534
+ ...rest
535
+ } = $$props;
536
+ const classes = () => [
537
+ "st-badge",
538
+ `st-badge--${tone}`,
539
+ `st-badge--${shape}`,
540
+ `st-badge--${size}`,
541
+ className
542
+ ].filter(Boolean).join(" ");
543
+ $$renderer2.push(`<span${attributes({ ...rest, class: clsx(classes()) }, "svelte-pdgh8u")}>`);
544
+ children?.($$renderer2);
545
+ $$renderer2.push(`<!----></span>`);
546
+ });
547
+ }
548
+ function Button($$renderer, $$props) {
549
+ $$renderer.component(($$renderer2) => {
550
+ let {
551
+ variant = "primary",
552
+ size = "md",
553
+ disabled = false,
554
+ type = "button",
555
+ class: className,
556
+ children,
557
+ $$slots,
558
+ $$events,
559
+ ...rest
560
+ } = $$props;
561
+ const classes = () => [
562
+ "st-button",
563
+ `st-button--${variant}`,
564
+ `st-button--${size}`,
565
+ className
566
+ ].filter(Boolean).join(" ");
567
+ $$renderer2.push(`<button${attributes({ ...rest, class: clsx(classes()), type, disabled }, "svelte-121ausn")}>`);
568
+ children?.($$renderer2);
569
+ $$renderer2.push(`<!----></button>`);
570
+ });
571
+ }
572
+ function Card($$renderer, $$props) {
573
+ $$renderer.component(($$renderer2) => {
574
+ let {
575
+ interactive = false,
576
+ class: className,
577
+ children,
578
+ $$slots,
579
+ $$events,
580
+ ...rest
581
+ } = $$props;
582
+ const classes = () => ["st-card", interactive && "st-card--interactive", className].filter(Boolean).join(" ");
583
+ $$renderer2.push(`<section${attributes({ ...rest, class: clsx(classes()) }, "svelte-mt7xh")}>`);
584
+ children?.($$renderer2);
585
+ $$renderer2.push(`<!----></section>`);
586
+ });
587
+ }
588
+ function IconButton($$renderer, $$props) {
589
+ $$renderer.component(($$renderer2) => {
590
+ let {
591
+ "aria-label": ariaLabel,
592
+ size = "md",
593
+ variant = "ghost",
594
+ type = "button",
595
+ disabled = false,
596
+ class: className,
597
+ children,
598
+ $$slots,
599
+ $$events,
600
+ ...rest
601
+ } = $$props;
602
+ const classes = () => [
603
+ "st-iconButton",
604
+ `st-iconButton--${size}`,
605
+ `st-iconButton--${variant}`,
606
+ className
607
+ ].filter(Boolean).join(" ");
608
+ $$renderer2.push(`<button${attributes(
609
+ {
610
+ ...rest,
611
+ class: clsx(classes()),
612
+ type,
613
+ disabled,
614
+ "aria-label": ariaLabel
615
+ },
616
+ "svelte-iw4na2"
617
+ )}>`);
618
+ children($$renderer2);
619
+ $$renderer2.push(`<!----></button>`);
620
+ });
621
+ }
622
+ function Container($$renderer, $$props) {
623
+ $$renderer.component(($$renderer2) => {
624
+ let {
625
+ size = "lg",
626
+ padding = true,
627
+ as = "div",
628
+ class: className,
629
+ children,
630
+ $$slots,
631
+ $$events,
632
+ ...rest
633
+ } = $$props;
634
+ const classes = derived(() => [
635
+ "st-container",
636
+ `st-container--${size}`,
637
+ padding && "st-container--padded",
638
+ className
639
+ ].filter(Boolean).join(" "));
640
+ element(
641
+ $$renderer2,
642
+ as,
643
+ () => {
644
+ $$renderer2.push(`${attributes({ ...rest, class: clsx(classes()) }, "svelte-lol6l6")}`);
645
+ },
646
+ () => {
647
+ children?.($$renderer2);
648
+ $$renderer2.push(`<!---->`);
649
+ }
650
+ );
651
+ });
652
+ }
653
+ const SPACING_FALLBACK = {
654
+ 0: "0",
655
+ 1: "0.25rem",
656
+ 2: "0.5rem",
657
+ 3: "0.75rem",
658
+ 4: "1rem",
659
+ 5: "1.25rem",
660
+ 6: "1.5rem",
661
+ 7: "1.75rem",
662
+ 8: "2rem",
663
+ 9: "2.25rem",
664
+ 10: "2.5rem",
665
+ 11: "2.75rem",
666
+ 12: "3rem"
667
+ };
668
+ function spacingToken(step) {
669
+ if (step == null) return void 0;
670
+ const clamped = Math.max(0, Math.min(12, Math.round(step)));
671
+ if (clamped === 0) return "0";
672
+ return `var(--st-spacing-${clamped}, ${SPACING_FALLBACK[clamped]})`;
673
+ }
674
+ const ALIGN = {
675
+ start: "flex-start",
676
+ center: "center",
677
+ end: "flex-end",
678
+ stretch: "stretch",
679
+ baseline: "baseline"
680
+ };
681
+ const JUSTIFY = {
682
+ start: "flex-start",
683
+ center: "center",
684
+ end: "flex-end",
685
+ between: "space-between",
686
+ around: "space-around",
687
+ evenly: "space-evenly"
688
+ };
689
+ function alignValue(align) {
690
+ return align ? ALIGN[align] : void 0;
691
+ }
692
+ function justifyValue(justify) {
693
+ return justify ? JUSTIFY[justify] : void 0;
694
+ }
695
+ function Flex($$renderer, $$props) {
696
+ $$renderer.component(($$renderer2) => {
697
+ let {
698
+ direction = "row",
699
+ gap,
700
+ align,
701
+ justify,
702
+ wrap = false,
703
+ inline = false,
704
+ as = "div",
705
+ class: className,
706
+ children,
707
+ $$slots,
708
+ $$events,
709
+ ...rest
710
+ } = $$props;
711
+ const classes = derived(() => ["st-flex", className].filter(Boolean).join(" "));
712
+ element(
713
+ $$renderer2,
714
+ as,
715
+ () => {
716
+ $$renderer2.push(`${attributes({ ...rest, class: clsx(classes()) }, "svelte-94sbko", void 0, {
717
+ display: inline ? "inline-flex" : "flex",
718
+ "flex-direction": direction,
719
+ "flex-wrap": wrap ? "wrap" : "nowrap",
720
+ "align-items": alignValue(align),
721
+ "justify-content": justifyValue(justify),
722
+ gap: spacingToken(gap)
723
+ })}`);
724
+ },
725
+ () => {
726
+ children?.($$renderer2);
727
+ $$renderer2.push(`<!---->`);
728
+ }
729
+ );
730
+ });
731
+ }
732
+ let groupIdCounter = 0;
733
+ function nextGroupId() {
734
+ groupIdCounter += 1;
735
+ return `st-menu-group-${groupIdCounter}`;
736
+ }
737
+ function Menu($$renderer, $$props) {
738
+ $$renderer.component(($$renderer2) => {
739
+ let {
740
+ label,
741
+ items,
742
+ open = true,
743
+ dismissOnSelect = false,
744
+ class: className,
745
+ dense = false,
746
+ onselect,
747
+ $$slots,
748
+ $$events,
749
+ ...rest
750
+ } = $$props;
751
+ const classes = () => ["st-menu", dense ? "st-menu--dense" : null, className].filter(Boolean).join(" ");
752
+ function isAction(item) {
753
+ return item.kind === void 0 || item.kind === "item";
754
+ }
755
+ if (open) {
756
+ $$renderer2.push("<!--[0-->");
757
+ $$renderer2.push(`<div${attributes(
758
+ {
759
+ ...rest,
760
+ class: clsx(classes()),
761
+ role: "menu",
762
+ "aria-label": label
763
+ },
764
+ "svelte-n7le8g"
765
+ )}><!--[-->`);
766
+ const each_array = ensure_array_like(items);
767
+ for (let index = 0, $$length = each_array.length; index < $$length; index++) {
768
+ let item = each_array[index];
769
+ if (isAction(item)) {
770
+ $$renderer2.push("<!--[0-->");
771
+ const Icon2 = item.icon;
772
+ $$renderer2.push(`<button${attr_class("st-menu__item svelte-n7le8g", void 0, { "st-menu__item--danger": item.danger })} type="button" role="menuitem"${attr("aria-disabled", item.disabled ? "true" : void 0)}${attr("disabled", item.disabled, true)}>`);
773
+ if (Icon2) {
774
+ $$renderer2.push("<!--[0-->");
775
+ $$renderer2.push(`<span class="st-menu__itemIcon svelte-n7le8g" aria-hidden="true">`);
776
+ if (typeof Icon2 === "string") {
777
+ $$renderer2.push("<!--[0-->");
778
+ $$renderer2.push(`${escape_html(Icon2)}`);
779
+ } else {
780
+ $$renderer2.push("<!--[-1-->");
781
+ if (Icon2) {
782
+ $$renderer2.push("<!--[-->");
783
+ Icon2($$renderer2, { size: 16, strokeWidth: 2 });
784
+ $$renderer2.push("<!--]-->");
785
+ } else {
786
+ $$renderer2.push("<!--[!-->");
787
+ $$renderer2.push("<!--]-->");
788
+ }
789
+ }
790
+ $$renderer2.push(`<!--]--></span>`);
791
+ } else {
792
+ $$renderer2.push("<!--[-1-->");
793
+ }
794
+ $$renderer2.push(`<!--]--> <span class="st-menu__itemLabel svelte-n7le8g">${escape_html(item.label)}</span></button>`);
795
+ } else if (item.kind === "divider") {
796
+ $$renderer2.push("<!--[1-->");
797
+ $$renderer2.push(`<div class="st-menu__divider svelte-n7le8g" role="separator" aria-hidden="true"></div>`);
798
+ } else {
799
+ $$renderer2.push("<!--[-1-->");
800
+ const groupId = nextGroupId();
801
+ $$renderer2.push(`<div class="st-menu__group svelte-n7le8g"${attr("id", groupId)} role="presentation">${escape_html(item.label)}</div>`);
802
+ }
803
+ $$renderer2.push(`<!--]-->`);
804
+ }
805
+ $$renderer2.push(`<!--]--></div>`);
806
+ } else {
807
+ $$renderer2.push("<!--[-1-->");
808
+ }
809
+ $$renderer2.push(`<!--]-->`);
810
+ bind_props($$props, { open });
811
+ });
812
+ }
813
+ function MenuPopover($$renderer, $$props) {
814
+ $$renderer.component(($$renderer2) => {
815
+ let {
816
+ open = false,
817
+ trigger,
818
+ placement = "bottom-start",
819
+ align,
820
+ label,
821
+ class: className,
822
+ closeOnOutside = true,
823
+ closeOnEscape = true,
824
+ children,
825
+ $$slots,
826
+ $$events,
827
+ ...rest
828
+ } = $$props;
829
+ let top = 0;
830
+ let left = 0;
831
+ const classes = () => [
832
+ "st-menuPopover",
833
+ `st-menuPopover--${placement}`,
834
+ null,
835
+ null,
836
+ className
837
+ ].filter(Boolean).join(" ");
838
+ if (open) {
839
+ $$renderer2.push("<!--[0-->");
840
+ $$renderer2.push(`<div${attributes(
841
+ {
842
+ ...rest,
843
+ class: clsx(classes()),
844
+ role: "dialog",
845
+ "aria-label": label,
846
+ style: `top: ${top}px; left: ${left}px;${""}`
847
+ },
848
+ "svelte-tp772b"
849
+ )}>`);
850
+ children?.($$renderer2);
851
+ $$renderer2.push(`<!----></div>`);
852
+ } else {
853
+ $$renderer2.push("<!--[-1-->");
854
+ }
855
+ $$renderer2.push(`<!--]-->`);
856
+ bind_props($$props, { open });
857
+ });
858
+ }
859
+ function IdentityButton($$renderer, $$props) {
860
+ $$renderer.component(($$renderer2) => {
861
+ let {
862
+ authState = "anonymous",
863
+ user = null,
864
+ mode = "icon",
865
+ tone = "default",
866
+ signInLabel = "Se connecter",
867
+ accountLabel = "Compte",
868
+ onSignIn,
869
+ onSignOut,
870
+ menu = []
871
+ } = $$props;
872
+ let triggerEl = null;
873
+ let open = false;
874
+ const initials = derived(() => user?.name ? user.name.trim().split(/\s+/).map((w) => w[0]).slice(0, 2).join("").toUpperCase() : "");
875
+ const authed = derived(() => authState === "authenticated");
876
+ const menuItems = derived(() => [
877
+ ...menu.map((e) => ({ label: e.label, value: e.href ?? e.label })),
878
+ ...onSignOut ? [{ label: "Se déconnecter", value: "__signout" }] : []
879
+ ]);
880
+ function onMenuSelect(value) {
881
+ open = false;
882
+ if (value === "__signout") return onSignOut?.();
883
+ const entry = menu.find((e) => (e.href ?? e.label) === value);
884
+ if (entry?.onClick) entry.onClick();
885
+ else if (entry?.href) location.href = entry.href;
886
+ }
887
+ function face($$renderer3) {
888
+ if (authed() && user?.avatarSrc) {
889
+ $$renderer3.push("<!--[0-->");
890
+ $$renderer3.push(`<img class="st-identityBtn__avatar svelte-tcpfp5"${attr("src", user.avatarSrc)} alt="" aria-hidden="true"/>`);
891
+ } else if (authed() && initials()) {
892
+ $$renderer3.push("<!--[1-->");
893
+ $$renderer3.push(`<span class="st-identityBtn__initials svelte-tcpfp5" aria-hidden="true">${escape_html(initials())}</span>`);
894
+ } else {
895
+ $$renderer3.push("<!--[-1-->");
896
+ User($$renderer3, { size: 16, strokeWidth: 2.1, "aria-hidden": "true" });
897
+ }
898
+ $$renderer3.push(`<!--]-->`);
899
+ }
900
+ let $$settled = true;
901
+ let $$inner_renderer;
902
+ function $$render_inner($$renderer3) {
903
+ $$renderer3.push(`<span${attr_class("st-identityBtn svelte-tcpfp5", void 0, { "st-identityBtn--onColor": tone === "onColor" })}>`);
904
+ if (mode === "button") {
905
+ $$renderer3.push("<!--[0-->");
906
+ Button($$renderer3, {
907
+ variant: authed() ? "ghost" : "secondary",
908
+ size: "sm",
909
+ onclick: () => authed() ? open = !open : onSignIn?.(),
910
+ children: ($$renderer4) => {
911
+ face($$renderer4);
912
+ $$renderer4.push(`<!----> <span>${escape_html(authed() ? user?.name ?? accountLabel : signInLabel)}</span>`);
913
+ },
914
+ $$slots: { default: true }
915
+ });
916
+ } else if (mode === "menu") {
917
+ $$renderer3.push("<!--[1-->");
918
+ $$renderer3.push(`<span class="st-identityBtn__wrap svelte-tcpfp5">`);
919
+ IconButton($$renderer3, {
920
+ size: "sm",
921
+ variant: "ghost",
922
+ "aria-label": authed() ? accountLabel : signInLabel,
923
+ onclick: () => open = !open,
924
+ children: ($$renderer4) => {
925
+ face($$renderer4);
926
+ },
927
+ $$slots: { default: true }
928
+ });
929
+ $$renderer3.push(`<!----></span> `);
930
+ if (menuItems().length) {
931
+ $$renderer3.push("<!--[0-->");
932
+ MenuPopover($$renderer3, {
933
+ trigger: triggerEl,
934
+ placement: "bottom-end",
935
+ label: accountLabel,
936
+ get open() {
937
+ return open;
938
+ },
939
+ set open($$value) {
940
+ open = $$value;
941
+ $$settled = false;
942
+ },
943
+ children: ($$renderer4) => {
944
+ Menu($$renderer4, {
945
+ label: accountLabel,
946
+ items: menuItems(),
947
+ onselect: onMenuSelect
948
+ });
949
+ },
950
+ $$slots: { default: true }
951
+ });
952
+ } else {
953
+ $$renderer3.push("<!--[-1-->");
954
+ }
955
+ $$renderer3.push(`<!--]-->`);
956
+ } else {
957
+ $$renderer3.push("<!--[-1-->");
958
+ IconButton($$renderer3, {
959
+ size: "sm",
960
+ variant: "ghost",
961
+ "aria-label": authed() ? accountLabel : signInLabel,
962
+ onclick: () => authed() ? menuItems().length ? open = !open : void 0 : onSignIn?.(),
963
+ children: ($$renderer4) => {
964
+ face($$renderer4);
965
+ },
966
+ $$slots: { default: true }
967
+ });
968
+ }
969
+ $$renderer3.push(`<!--]--></span>`);
970
+ }
971
+ do {
972
+ $$settled = true;
973
+ $$inner_renderer = $$renderer2.copy();
974
+ $$render_inner($$inner_renderer);
975
+ } while (!$$settled);
976
+ $$renderer2.subsume($$inner_renderer);
977
+ });
978
+ }
979
+ function AppShell($$renderer, $$props) {
980
+ $$renderer.component(($$renderer2) => {
981
+ let {
982
+ variant,
983
+ config,
984
+ topChrome,
985
+ primaryRail,
986
+ navigationPanel,
987
+ main,
988
+ contextPanel,
989
+ utilityPanel,
990
+ bottomPanel,
991
+ children,
992
+ mainId = "main",
993
+ navigationLabel = "Workspace navigation",
994
+ contextLabel = "Context panel",
995
+ utilityLabel = "Utility panel",
996
+ utilityMode = "reserve",
997
+ utilitySide = "right",
998
+ class: className
999
+ } = $$props;
1000
+ const mode = derived(() => variant ?? (config ? "site" : "workspace"));
1001
+ const siteConfig = derived(() => config ?? {
1002
+ brand: { name: "Sentropic" },
1003
+ nav: [],
1004
+ theming: { themes: [], theme: "" }
1005
+ });
1006
+ const brand = derived(() => siteConfig().brand ?? { name: "Sentropic" });
1007
+ const nav = derived(() => Array.isArray(siteConfig().nav) ? siteConfig().nav : []);
1008
+ const t = derived(() => siteConfig().theming ?? { themes: [], theme: "" });
1009
+ const siteClasses = derived(() => ["st-shell", className].filter(Boolean).join(" "));
1010
+ const workspaceClasses = derived(() => ["st-appShell", "st-appShell--workspace", className].filter(Boolean).join(" "));
1011
+ const isActive = (item) => item.active != null ? item.active : siteConfig().activePath != null && (item.href === siteConfig().activePath || item.href !== "/" && (siteConfig().activePath ?? "").startsWith(item.href));
1012
+ const themeItems = derived(() => (t().themes ?? []).map((o) => ({ label: o.label, value: o.id })));
1013
+ const fwItems = derived(() => (siteConfig().frameworkSwitcher?.available ?? []).map((o) => ({ label: o.label, value: o.id })));
1014
+ const localeItems = derived(() => (siteConfig().locale?.available ?? []).map((o) => ({ label: o.label, value: o.code })));
1015
+ const fwLabel = derived(() => (siteConfig().frameworkSwitcher?.available ?? []).find((o) => o.id === siteConfig().frameworkSwitcher?.current)?.label ?? "");
1016
+ const themeLabel = derived(() => (t().themes ?? []).find((o) => o.id === t().theme)?.label ?? "");
1017
+ let themeEl = null;
1018
+ let fwEl = null;
1019
+ let localeEl = null;
1020
+ let themeOpen = false;
1021
+ let fwOpen = false;
1022
+ let localeOpen = false;
1023
+ function cycleColorMode() {
1024
+ const cur = t().colorMode;
1025
+ t().onColorModeChange?.(cur === "light" ? "dark" : cur === "dark" ? "auto" : "light");
1026
+ }
1027
+ function logo($$renderer3) {
1028
+ $$renderer3.push(`<a class="st-shell__brand svelte-do0njo"${attr("href", brand().href ?? "/")}${attr("aria-label", brand().label ?? [brand().name, brand().productName].filter(Boolean).join(" "))}>`);
1029
+ if (brand().logoSrc) {
1030
+ $$renderer3.push("<!--[0-->");
1031
+ $$renderer3.push(`<img class="st-shell__brandMark svelte-do0njo"${attr("src", brand().logoSrc)} alt="" aria-hidden="true"/>`);
1032
+ } else {
1033
+ $$renderer3.push("<!--[-1-->");
1034
+ }
1035
+ $$renderer3.push(`<!--]--> <span class="st-shell__brandCopy svelte-do0njo">`);
1036
+ if (brand().name) {
1037
+ $$renderer3.push("<!--[0-->");
1038
+ $$renderer3.push(`<span class="st-shell__brandName svelte-do0njo">${escape_html(brand().name)}</span>`);
1039
+ } else {
1040
+ $$renderer3.push("<!--[-1-->");
1041
+ }
1042
+ $$renderer3.push(`<!--]--> `);
1043
+ if (brand().productName) {
1044
+ $$renderer3.push("<!--[0-->");
1045
+ $$renderer3.push(`<span class="st-shell__brandProduct svelte-do0njo">${escape_html(brand().productName)}</span>`);
1046
+ } else {
1047
+ $$renderer3.push("<!--[-1-->");
1048
+ }
1049
+ $$renderer3.push(`<!--]--></span></a>`);
1050
+ }
1051
+ function navigation($$renderer3) {
1052
+ $$renderer3.push(`<nav class="st-shell__nav svelte-do0njo"${attr("aria-label", siteConfig().navLabel ?? "Navigation")}><!--[-->`);
1053
+ const each_array = ensure_array_like(nav());
1054
+ for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
1055
+ let item = each_array[$$index];
1056
+ $$renderer3.push(`<a class="st-shell__navLink svelte-do0njo"${attr("href", item.href)}${attr("aria-current", isActive(item) ? "page" : void 0)}>${escape_html(item.label)}</a>`);
1057
+ }
1058
+ $$renderer3.push(`<!--]--></nav>`);
1059
+ }
1060
+ function actions($$renderer3) {
1061
+ $$renderer3.push(`<div class="st-shell__actions svelte-do0njo">`);
1062
+ if (siteConfig().search?.enabled) {
1063
+ $$renderer3.push("<!--[0-->");
1064
+ Button($$renderer3, {
1065
+ variant: "secondary",
1066
+ size: "sm",
1067
+ class: "st-shell__search",
1068
+ onclick: () => siteConfig().search?.onSearch?.(""),
1069
+ children: ($$renderer4) => {
1070
+ Search($$renderer4, { size: 16, strokeWidth: 2.1, "aria-hidden": "true" });
1071
+ $$renderer4.push(`<!----> <span>${escape_html(siteConfig().search.placeholder ?? "Rechercher…")}</span> <kbd class="st-shell__kbd svelte-do0njo">/</kbd>`);
1072
+ },
1073
+ $$slots: { default: true }
1074
+ });
1075
+ } else {
1076
+ $$renderer3.push("<!--[-1-->");
1077
+ }
1078
+ $$renderer3.push(`<!--]--> `);
1079
+ if (siteConfig().frameworkSwitcher?.enabled) {
1080
+ $$renderer3.push("<!--[0-->");
1081
+ $$renderer3.push(`<span class="st-shell__menuWrap svelte-do0njo">`);
1082
+ Button($$renderer3, {
1083
+ variant: "secondary",
1084
+ size: "sm",
1085
+ class: "st-shell__switch",
1086
+ onclick: () => fwOpen = !fwOpen,
1087
+ "aria-haspopup": "menu",
1088
+ "aria-expanded": fwOpen,
1089
+ children: ($$renderer4) => {
1090
+ Boxes($$renderer4, { size: 14, "aria-hidden": "true" });
1091
+ $$renderer4.push(`<!----><span>${escape_html(fwLabel())}</span>`);
1092
+ Chevron_down($$renderer4, { size: 14, "aria-hidden": "true" });
1093
+ $$renderer4.push(`<!---->`);
1094
+ },
1095
+ $$slots: { default: true }
1096
+ });
1097
+ $$renderer3.push(`<!----></span> `);
1098
+ MenuPopover($$renderer3, {
1099
+ trigger: fwEl,
1100
+ placement: "bottom-end",
1101
+ label: "Framework",
1102
+ get open() {
1103
+ return fwOpen;
1104
+ },
1105
+ set open($$value) {
1106
+ fwOpen = $$value;
1107
+ $$settled = false;
1108
+ },
1109
+ children: ($$renderer4) => {
1110
+ Menu($$renderer4, {
1111
+ label: "Framework",
1112
+ items: fwItems(),
1113
+ onselect: (v) => {
1114
+ siteConfig().frameworkSwitcher?.onChange?.(v);
1115
+ fwOpen = false;
1116
+ }
1117
+ });
1118
+ },
1119
+ $$slots: { default: true }
1120
+ });
1121
+ $$renderer3.push(`<!---->`);
1122
+ } else {
1123
+ $$renderer3.push("<!--[-1-->");
1124
+ }
1125
+ $$renderer3.push(`<!--]--> `);
1126
+ if ((t().themes ?? []).length) {
1127
+ $$renderer3.push("<!--[0-->");
1128
+ $$renderer3.push(`<span class="st-shell__menuWrap svelte-do0njo">`);
1129
+ Button($$renderer3, {
1130
+ variant: "secondary",
1131
+ size: "sm",
1132
+ class: "st-shell__switch",
1133
+ onclick: () => themeOpen = !themeOpen,
1134
+ "aria-haspopup": "menu",
1135
+ "aria-expanded": themeOpen,
1136
+ children: ($$renderer4) => {
1137
+ Palette($$renderer4, { size: 14, "aria-hidden": "true" });
1138
+ $$renderer4.push(`<!----><span>${escape_html(themeLabel())}</span>`);
1139
+ Chevron_down($$renderer4, { size: 14, "aria-hidden": "true" });
1140
+ $$renderer4.push(`<!---->`);
1141
+ },
1142
+ $$slots: { default: true }
1143
+ });
1144
+ $$renderer3.push(`<!----></span> `);
1145
+ MenuPopover($$renderer3, {
1146
+ trigger: themeEl,
1147
+ placement: "bottom-end",
1148
+ label: t().themeLabel ?? "Thème",
1149
+ get open() {
1150
+ return themeOpen;
1151
+ },
1152
+ set open($$value) {
1153
+ themeOpen = $$value;
1154
+ $$settled = false;
1155
+ },
1156
+ children: ($$renderer4) => {
1157
+ Menu($$renderer4, {
1158
+ label: t().themeLabel ?? "Thème",
1159
+ items: themeItems(),
1160
+ onselect: (v) => {
1161
+ t().onThemeChange?.(v);
1162
+ themeOpen = false;
1163
+ }
1164
+ });
1165
+ },
1166
+ $$slots: { default: true }
1167
+ });
1168
+ $$renderer3.push(`<!---->`);
1169
+ } else {
1170
+ $$renderer3.push("<!--[-1-->");
1171
+ }
1172
+ $$renderer3.push(`<!--]--> `);
1173
+ if (t().colorMode) {
1174
+ $$renderer3.push("<!--[0-->");
1175
+ IconButton($$renderer3, {
1176
+ size: "sm",
1177
+ variant: "ghost",
1178
+ "aria-label": "Mode couleur",
1179
+ onclick: cycleColorMode,
1180
+ children: ($$renderer4) => {
1181
+ if (t().colorMode === "dark") {
1182
+ $$renderer4.push("<!--[0-->");
1183
+ Moon($$renderer4, { size: 16, "aria-hidden": "true" });
1184
+ } else {
1185
+ $$renderer4.push("<!--[-1-->");
1186
+ Sun($$renderer4, { size: 16, "aria-hidden": "true" });
1187
+ }
1188
+ $$renderer4.push(`<!--]-->`);
1189
+ },
1190
+ $$slots: { default: true }
1191
+ });
1192
+ } else {
1193
+ $$renderer3.push("<!--[-1-->");
1194
+ }
1195
+ $$renderer3.push(`<!--]--> `);
1196
+ if (siteConfig().locale) {
1197
+ $$renderer3.push("<!--[0-->");
1198
+ $$renderer3.push(`<span class="st-shell__menuWrap svelte-do0njo">`);
1199
+ Button($$renderer3, {
1200
+ variant: "secondary",
1201
+ size: "sm",
1202
+ class: "st-shell__switch",
1203
+ onclick: () => localeOpen = !localeOpen,
1204
+ "aria-haspopup": "menu",
1205
+ "aria-expanded": localeOpen,
1206
+ children: ($$renderer4) => {
1207
+ Globe($$renderer4, { size: 14, "aria-hidden": "true" });
1208
+ $$renderer4.push(`<!----><span>${escape_html((siteConfig().locale.current ?? "").toUpperCase())}</span>`);
1209
+ Chevron_down($$renderer4, { size: 14, "aria-hidden": "true" });
1210
+ $$renderer4.push(`<!---->`);
1211
+ },
1212
+ $$slots: { default: true }
1213
+ });
1214
+ $$renderer3.push(`<!----></span> `);
1215
+ MenuPopover($$renderer3, {
1216
+ trigger: localeEl,
1217
+ placement: "bottom-end",
1218
+ label: siteConfig().locale.label ?? "Langue",
1219
+ get open() {
1220
+ return localeOpen;
1221
+ },
1222
+ set open($$value) {
1223
+ localeOpen = $$value;
1224
+ $$settled = false;
1225
+ },
1226
+ children: ($$renderer4) => {
1227
+ Menu($$renderer4, {
1228
+ label: siteConfig().locale.label ?? "Langue",
1229
+ items: localeItems(),
1230
+ onselect: (v) => {
1231
+ siteConfig().locale?.onChange?.(v);
1232
+ localeOpen = false;
1233
+ }
1234
+ });
1235
+ },
1236
+ $$slots: { default: true }
1237
+ });
1238
+ $$renderer3.push(`<!---->`);
1239
+ } else {
1240
+ $$renderer3.push("<!--[-1-->");
1241
+ }
1242
+ $$renderer3.push(`<!--]--> `);
1243
+ if (siteConfig().identity) {
1244
+ $$renderer3.push("<!--[0-->");
1245
+ IdentityButton($$renderer3, {
1246
+ mode: "icon",
1247
+ authState: siteConfig().identity.state,
1248
+ user: siteConfig().identity.user ?? null,
1249
+ signInLabel: siteConfig().identity.label ?? "Se connecter",
1250
+ onSignIn: () => siteConfig().identity?.onSignIn?.(),
1251
+ onSignOut: () => siteConfig().identity?.onSignOut?.(),
1252
+ menu: siteConfig().identity.menu ?? []
1253
+ });
1254
+ } else {
1255
+ $$renderer3.push("<!--[-1-->");
1256
+ }
1257
+ $$renderer3.push(`<!--]--></div>`);
1258
+ }
1259
+ let $$settled = true;
1260
+ let $$inner_renderer;
1261
+ function $$render_inner($$renderer3) {
1262
+ if (mode() === "workspace") {
1263
+ $$renderer3.push("<!--[0-->");
1264
+ $$renderer3.push(`<div${attr_class(clsx(workspaceClasses()), "svelte-do0njo")} data-st-app-shell-variant="workspace"${attr("data-utility-mode", utilityMode)}${attr("data-utility-side", utilitySide)}>`);
1265
+ if (topChrome) {
1266
+ $$renderer3.push("<!--[0-->");
1267
+ $$renderer3.push(`<div class="st-appShell__topChrome svelte-do0njo">`);
1268
+ topChrome($$renderer3);
1269
+ $$renderer3.push(`<!----></div>`);
1270
+ } else {
1271
+ $$renderer3.push("<!--[-1-->");
1272
+ }
1273
+ $$renderer3.push(`<!--]--> <div class="st-appShell__body svelte-do0njo">`);
1274
+ if (primaryRail) {
1275
+ $$renderer3.push("<!--[0-->");
1276
+ $$renderer3.push(`<aside class="st-appShell__primaryRail svelte-do0njo" aria-label="Primary rail">`);
1277
+ primaryRail($$renderer3);
1278
+ $$renderer3.push(`<!----></aside>`);
1279
+ } else {
1280
+ $$renderer3.push("<!--[-1-->");
1281
+ }
1282
+ $$renderer3.push(`<!--]--> `);
1283
+ if (navigationPanel) {
1284
+ $$renderer3.push("<!--[0-->");
1285
+ $$renderer3.push(`<aside class="st-appShell__navigationPanel svelte-do0njo"${attr("aria-label", navigationLabel)}>`);
1286
+ navigationPanel($$renderer3);
1287
+ $$renderer3.push(`<!----></aside>`);
1288
+ } else {
1289
+ $$renderer3.push("<!--[-1-->");
1290
+ }
1291
+ $$renderer3.push(`<!--]--> <main class="st-appShell__main svelte-do0njo"${attr("id", mainId)}>`);
1292
+ if (main) {
1293
+ $$renderer3.push("<!--[0-->");
1294
+ main($$renderer3);
1295
+ $$renderer3.push(`<!---->`);
1296
+ } else if (children) {
1297
+ $$renderer3.push("<!--[1-->");
1298
+ children($$renderer3);
1299
+ $$renderer3.push(`<!---->`);
1300
+ } else {
1301
+ $$renderer3.push("<!--[-1-->");
1302
+ }
1303
+ $$renderer3.push(`<!--]--></main> `);
1304
+ if (contextPanel) {
1305
+ $$renderer3.push("<!--[0-->");
1306
+ $$renderer3.push(`<aside class="st-appShell__contextPanel svelte-do0njo"${attr("aria-label", contextLabel)}>`);
1307
+ contextPanel($$renderer3);
1308
+ $$renderer3.push(`<!----></aside>`);
1309
+ } else {
1310
+ $$renderer3.push("<!--[-1-->");
1311
+ }
1312
+ $$renderer3.push(`<!--]--> `);
1313
+ if (utilityPanel) {
1314
+ $$renderer3.push("<!--[0-->");
1315
+ $$renderer3.push(`<aside class="st-appShell__utilityPanel svelte-do0njo"${attr("aria-label", utilityLabel)}>`);
1316
+ utilityPanel($$renderer3);
1317
+ $$renderer3.push(`<!----></aside>`);
1318
+ } else {
1319
+ $$renderer3.push("<!--[-1-->");
1320
+ }
1321
+ $$renderer3.push(`<!--]--></div> `);
1322
+ if (bottomPanel) {
1323
+ $$renderer3.push("<!--[0-->");
1324
+ $$renderer3.push(`<section class="st-appShell__bottomPanel svelte-do0njo" aria-label="Workspace tools">`);
1325
+ bottomPanel($$renderer3);
1326
+ $$renderer3.push(`<!----></section>`);
1327
+ } else {
1328
+ $$renderer3.push("<!--[-1-->");
1329
+ }
1330
+ $$renderer3.push(`<!--]--></div>`);
1331
+ } else {
1332
+ $$renderer3.push("<!--[-1-->");
1333
+ Header($$renderer3, {
1334
+ class: siteClasses(),
1335
+ label: siteConfig().brand?.label ?? "Navigation",
1336
+ logo,
1337
+ navigation,
1338
+ actions
1339
+ });
1340
+ }
1341
+ $$renderer3.push(`<!--]-->`);
1342
+ }
1343
+ do {
1344
+ $$settled = true;
1345
+ $$inner_renderer = $$renderer2.copy();
1346
+ $$render_inner($$inner_renderer);
1347
+ } while (!$$settled);
1348
+ $$renderer2.subsume($$inner_renderer);
1349
+ });
1350
+ }
1351
+
1352
+ export { AppShell as A, Button as B, Container as C, Flex as F, Icon as I, Alert as a, Card as b, Badge as c };
1353
+ //# sourceMappingURL=AppShell.js-6Pi87dO0.js.map