@fade_networker/vono 0.1.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 (319) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +47 -0
  3. package/dist/client/composables/navigateTo.d.ts +37 -0
  4. package/dist/client/composables/navigateTo.d.ts.map +1 -0
  5. package/dist/client/composables/navigateTo.js +56 -0
  6. package/dist/client/composables/navigateTo.js.map +1 -0
  7. package/dist/client/composables/useAsyncData.d.ts +35 -0
  8. package/dist/client/composables/useAsyncData.d.ts.map +1 -0
  9. package/dist/client/composables/useAsyncData.js +55 -0
  10. package/dist/client/composables/useAsyncData.js.map +1 -0
  11. package/dist/client/composables/useCookie.d.ts +33 -0
  12. package/dist/client/composables/useCookie.d.ts.map +1 -0
  13. package/dist/client/composables/useCookie.js +61 -0
  14. package/dist/client/composables/useCookie.js.map +1 -0
  15. package/dist/client/composables/useFormErrors.d.ts +34 -0
  16. package/dist/client/composables/useFormErrors.d.ts.map +1 -0
  17. package/dist/client/composables/useFormErrors.js +59 -0
  18. package/dist/client/composables/useFormErrors.js.map +1 -0
  19. package/dist/client/composables/useRouteRules.d.ts +26 -0
  20. package/dist/client/composables/useRouteRules.d.ts.map +1 -0
  21. package/dist/client/composables/useRouteRules.js +44 -0
  22. package/dist/client/composables/useRouteRules.js.map +1 -0
  23. package/dist/client/composables/useSeo.d.ts +35 -0
  24. package/dist/client/composables/useSeo.d.ts.map +1 -0
  25. package/dist/client/composables/useSeo.js +62 -0
  26. package/dist/client/composables/useSeo.js.map +1 -0
  27. package/dist/client/composables/useState.d.ts +35 -0
  28. package/dist/client/composables/useState.d.ts.map +1 -0
  29. package/dist/client/composables/useState.js +73 -0
  30. package/dist/client/composables/useState.js.map +1 -0
  31. package/dist/client/composables/useVonoFetch.d.ts +24 -0
  32. package/dist/client/composables/useVonoFetch.d.ts.map +1 -0
  33. package/dist/client/composables/useVonoFetch.js +49 -0
  34. package/dist/client/composables/useVonoFetch.js.map +1 -0
  35. package/dist/client/index.d.ts +19 -0
  36. package/dist/client/index.d.ts.map +1 -0
  37. package/dist/client/index.js +20 -0
  38. package/dist/client/index.js.map +1 -0
  39. package/dist/client/layouts/index.d.ts +12 -0
  40. package/dist/client/layouts/index.d.ts.map +1 -0
  41. package/dist/client/layouts/index.js +11 -0
  42. package/dist/client/layouts/index.js.map +1 -0
  43. package/dist/client/layouts/resolve-layout.d.ts +23 -0
  44. package/dist/client/layouts/resolve-layout.d.ts.map +1 -0
  45. package/dist/client/layouts/resolve-layout.js +31 -0
  46. package/dist/client/layouts/resolve-layout.js.map +1 -0
  47. package/dist/client/nuxt-ui/index.d.ts +11 -0
  48. package/dist/client/nuxt-ui/index.d.ts.map +1 -0
  49. package/dist/client/nuxt-ui/index.js +11 -0
  50. package/dist/client/nuxt-ui/index.js.map +1 -0
  51. package/dist/client/nuxt-ui/setup.d.ts +27 -0
  52. package/dist/client/nuxt-ui/setup.d.ts.map +1 -0
  53. package/dist/client/nuxt-ui/setup.js +40 -0
  54. package/dist/client/nuxt-ui/setup.js.map +1 -0
  55. package/dist/client/pinia-hydration.d.ts +35 -0
  56. package/dist/client/pinia-hydration.d.ts.map +1 -0
  57. package/dist/client/pinia-hydration.js +48 -0
  58. package/dist/client/pinia-hydration.js.map +1 -0
  59. package/dist/config/define-config.d.ts +25 -0
  60. package/dist/config/define-config.d.ts.map +1 -0
  61. package/dist/config/define-config.js +63 -0
  62. package/dist/config/define-config.js.map +1 -0
  63. package/dist/config/env-helpers.d.ts +30 -0
  64. package/dist/config/env-helpers.d.ts.map +1 -0
  65. package/dist/config/env-helpers.js +50 -0
  66. package/dist/config/env-helpers.js.map +1 -0
  67. package/dist/config/use-config.d.ts +31 -0
  68. package/dist/config/use-config.d.ts.map +1 -0
  69. package/dist/config/use-config.js +49 -0
  70. package/dist/config/use-config.js.map +1 -0
  71. package/dist/index.d.ts +16 -0
  72. package/dist/index.d.ts.map +1 -0
  73. package/dist/index.js +15 -0
  74. package/dist/index.js.map +1 -0
  75. package/dist/module-system/define-module.d.ts +82 -0
  76. package/dist/module-system/define-module.d.ts.map +1 -0
  77. package/dist/module-system/define-module.js +37 -0
  78. package/dist/module-system/define-module.js.map +1 -0
  79. package/dist/module-system/index.d.ts +14 -0
  80. package/dist/module-system/index.d.ts.map +1 -0
  81. package/dist/module-system/index.js +13 -0
  82. package/dist/module-system/index.js.map +1 -0
  83. package/dist/module-system/module-registry.d.ts +37 -0
  84. package/dist/module-system/module-registry.d.ts.map +1 -0
  85. package/dist/module-system/module-registry.js +68 -0
  86. package/dist/module-system/module-registry.js.map +1 -0
  87. package/dist/module-system/vite-integration.d.ts +23 -0
  88. package/dist/module-system/vite-integration.d.ts.map +1 -0
  89. package/dist/module-system/vite-integration.js +67 -0
  90. package/dist/module-system/vite-integration.js.map +1 -0
  91. package/dist/server/app-template.d.ts +47 -0
  92. package/dist/server/app-template.d.ts.map +1 -0
  93. package/dist/server/app-template.js +224 -0
  94. package/dist/server/app-template.js.map +1 -0
  95. package/dist/server/auth/gates.d.ts +79 -0
  96. package/dist/server/auth/gates.d.ts.map +1 -0
  97. package/dist/server/auth/gates.js +125 -0
  98. package/dist/server/auth/gates.js.map +1 -0
  99. package/dist/server/auth/index.d.ts +12 -0
  100. package/dist/server/auth/index.d.ts.map +1 -0
  101. package/dist/server/auth/index.js +12 -0
  102. package/dist/server/auth/index.js.map +1 -0
  103. package/dist/server/dto/query.dto.d.ts +44 -0
  104. package/dist/server/dto/query.dto.d.ts.map +1 -0
  105. package/dist/server/dto/query.dto.js +86 -0
  106. package/dist/server/dto/query.dto.js.map +1 -0
  107. package/dist/server/email/define-email.d.ts +41 -0
  108. package/dist/server/email/define-email.d.ts.map +1 -0
  109. package/dist/server/email/define-email.js +50 -0
  110. package/dist/server/email/define-email.js.map +1 -0
  111. package/dist/server/email/drivers/console.d.ts +16 -0
  112. package/dist/server/email/drivers/console.d.ts.map +1 -0
  113. package/dist/server/email/drivers/console.js +22 -0
  114. package/dist/server/email/drivers/console.js.map +1 -0
  115. package/dist/server/email/drivers/postmark.d.ts +19 -0
  116. package/dist/server/email/drivers/postmark.d.ts.map +1 -0
  117. package/dist/server/email/drivers/postmark.js +39 -0
  118. package/dist/server/email/drivers/postmark.js.map +1 -0
  119. package/dist/server/email/drivers/resend.d.ts +19 -0
  120. package/dist/server/email/drivers/resend.d.ts.map +1 -0
  121. package/dist/server/email/drivers/resend.js +37 -0
  122. package/dist/server/email/drivers/resend.js.map +1 -0
  123. package/dist/server/email/drivers/smtp.d.ts +26 -0
  124. package/dist/server/email/drivers/smtp.d.ts.map +1 -0
  125. package/dist/server/email/drivers/smtp.js +37 -0
  126. package/dist/server/email/drivers/smtp.js.map +1 -0
  127. package/dist/server/email/send-email.d.ts +42 -0
  128. package/dist/server/email/send-email.d.ts.map +1 -0
  129. package/dist/server/email/send-email.js +69 -0
  130. package/dist/server/email/send-email.js.map +1 -0
  131. package/dist/server/env-validation/define-env.d.ts +45 -0
  132. package/dist/server/env-validation/define-env.d.ts.map +1 -0
  133. package/dist/server/env-validation/define-env.js +41 -0
  134. package/dist/server/env-validation/define-env.js.map +1 -0
  135. package/dist/server/env-validation/index.d.ts +13 -0
  136. package/dist/server/env-validation/index.d.ts.map +1 -0
  137. package/dist/server/env-validation/index.js +12 -0
  138. package/dist/server/env-validation/index.js.map +1 -0
  139. package/dist/server/env-validation/validate-at-startup.d.ts +29 -0
  140. package/dist/server/env-validation/validate-at-startup.d.ts.map +1 -0
  141. package/dist/server/env-validation/validate-at-startup.js +61 -0
  142. package/dist/server/env-validation/validate-at-startup.js.map +1 -0
  143. package/dist/server/i18n/composables/useI18n.d.ts +39 -0
  144. package/dist/server/i18n/composables/useI18n.d.ts.map +1 -0
  145. package/dist/server/i18n/composables/useI18n.js +93 -0
  146. package/dist/server/i18n/composables/useI18n.js.map +1 -0
  147. package/dist/server/i18n/detect-locale.d.ts +22 -0
  148. package/dist/server/i18n/detect-locale.d.ts.map +1 -0
  149. package/dist/server/i18n/detect-locale.js +42 -0
  150. package/dist/server/i18n/detect-locale.js.map +1 -0
  151. package/dist/server/i18n/index.d.ts +14 -0
  152. package/dist/server/i18n/index.d.ts.map +1 -0
  153. package/dist/server/i18n/index.js +13 -0
  154. package/dist/server/i18n/index.js.map +1 -0
  155. package/dist/server/i18n/translate.d.ts +38 -0
  156. package/dist/server/i18n/translate.d.ts.map +1 -0
  157. package/dist/server/i18n/translate.js +83 -0
  158. package/dist/server/i18n/translate.js.map +1 -0
  159. package/dist/server/index.d.ts +40 -0
  160. package/dist/server/index.d.ts.map +1 -0
  161. package/dist/server/index.js +36 -0
  162. package/dist/server/index.js.map +1 -0
  163. package/dist/server/jobs/define-job.d.ts +50 -0
  164. package/dist/server/jobs/define-job.d.ts.map +1 -0
  165. package/dist/server/jobs/define-job.js +32 -0
  166. package/dist/server/jobs/define-job.js.map +1 -0
  167. package/dist/server/jobs/index.d.ts +13 -0
  168. package/dist/server/jobs/index.d.ts.map +1 -0
  169. package/dist/server/jobs/index.js +12 -0
  170. package/dist/server/jobs/index.js.map +1 -0
  171. package/dist/server/jobs/runner.d.ts +37 -0
  172. package/dist/server/jobs/runner.d.ts.map +1 -0
  173. package/dist/server/jobs/runner.js +75 -0
  174. package/dist/server/jobs/runner.js.map +1 -0
  175. package/dist/server/middleware/configProvider.d.ts +26 -0
  176. package/dist/server/middleware/configProvider.d.ts.map +1 -0
  177. package/dist/server/middleware/configProvider.js +78 -0
  178. package/dist/server/middleware/configProvider.js.map +1 -0
  179. package/dist/server/middleware/dbProvider.d.ts +27 -0
  180. package/dist/server/middleware/dbProvider.d.ts.map +1 -0
  181. package/dist/server/middleware/dbProvider.js +66 -0
  182. package/dist/server/middleware/dbProvider.js.map +1 -0
  183. package/dist/server/middleware/rateLimiter.d.ts +74 -0
  184. package/dist/server/middleware/rateLimiter.d.ts.map +1 -0
  185. package/dist/server/middleware/rateLimiter.js +164 -0
  186. package/dist/server/middleware/rateLimiter.js.map +1 -0
  187. package/dist/server/middleware/validator.d.ts +57 -0
  188. package/dist/server/middleware/validator.d.ts.map +1 -0
  189. package/dist/server/middleware/validator.js +128 -0
  190. package/dist/server/middleware/validator.js.map +1 -0
  191. package/dist/server/openapi/append-tag.d.ts +21 -0
  192. package/dist/server/openapi/append-tag.d.ts.map +1 -0
  193. package/dist/server/openapi/append-tag.js +54 -0
  194. package/dist/server/openapi/append-tag.js.map +1 -0
  195. package/dist/server/openapi/index.d.ts +13 -0
  196. package/dist/server/openapi/index.d.ts.map +1 -0
  197. package/dist/server/openapi/index.js +12 -0
  198. package/dist/server/openapi/index.js.map +1 -0
  199. package/dist/server/openapi/spec-template.d.ts +45 -0
  200. package/dist/server/openapi/spec-template.d.ts.map +1 -0
  201. package/dist/server/openapi/spec-template.js +132 -0
  202. package/dist/server/openapi/spec-template.js.map +1 -0
  203. package/dist/server/renderer.d.ts +62 -0
  204. package/dist/server/renderer.d.ts.map +1 -0
  205. package/dist/server/renderer.js +115 -0
  206. package/dist/server/renderer.js.map +1 -0
  207. package/dist/server/resolvers/cache-driver.d.ts +22 -0
  208. package/dist/server/resolvers/cache-driver.d.ts.map +1 -0
  209. package/dist/server/resolvers/cache-driver.js +29 -0
  210. package/dist/server/resolvers/cache-driver.js.map +1 -0
  211. package/dist/server/resolvers/index.d.ts +17 -0
  212. package/dist/server/resolvers/index.d.ts.map +1 -0
  213. package/dist/server/resolvers/index.js +14 -0
  214. package/dist/server/resolvers/index.js.map +1 -0
  215. package/dist/server/resolvers/queue-driver.d.ts +25 -0
  216. package/dist/server/resolvers/queue-driver.d.ts.map +1 -0
  217. package/dist/server/resolvers/queue-driver.js +44 -0
  218. package/dist/server/resolvers/queue-driver.js.map +1 -0
  219. package/dist/server/resolvers/storage-driver.d.ts +24 -0
  220. package/dist/server/resolvers/storage-driver.d.ts.map +1 -0
  221. package/dist/server/resolvers/storage-driver.js +38 -0
  222. package/dist/server/resolvers/storage-driver.js.map +1 -0
  223. package/dist/server/resolvers/validate-compatibility.d.ts +22 -0
  224. package/dist/server/resolvers/validate-compatibility.d.ts.map +1 -0
  225. package/dist/server/resolvers/validate-compatibility.js +83 -0
  226. package/dist/server/resolvers/validate-compatibility.js.map +1 -0
  227. package/dist/server/resources/base-resource.d.ts +57 -0
  228. package/dist/server/resources/base-resource.d.ts.map +1 -0
  229. package/dist/server/resources/base-resource.js +74 -0
  230. package/dist/server/resources/base-resource.js.map +1 -0
  231. package/dist/server/route-rules.d.ts +45 -0
  232. package/dist/server/route-rules.d.ts.map +1 -0
  233. package/dist/server/route-rules.js +66 -0
  234. package/dist/server/route-rules.js.map +1 -0
  235. package/dist/server/seo.d.ts +58 -0
  236. package/dist/server/seo.d.ts.map +1 -0
  237. package/dist/server/seo.js +85 -0
  238. package/dist/server/seo.js.map +1 -0
  239. package/dist/server/storage/drivers/bunny.d.ts +33 -0
  240. package/dist/server/storage/drivers/bunny.d.ts.map +1 -0
  241. package/dist/server/storage/drivers/bunny.js +70 -0
  242. package/dist/server/storage/drivers/bunny.js.map +1 -0
  243. package/dist/server/storage/drivers/cloudinary.d.ts +30 -0
  244. package/dist/server/storage/drivers/cloudinary.d.ts.map +1 -0
  245. package/dist/server/storage/drivers/cloudinary.js +86 -0
  246. package/dist/server/storage/drivers/cloudinary.js.map +1 -0
  247. package/dist/server/storage/drivers/local.d.ts +28 -0
  248. package/dist/server/storage/drivers/local.d.ts.map +1 -0
  249. package/dist/server/storage/drivers/local.js +57 -0
  250. package/dist/server/storage/drivers/local.js.map +1 -0
  251. package/dist/server/storage/drivers/r2.d.ts +32 -0
  252. package/dist/server/storage/drivers/r2.d.ts.map +1 -0
  253. package/dist/server/storage/drivers/r2.js +70 -0
  254. package/dist/server/storage/drivers/r2.js.map +1 -0
  255. package/dist/server/storage/drivers/s3.d.ts +29 -0
  256. package/dist/server/storage/drivers/s3.d.ts.map +1 -0
  257. package/dist/server/storage/drivers/s3.js +68 -0
  258. package/dist/server/storage/drivers/s3.js.map +1 -0
  259. package/dist/server/storage/index.d.ts +17 -0
  260. package/dist/server/storage/index.d.ts.map +1 -0
  261. package/dist/server/storage/index.js +16 -0
  262. package/dist/server/storage/index.js.map +1 -0
  263. package/dist/server/storage/types.d.ts +70 -0
  264. package/dist/server/storage/types.d.ts.map +1 -0
  265. package/dist/server/storage/types.js +11 -0
  266. package/dist/server/storage/types.js.map +1 -0
  267. package/dist/server/storage/use-storage.d.ts +54 -0
  268. package/dist/server/storage/use-storage.d.ts.map +1 -0
  269. package/dist/server/storage/use-storage.js +150 -0
  270. package/dist/server/storage/use-storage.js.map +1 -0
  271. package/dist/server/stream-renderer.d.ts +49 -0
  272. package/dist/server/stream-renderer.d.ts.map +1 -0
  273. package/dist/server/stream-renderer.js +89 -0
  274. package/dist/server/stream-renderer.js.map +1 -0
  275. package/dist/server/templates/health.routes.d.ts +22 -0
  276. package/dist/server/templates/health.routes.d.ts.map +1 -0
  277. package/dist/server/templates/health.routes.js +28 -0
  278. package/dist/server/templates/health.routes.js.map +1 -0
  279. package/dist/server/utils/storage-url.d.ts +36 -0
  280. package/dist/server/utils/storage-url.d.ts.map +1 -0
  281. package/dist/server/utils/storage-url.js +53 -0
  282. package/dist/server/utils/storage-url.js.map +1 -0
  283. package/dist/shared/utils/autoRoutes.d.ts +22 -0
  284. package/dist/shared/utils/autoRoutes.d.ts.map +1 -0
  285. package/dist/shared/utils/autoRoutes.js +29 -0
  286. package/dist/shared/utils/autoRoutes.js.map +1 -0
  287. package/dist/shared/utils/id.d.ts +25 -0
  288. package/dist/shared/utils/id.d.ts.map +1 -0
  289. package/dist/shared/utils/id.js +29 -0
  290. package/dist/shared/utils/id.js.map +1 -0
  291. package/dist/shared/utils/logger.d.ts +33 -0
  292. package/dist/shared/utils/logger.d.ts.map +1 -0
  293. package/dist/shared/utils/logger.js +65 -0
  294. package/dist/shared/utils/logger.js.map +1 -0
  295. package/dist/shared/utils/mappers.d.ts +23 -0
  296. package/dist/shared/utils/mappers.d.ts.map +1 -0
  297. package/dist/shared/utils/mappers.js +37 -0
  298. package/dist/shared/utils/mappers.js.map +1 -0
  299. package/dist/shared/utils/pagination.d.ts +26 -0
  300. package/dist/shared/utils/pagination.d.ts.map +1 -0
  301. package/dist/shared/utils/pagination.js +28 -0
  302. package/dist/shared/utils/pagination.js.map +1 -0
  303. package/dist/shared/utils/response.d.ts +38 -0
  304. package/dist/shared/utils/response.d.ts.map +1 -0
  305. package/dist/shared/utils/response.js +46 -0
  306. package/dist/shared/utils/response.js.map +1 -0
  307. package/dist/shared/utils/softDeletes.d.ts +90 -0
  308. package/dist/shared/utils/softDeletes.d.ts.map +1 -0
  309. package/dist/shared/utils/softDeletes.js +72 -0
  310. package/dist/shared/utils/softDeletes.js.map +1 -0
  311. package/dist/types/index.d.ts +191 -0
  312. package/dist/types/index.d.ts.map +1 -0
  313. package/dist/types/index.js +12 -0
  314. package/dist/types/index.js.map +1 -0
  315. package/dist/vite/index.d.ts +30 -0
  316. package/dist/vite/index.d.ts.map +1 -0
  317. package/dist/vite/index.js +218 -0
  318. package/dist/vite/index.js.map +1 -0
  319. package/package.json +77 -0
@@ -0,0 +1,62 @@
1
+ /**
2
+ * ──────────────────────────────────────────────────────────────────
3
+ * 🏢 Company Name: Bonifade Technologies
4
+ * 👨‍💻 Developer: Bowofade Oyerinde
5
+ * 🐙 GitHub: oyenet1
6
+ * 📅 Created Date: 2026-04-05
7
+ * 🔄 Updated Date: 2026-04-05
8
+ * ──────────────────────────────────────────────────────────────────
9
+ */
10
+ import { useHead } from '@unhead/vue';
11
+ /**
12
+ * Set all SEO meta tags for the current page.
13
+ * Works in both SSR and client — tags are server-rendered into HTML.
14
+ *
15
+ * Usage:
16
+ * ```ts
17
+ * useSeo({
18
+ * title: 'My Page',
19
+ * description: 'Page description',
20
+ * canonical: '/my-page',
21
+ * ogImage: '/images/og.png',
22
+ * })
23
+ * ```
24
+ */
25
+ export function useSeo(options) {
26
+ const baseUrl = import.meta.env.SSR
27
+ ? (process.env.APP_URL ?? 'https://myapp.com')
28
+ : window.location.origin;
29
+ const canonical = options.canonical
30
+ ? `${baseUrl}${options.canonical}`
31
+ : undefined;
32
+ const ogImage = options.ogImage
33
+ ? options.ogImage.startsWith('http')
34
+ ? options.ogImage
35
+ : `${baseUrl}${options.ogImage}`
36
+ : `${baseUrl}/images/og-default.png`;
37
+ useHead({
38
+ title: options.title,
39
+ meta: [
40
+ { name: 'description', content: options.description },
41
+ ...(options.noIndex ? [{ name: 'robots', content: 'noindex, nofollow' }] : []),
42
+ // Open Graph
43
+ { property: 'og:title', content: options.title },
44
+ { property: 'og:description', content: options.description },
45
+ { property: 'og:type', content: options.ogType ?? 'website' },
46
+ { property: 'og:image', content: ogImage },
47
+ ...(canonical ? [{ property: 'og:url', content: canonical }] : []),
48
+ // Twitter Card
49
+ { name: 'twitter:card', content: options.twitterCard ?? 'summary_large_image' },
50
+ { name: 'twitter:title', content: options.title },
51
+ { name: 'twitter:description', content: options.description },
52
+ { name: 'twitter:image', content: ogImage },
53
+ ],
54
+ link: [
55
+ ...(canonical ? [{ rel: 'canonical', href: canonical }] : []),
56
+ ],
57
+ script: options.structuredData
58
+ ? [{ type: 'application/ld+json', innerHTML: JSON.stringify(options.structuredData) }]
59
+ : [],
60
+ });
61
+ }
62
+ //# sourceMappingURL=useSeo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSeo.js","sourceRoot":"","sources":["../../../src/client/composables/useSeo.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAarC;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,MAAM,CAAC,OAAmB;IACxC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;QACjC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,mBAAmB,CAAC;QAC9C,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAA;IAE1B,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS;QACjC,CAAC,CAAC,GAAG,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE;QAClC,CAAC,CAAC,SAAS,CAAA;IAEb,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO;QAC7B,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;YAClC,CAAC,CAAC,OAAO,CAAC,OAAO;YACjB,CAAC,CAAC,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE;QAClC,CAAC,CAAC,GAAG,OAAO,wBAAwB,CAAA;IAEtC,OAAO,CAAC;QACN,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE;YACJ,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE;YACrD,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAE9E,aAAa;YACb,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE;YAChD,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE;YAC5D,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,IAAI,SAAS,EAAE;YAC7D,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE;YAC1C,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAElE,eAAe;YACf,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,IAAI,qBAAqB,EAAE;YAC/E,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE;YACjD,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE;YAC7D,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAE;SAC5C;QACD,IAAI,EAAE;YACJ,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9D;QACD,MAAM,EAAE,OAAO,CAAC,cAAc;YAC5B,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YACtF,CAAC,CAAC,EAAE;KACP,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * ──────────────────────────────────────────────────────────────────
3
+ * 🏢 Company Name: Bonifade Technologies
4
+ * 👨‍💻 Developer: Bowofade Oyerinde
5
+ * 🐙 GitHub: oyenet1
6
+ * 📅 Created Date: 2026-04-05
7
+ * 🔄 Updated Date: 2026-04-05
8
+ * ──────────────────────────────────────────────────────────────────
9
+ */
10
+ import type { Ref } from 'vue';
11
+ /**
12
+ * Shared state composable with SSR round-trip support.
13
+ *
14
+ * - On server: stores state in the SSR payload (serialized as window.__VONO_STATE__)
15
+ * - On client: restores state from window.__VONO_STATE__ on hydration
16
+ *
17
+ * Property 12: useState SSR round-trip
18
+ *
19
+ * Usage:
20
+ * ```ts
21
+ * const count = useState('counter', () => 0)
22
+ * count.value++ // reactive, SSR-safe
23
+ * ```
24
+ */
25
+ export declare function useState<T>(key: string, init?: () => T): Ref<T | undefined>;
26
+ /**
27
+ * Serialize all useState values for injection into the HTML.
28
+ * Called by the SSR renderer to produce window.__VONO_STATE__.
29
+ */
30
+ export declare function serializeVonoState(): string;
31
+ /**
32
+ * Clear the SSR state store between requests (server-side only).
33
+ */
34
+ export declare function clearVonoState(): void;
35
+ //# sourceMappingURL=useState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useState.d.ts","sourceRoot":"","sources":["../../../src/client/composables/useState.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAK9B;;;;;;;;;;;;;GAaG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAoC3E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAI3C;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAIrC"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * ──────────────────────────────────────────────────────────────────
3
+ * 🏢 Company Name: Bonifade Technologies
4
+ * 👨‍💻 Developer: Bowofade Oyerinde
5
+ * 🐙 GitHub: oyenet1
6
+ * 📅 Created Date: 2026-04-05
7
+ * 🔄 Updated Date: 2026-04-05
8
+ * ──────────────────────────────────────────────────────────────────
9
+ */
10
+ import { ref } from 'vue';
11
+ // SSR state store — shared across the request on server, window on client
12
+ const ssrStateStore = {};
13
+ /**
14
+ * Shared state composable with SSR round-trip support.
15
+ *
16
+ * - On server: stores state in the SSR payload (serialized as window.__VONO_STATE__)
17
+ * - On client: restores state from window.__VONO_STATE__ on hydration
18
+ *
19
+ * Property 12: useState SSR round-trip
20
+ *
21
+ * Usage:
22
+ * ```ts
23
+ * const count = useState('counter', () => 0)
24
+ * count.value++ // reactive, SSR-safe
25
+ * ```
26
+ */
27
+ export function useState(key, init) {
28
+ // On client: try to restore from SSR payload first
29
+ if (typeof window !== 'undefined') {
30
+ const windowState = window.__VONO_STATE__;
31
+ if (windowState?.[key] !== undefined) {
32
+ const restored = ref(windowState[key]);
33
+ delete windowState[key];
34
+ return restored;
35
+ }
36
+ }
37
+ // Check SSR store
38
+ if (ssrStateStore[key] !== undefined) {
39
+ return ref(ssrStateStore[key]);
40
+ }
41
+ // Initialize with provided factory or undefined
42
+ const value = init ? init() : undefined;
43
+ ssrStateStore[key] = value;
44
+ const state = ref(value);
45
+ // Keep SSR store in sync via a wrapper
46
+ const proxy = new Proxy(state, {
47
+ set(target, prop, newValue) {
48
+ if (prop === 'value') {
49
+ ssrStateStore[key] = newValue;
50
+ }
51
+ return Reflect.set(target, prop, newValue);
52
+ },
53
+ });
54
+ return proxy;
55
+ }
56
+ /**
57
+ * Serialize all useState values for injection into the HTML.
58
+ * Called by the SSR renderer to produce window.__VONO_STATE__.
59
+ */
60
+ export function serializeVonoState() {
61
+ return JSON.stringify(ssrStateStore)
62
+ .replace(/</g, '\\u003c')
63
+ .replace(/>/g, '\\u003e');
64
+ }
65
+ /**
66
+ * Clear the SSR state store between requests (server-side only).
67
+ */
68
+ export function clearVonoState() {
69
+ for (const key of Object.keys(ssrStateStore)) {
70
+ delete ssrStateStore[key];
71
+ }
72
+ }
73
+ //# sourceMappingURL=useState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useState.js","sourceRoot":"","sources":["../../../src/client/composables/useState.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAGzB,0EAA0E;AAC1E,MAAM,aAAa,GAA4B,EAAE,CAAA;AAEjD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,QAAQ,CAAI,GAAW,EAAE,IAAc;IACrD,mDAAmD;IACnD,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,MAAM,WAAW,GAAI,MAA6C,CAAC,cAEtD,CAAA;QAEb,IAAI,WAAW,EAAE,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAkB,CAAC,CAAA;YACvD,OAAO,WAAW,CAAC,GAAG,CAAC,CAAA;YACvB,OAAO,QAA8B,CAAA;QACvC,CAAC;IACH,CAAC;IAED,kBAAkB;IAClB,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,GAAG,CAAC,aAAa,CAAC,GAAG,CAAkB,CAAuB,CAAA;IACvE,CAAC;IAED,gDAAgD;IAChD,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IACvC,aAAa,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;IAE1B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAuB,CAAA;IAE9C,uCAAuC;IACvC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE;QAC7B,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;YACxB,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACrB,aAAa,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAA;YAC/B,CAAC;YACD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC5C,CAAC;KACF,CAAC,CAAA;IAEF,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;SACjC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;SACxB,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;QAC7C,OAAO,aAAa,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC;AACH,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * ──────────────────────────────────────────────────────────────────
3
+ * 🏢 Company Name: Bonifade Technologies
4
+ * 👨‍💻 Developer: Bowofade Oyerinde
5
+ * 🐙 GitHub: oyenet1
6
+ * 📅 Created Date: 2026-04-05
7
+ * 🔄 Updated Date: 2026-04-05
8
+ * ──────────────────────────────────────────────────────────────────
9
+ */
10
+ /**
11
+ * Typed fetch wrapper that handles SSR/client URL differences.
12
+ *
13
+ * - On server: uses relative URLs (same process)
14
+ * - On client: uses absolute URLs (cross-origin safe)
15
+ *
16
+ * Usage:
17
+ * ```ts
18
+ * const users = await useVonoFetch<User[]>('/api/v1/users')
19
+ * ```
20
+ */
21
+ export declare function useVonoFetch<T = unknown>(url: string, options?: RequestInit & {
22
+ baseUrl?: string;
23
+ }): Promise<T>;
24
+ //# sourceMappingURL=useVonoFetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useVonoFetch.d.ts","sourceRoot":"","sources":["../../../src/client/composables/useVonoFetch.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAAC,CAAC,GAAG,OAAO,EAC5C,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,WAAW,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/C,OAAO,CAAC,CAAC,CAAC,CA6BZ"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * ──────────────────────────────────────────────────────────────────
3
+ * 🏢 Company Name: Bonifade Technologies
4
+ * 👨‍💻 Developer: Bowofade Oyerinde
5
+ * 🐙 GitHub: oyenet1
6
+ * 📅 Created Date: 2026-04-05
7
+ * 🔄 Updated Date: 2026-04-05
8
+ * ──────────────────────────────────────────────────────────────────
9
+ */
10
+ /**
11
+ * Typed fetch wrapper that handles SSR/client URL differences.
12
+ *
13
+ * - On server: uses relative URLs (same process)
14
+ * - On client: uses absolute URLs (cross-origin safe)
15
+ *
16
+ * Usage:
17
+ * ```ts
18
+ * const users = await useVonoFetch<User[]>('/api/v1/users')
19
+ * ```
20
+ */
21
+ export async function useVonoFetch(url, options = {}) {
22
+ const { baseUrl, ...fetchOptions } = options;
23
+ // Resolve the full URL
24
+ let fullUrl;
25
+ if (url.startsWith('http://') || url.startsWith('https://')) {
26
+ fullUrl = url;
27
+ }
28
+ else if (import.meta.env.SSR) {
29
+ // On server: use the configured base URL or localhost
30
+ const base = baseUrl ?? process.env.APP_URL ?? 'http://localhost:4000';
31
+ fullUrl = `${base}${url}`;
32
+ }
33
+ else {
34
+ // On client: relative URL works fine
35
+ fullUrl = url;
36
+ }
37
+ const response = await fetch(fullUrl, {
38
+ headers: {
39
+ 'Content-Type': 'application/json',
40
+ ...fetchOptions.headers,
41
+ },
42
+ ...fetchOptions,
43
+ });
44
+ if (!response.ok) {
45
+ throw new Error(`[vono] useVonoFetch: ${response.status} ${response.statusText} — ${url}`);
46
+ }
47
+ return response.json();
48
+ }
49
+ //# sourceMappingURL=useVonoFetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useVonoFetch.js","sourceRoot":"","sources":["../../../src/client/composables/useVonoFetch.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,GAAW,EACX,UAA8C,EAAE;IAEhD,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,EAAE,GAAG,OAAO,CAAA;IAE5C,uBAAuB;IACvB,IAAI,OAAe,CAAA;IACnB,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5D,OAAO,GAAG,GAAG,CAAA;IACf,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QAC/B,sDAAsD;QACtD,MAAM,IAAI,GAAG,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,uBAAuB,CAAA;QACtE,OAAO,GAAG,GAAG,IAAI,GAAG,GAAG,EAAE,CAAA;IAC3B,CAAC;SAAM,CAAC;QACN,qCAAqC;QACrC,OAAO,GAAG,GAAG,CAAA;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE;QACpC,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,GAAG,YAAY,CAAC,OAAO;SACxB;QACD,GAAG,YAAY;KAChB,CAAC,CAAA;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,MAAM,GAAG,EAAE,CAAC,CAAA;IAC5F,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,EAAgB,CAAA;AACtC,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * ──────────────────────────────────────────────────────────────────
3
+ * 🏢 Company Name: Bonifade Technologies
4
+ * 👨‍💻 Developer: Bowofade Oyerinde
5
+ * 🐙 GitHub: oyenet1
6
+ * 📅 Created Date: 2026-04-05
7
+ * 🔄 Updated Date: 2026-04-05
8
+ * ──────────────────────────────────────────────────────────────────
9
+ */
10
+ export { useAsyncData } from './composables/useAsyncData.js';
11
+ export { useVonoFetch } from './composables/useVonoFetch.js';
12
+ export { useCookie } from './composables/useCookie.js';
13
+ export { useState, serializeVonoState, clearVonoState } from './composables/useState.js';
14
+ export { navigateTo, setSSRRedirectHandler } from './composables/navigateTo.js';
15
+ export { useSeo } from './composables/useSeo.js';
16
+ export { useRouteRules } from './composables/useRouteRules.js';
17
+ export { useFormErrors } from './composables/useFormErrors.js';
18
+ export { hydratePinia, serializePiniaState } from './pinia-hydration.js';
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AACxF,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AAC/E,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * ──────────────────────────────────────────────────────────────────
3
+ * 🏢 Company Name: Bonifade Technologies
4
+ * 👨‍💻 Developer: Bowofade Oyerinde
5
+ * 🐙 GitHub: oyenet1
6
+ * 📅 Created Date: 2026-04-05
7
+ * 🔄 Updated Date: 2026-04-05
8
+ * ──────────────────────────────────────────────────────────────────
9
+ */
10
+ // vono/client — client-side composables and utilities
11
+ export { useAsyncData } from './composables/useAsyncData.js';
12
+ export { useVonoFetch } from './composables/useVonoFetch.js';
13
+ export { useCookie } from './composables/useCookie.js';
14
+ export { useState, serializeVonoState, clearVonoState } from './composables/useState.js';
15
+ export { navigateTo, setSSRRedirectHandler } from './composables/navigateTo.js';
16
+ export { useSeo } from './composables/useSeo.js';
17
+ export { useRouteRules } from './composables/useRouteRules.js';
18
+ export { useFormErrors } from './composables/useFormErrors.js';
19
+ export { hydratePinia, serializePiniaState } from './pinia-hydration.js';
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,sDAAsD;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AACxF,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AAC/E,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * ──────────────────────────────────────────────────────────────────
3
+ * 🏢 Company Name: Bonifade Technologies
4
+ * 👨‍💻 Developer: Bowofade Oyerinde
5
+ * 🐙 GitHub: oyenet1
6
+ * 📅 Created Date: 2026-04-05
7
+ * 🔄 Updated Date: 2026-04-05
8
+ * ──────────────────────────────────────────────────────────────────
9
+ */
10
+ export { resolveLayout } from './resolve-layout.js';
11
+ export type { LayoutName } from './resolve-layout.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/layouts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * ──────────────────────────────────────────────────────────────────
3
+ * 🏢 Company Name: Bonifade Technologies
4
+ * 👨‍💻 Developer: Bowofade Oyerinde
5
+ * 🐙 GitHub: oyenet1
6
+ * 📅 Created Date: 2026-04-05
7
+ * 🔄 Updated Date: 2026-04-05
8
+ * ──────────────────────────────────────────────────────────────────
9
+ */
10
+ export { resolveLayout } from './resolve-layout.js';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/layouts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * ──────────────────────────────────────────────────────────────────
3
+ * 🏢 Company Name: Bonifade Technologies
4
+ * 👨‍💻 Developer: Bowofade Oyerinde
5
+ * 🐙 GitHub: oyenet1
6
+ * 📅 Created Date: 2026-04-05
7
+ * 🔄 Updated Date: 2026-04-05
8
+ * ──────────────────────────────────────────────────────────────────
9
+ */
10
+ import type { Component } from 'vue';
11
+ export type LayoutName = 'default' | 'dashboard' | 'auth' | 'blank' | undefined;
12
+ /**
13
+ * resolveLayout — returns the correct layout component for a given name.
14
+ *
15
+ * Returns null for 'blank' or undefined (no wrapper).
16
+ * Returns a lazy-loaded component for named layouts.
17
+ *
18
+ * The actual .vue files live in the generated project's src/shared/layouts/.
19
+ * This function is a runtime helper — the import paths are resolved by Vite
20
+ * in the consuming project, not by tsc in the framework package.
21
+ */
22
+ export declare function resolveLayout(layoutName: LayoutName, layoutMap?: Record<string, Component>): Component | null;
23
+ //# sourceMappingURL=resolve-layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-layout.d.ts","sourceRoot":"","sources":["../../../src/client/layouts/resolve-layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAEpC,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAA;AAE/E;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,UAAU,EAAE,UAAU,EACtB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GACpC,SAAS,GAAG,IAAI,CAWlB"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * ──────────────────────────────────────────────────────────────────
3
+ * 🏢 Company Name: Bonifade Technologies
4
+ * 👨‍💻 Developer: Bowofade Oyerinde
5
+ * 🐙 GitHub: oyenet1
6
+ * 📅 Created Date: 2026-04-05
7
+ * 🔄 Updated Date: 2026-04-05
8
+ * ──────────────────────────────────────────────────────────────────
9
+ */
10
+ /**
11
+ * resolveLayout — returns the correct layout component for a given name.
12
+ *
13
+ * Returns null for 'blank' or undefined (no wrapper).
14
+ * Returns a lazy-loaded component for named layouts.
15
+ *
16
+ * The actual .vue files live in the generated project's src/shared/layouts/.
17
+ * This function is a runtime helper — the import paths are resolved by Vite
18
+ * in the consuming project, not by tsc in the framework package.
19
+ */
20
+ export function resolveLayout(layoutName, layoutMap) {
21
+ if (!layoutName || layoutName === 'blank')
22
+ return null;
23
+ // If a custom layout map is provided (from the consuming project), use it
24
+ if (layoutMap && layoutMap[layoutName]) {
25
+ return layoutMap[layoutName];
26
+ }
27
+ // Return null — the consuming project's App.vue handles layout resolution
28
+ // via its own import.meta.glob of src/shared/layouts/*.vue
29
+ return null;
30
+ }
31
+ //# sourceMappingURL=resolve-layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-layout.js","sourceRoot":"","sources":["../../../src/client/layouts/resolve-layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAC3B,UAAsB,EACtB,SAAqC;IAErC,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,OAAO;QAAE,OAAO,IAAI,CAAA;IAEtD,0EAA0E;IAC1E,IAAI,SAAS,IAAI,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;QACvC,OAAO,SAAS,CAAC,UAAU,CAAC,CAAA;IAC9B,CAAC;IAED,0EAA0E;IAC1E,2DAA2D;IAC3D,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * ──────────────────────────────────────────────────────────────────
3
+ * 🏢 Company Name: Bonifade Technologies
4
+ * 👨‍💻 Developer: Bowofade Oyerinde
5
+ * 🐙 GitHub: oyenet1
6
+ * 📅 Created Date: 2026-04-05
7
+ * 🔄 Updated Date: 2026-04-05
8
+ * ──────────────────────────────────────────────────────────────────
9
+ */
10
+ export { setupNuxtUI } from './setup.js';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/nuxt-ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * ──────────────────────────────────────────────────────────────────
3
+ * 🏢 Company Name: Bonifade Technologies
4
+ * 👨‍💻 Developer: Bowofade Oyerinde
5
+ * 🐙 GitHub: oyenet1
6
+ * 📅 Created Date: 2026-04-05
7
+ * 🔄 Updated Date: 2026-04-05
8
+ * ──────────────────────────────────────────────────────────────────
9
+ */
10
+ export { setupNuxtUI } from './setup.js';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/nuxt-ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * ──────────────────────────────────────────────────────────────────
3
+ * 🏢 Company Name: Bonifade Technologies
4
+ * 👨‍💻 Developer: Bowofade Oyerinde
5
+ * 🐙 GitHub: oyenet1
6
+ * 📅 Created Date: 2026-04-05
7
+ * 🔄 Updated Date: 2026-04-05
8
+ * ──────────────────────────────────────────────────────────────────
9
+ */
10
+ import type { App } from 'vue';
11
+ /**
12
+ * setupNuxtUI — registers the @nuxt/ui Vue plugin on the app instance.
13
+ *
14
+ * Call this in your generated src/main.ts:
15
+ * ```ts
16
+ * import { setupNuxtUI } from 'vono/client'
17
+ * setupNuxtUI(app, { primary: 'blue', neutral: 'zinc' })
18
+ * ```
19
+ *
20
+ * @param app — Vue app instance
21
+ * @param colors — optional color overrides (primary, neutral)
22
+ */
23
+ export declare function setupNuxtUI(app: App, colors?: {
24
+ primary?: string;
25
+ neutral?: string;
26
+ }): Promise<void>;
27
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/client/nuxt-ui/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAI9B;;;;;;;;;;;GAWG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,GAAG,EACR,MAAM,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9C,OAAO,CAAC,IAAI,CAAC,CAef"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * ──────────────────────────────────────────────────────────────────
3
+ * 🏢 Company Name: Bonifade Technologies
4
+ * 👨‍💻 Developer: Bowofade Oyerinde
5
+ * 🐙 GitHub: oyenet1
6
+ * 📅 Created Date: 2026-04-05
7
+ * 🔄 Updated Date: 2026-04-05
8
+ * ──────────────────────────────────────────────────────────────────
9
+ */
10
+ // ─── setupNuxtUI ─────────────────────────────────────────────────────
11
+ /**
12
+ * setupNuxtUI — registers the @nuxt/ui Vue plugin on the app instance.
13
+ *
14
+ * Call this in your generated src/main.ts:
15
+ * ```ts
16
+ * import { setupNuxtUI } from 'vono/client'
17
+ * setupNuxtUI(app, { primary: 'blue', neutral: 'zinc' })
18
+ * ```
19
+ *
20
+ * @param app — Vue app instance
21
+ * @param colors — optional color overrides (primary, neutral)
22
+ */
23
+ export async function setupNuxtUI(app, colors) {
24
+ try {
25
+ // Dynamic import to avoid hard dependency at build time
26
+ const { ui } = await import('@nuxt/ui/vue-plugin');
27
+ if (colors) {
28
+ // @nuxt/ui reads colors from CSS variables; pass them as plugin options
29
+ app.use(ui, { colors });
30
+ }
31
+ else {
32
+ app.use(ui);
33
+ }
34
+ }
35
+ catch {
36
+ // @nuxt/ui not installed — silently skip
37
+ // The user may not have it as a dependency yet
38
+ }
39
+ }
40
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/client/nuxt-ui/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,wEAAwE;AAExE;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,GAAQ,EACR,MAA+C;IAE/C,IAAI,CAAC;QACH,wDAAwD;QACxD,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAA;QAElD,IAAI,MAAM,EAAE,CAAC;YACX,wEAAwE;YACxE,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;QACzB,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACb,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,yCAAyC;QACzC,+CAA+C;IACjD,CAAC;AACH,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * ──────────────────────────────────────────────────────────────────
3
+ * 🏢 Company Name: Bonifade Technologies
4
+ * 👨‍💻 Developer: Bowofade Oyerinde
5
+ * 🐙 GitHub: oyenet1
6
+ * 📅 Created Date: 2026-04-05
7
+ * 🔄 Updated Date: 2026-04-05
8
+ * ──────────────────────────────────────────────────────────────────
9
+ */
10
+ /**
11
+ * Hydrate Pinia state from the server-injected script tag.
12
+ *
13
+ * Call this in app.ts before mounting the Vue app:
14
+ * ```ts
15
+ * import { hydratePinia } from 'vono/client'
16
+ * hydratePinia(pinia)
17
+ * ```
18
+ *
19
+ * Property 11: Pinia state SSR round-trip
20
+ * Serialized on server → injected as JSON → deserialized on client
21
+ * → equivalent state object
22
+ */
23
+ export declare function hydratePinia(pinia: {
24
+ state: {
25
+ value: Record<string, unknown>;
26
+ };
27
+ }): void;
28
+ /**
29
+ * Serialize Pinia state for server injection.
30
+ * XSS-safe: escapes < and > to prevent </script> injection.
31
+ *
32
+ * Used internally by the SSR renderer.
33
+ */
34
+ export declare function serializePiniaState(state: Record<string, unknown>): string;
35
+ //# sourceMappingURL=pinia-hydration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pinia-hydration.d.ts","sourceRoot":"","sources":["../../src/client/pinia-hydration.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAA;CAAE,GAAG,IAAI,CAYvF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAI1E"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * ──────────────────────────────────────────────────────────────────
3
+ * 🏢 Company Name: Bonifade Technologies
4
+ * 👨‍💻 Developer: Bowofade Oyerinde
5
+ * 🐙 GitHub: oyenet1
6
+ * 📅 Created Date: 2026-04-05
7
+ * 🔄 Updated Date: 2026-04-05
8
+ * ──────────────────────────────────────────────────────────────────
9
+ */
10
+ /**
11
+ * Hydrate Pinia state from the server-injected script tag.
12
+ *
13
+ * Call this in app.ts before mounting the Vue app:
14
+ * ```ts
15
+ * import { hydratePinia } from 'vono/client'
16
+ * hydratePinia(pinia)
17
+ * ```
18
+ *
19
+ * Property 11: Pinia state SSR round-trip
20
+ * Serialized on server → injected as JSON → deserialized on client
21
+ * → equivalent state object
22
+ */
23
+ export function hydratePinia(pinia) {
24
+ if (typeof document === 'undefined')
25
+ return;
26
+ const stateEl = document.getElementById('__pinia');
27
+ if (!stateEl?.textContent)
28
+ return;
29
+ try {
30
+ const state = JSON.parse(stateEl.textContent);
31
+ pinia.state.value = state;
32
+ }
33
+ catch {
34
+ // Malformed state — ignore and let the app fetch fresh data
35
+ }
36
+ }
37
+ /**
38
+ * Serialize Pinia state for server injection.
39
+ * XSS-safe: escapes < and > to prevent </script> injection.
40
+ *
41
+ * Used internally by the SSR renderer.
42
+ */
43
+ export function serializePiniaState(state) {
44
+ return JSON.stringify(state)
45
+ .replace(/</g, '\\u003c')
46
+ .replace(/>/g, '\\u003e');
47
+ }
48
+ //# sourceMappingURL=pinia-hydration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pinia-hydration.js","sourceRoot":"","sources":["../../src/client/pinia-hydration.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,YAAY,CAAC,KAAoD;IAC/E,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAM;IAE3C,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;IAClD,IAAI,CAAC,OAAO,EAAE,WAAW;QAAE,OAAM;IAEjC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAA4B,CAAA;QACxE,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAA;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,4DAA4D;IAC9D,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAA8B;IAChE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;SACzB,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;SACxB,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;AAC7B,CAAC"}