@websolutespa/bom-next 3.0.1 → 4.0.0-next.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 (313) hide show
  1. package/CHANGELOG.md +17 -7
  2. package/dist/_virtual/rolldown_runtime.js +27 -0
  3. package/dist/client/client.d.ts +9 -0
  4. package/dist/client/client.d.ts.map +1 -0
  5. package/dist/client/client.js +29 -0
  6. package/dist/client/client.js.map +1 -0
  7. package/dist/client/extra.d.ts +17 -0
  8. package/dist/client/extra.d.ts.map +1 -0
  9. package/dist/client/extra.js +18 -0
  10. package/dist/client/extra.js.map +1 -0
  11. package/dist/client/label.d.ts +15 -0
  12. package/dist/client/label.d.ts.map +1 -0
  13. package/dist/client/label.js +25 -0
  14. package/dist/client/label.js.map +1 -0
  15. package/dist/client/layout.d.ts +18 -0
  16. package/dist/client/layout.d.ts.map +1 -0
  17. package/dist/client/layout.js +18 -0
  18. package/dist/client/layout.js.map +1 -0
  19. package/dist/client/local.collection.d.ts +32 -0
  20. package/dist/client/local.collection.d.ts.map +1 -0
  21. package/dist/client/local.collection.js +51 -0
  22. package/dist/client/local.collection.js.map +1 -0
  23. package/dist/client/metadata.d.ts +43 -0
  24. package/dist/client/metadata.d.ts.map +1 -0
  25. package/dist/client/metadata.js +154 -0
  26. package/dist/client/metadata.js.map +1 -0
  27. package/dist/client/page.d.ts +404 -0
  28. package/dist/client/page.d.ts.map +1 -0
  29. package/dist/client/page.js +18 -0
  30. package/dist/client/page.js.map +1 -0
  31. package/dist/client/useApi.d.ts +21 -0
  32. package/dist/client/useApi.d.ts.map +1 -0
  33. package/dist/client/useApi.js +66 -0
  34. package/dist/client/useApi.js.map +1 -0
  35. package/dist/client/useCollectionApi.d.ts +21 -0
  36. package/dist/client/useCollectionApi.d.ts.map +1 -0
  37. package/dist/client/useCollectionApi.js +67 -0
  38. package/dist/client/useCollectionApi.js.map +1 -0
  39. package/dist/client/useExtra.d.ts +9 -0
  40. package/dist/client/useExtra.d.ts.map +1 -0
  41. package/dist/client/useExtra.js +16 -0
  42. package/dist/client/useExtra.js.map +1 -0
  43. package/dist/client/useHttp.d.ts +15 -0
  44. package/dist/client/useHttp.d.ts.map +1 -0
  45. package/dist/client/useHttp.js +73 -0
  46. package/dist/client/useHttp.js.map +1 -0
  47. package/dist/client/useLabel.d.ts +9 -0
  48. package/dist/client/useLabel.d.ts.map +1 -0
  49. package/dist/client/useLabel.js +16 -0
  50. package/dist/client/useLabel.js.map +1 -0
  51. package/dist/client/useLayout.d.ts +9 -0
  52. package/dist/client/useLayout.d.ts.map +1 -0
  53. package/dist/client/useLayout.js +16 -0
  54. package/dist/client/useLayout.js.map +1 -0
  55. package/dist/client/useLink.d.ts +7 -0
  56. package/dist/client/useLink.d.ts.map +1 -0
  57. package/dist/client/useLink.js +19 -0
  58. package/dist/client/useLink.js.map +1 -0
  59. package/dist/client/useMetaData.d.ts +9 -0
  60. package/dist/client/useMetaData.d.ts.map +1 -0
  61. package/dist/client/useMetaData.js +16 -0
  62. package/dist/client/useMetaData.js.map +1 -0
  63. package/dist/client/usePage.d.ts +394 -0
  64. package/dist/client/usePage.d.ts.map +1 -0
  65. package/dist/client/usePage.js +16 -0
  66. package/dist/client/usePage.js.map +1 -0
  67. package/dist/client/useUser.d.ts +9 -0
  68. package/dist/client/useUser.d.ts.map +1 -0
  69. package/dist/client/useUser.js +16 -0
  70. package/dist/client/useUser.js.map +1 -0
  71. package/dist/client/user.d.ts +20 -0
  72. package/dist/client/user.d.ts.map +1 -0
  73. package/dist/client/user.js +39 -0
  74. package/dist/client/user.js.map +1 -0
  75. package/dist/exports/client.d.ts +20 -979
  76. package/dist/exports/client.js +20 -5734
  77. package/dist/exports/instrumentation.d.ts +2 -13
  78. package/dist/exports/instrumentation.js +2 -24
  79. package/dist/exports/proxy.d.ts +5 -71
  80. package/dist/exports/proxy.js +5 -253
  81. package/dist/exports/server.d.ts +19 -402
  82. package/dist/exports/server.js +20 -1974
  83. package/dist/index.d.ts +18 -499
  84. package/dist/index.js +11 -200
  85. package/dist/instrumentation/client.d.ts +8 -0
  86. package/dist/instrumentation/client.d.ts.map +1 -0
  87. package/dist/instrumentation/client.js +16 -0
  88. package/dist/instrumentation/client.js.map +1 -0
  89. package/dist/instrumentation/sentry/capture.requestError.js +13 -0
  90. package/dist/instrumentation/sentry/capture.requestError.js.map +1 -0
  91. package/dist/instrumentation/sentry/capture.routerTransitionStart.js +8 -0
  92. package/dist/instrumentation/sentry/capture.routerTransitionStart.js.map +1 -0
  93. package/dist/instrumentation/sentry/config.client.js +10 -0
  94. package/dist/instrumentation/sentry/config.client.js.map +1 -0
  95. package/dist/instrumentation/sentry/config.edge.js +10 -0
  96. package/dist/instrumentation/sentry/config.edge.js.map +1 -0
  97. package/dist/instrumentation/sentry/config.server.js +10 -0
  98. package/dist/instrumentation/sentry/config.server.js.map +1 -0
  99. package/dist/instrumentation/server.d.ts +13 -0
  100. package/dist/instrumentation/server.d.ts.map +1 -0
  101. package/dist/instrumentation/server.js +22 -0
  102. package/dist/instrumentation/server.js.map +1 -0
  103. package/dist/{types2.d.ts → instrumentation/types.d.ts} +2 -2
  104. package/dist/instrumentation/types.d.ts.map +1 -0
  105. package/dist/lib/breadcrumb.d.ts +15 -0
  106. package/dist/lib/breadcrumb.d.ts.map +1 -0
  107. package/dist/lib/breadcrumb.js +25 -0
  108. package/dist/lib/breadcrumb.js.map +1 -0
  109. package/dist/lib/const.d.ts +9 -0
  110. package/dist/lib/const.d.ts.map +1 -0
  111. package/dist/lib/const.js +9 -0
  112. package/dist/lib/const.js.map +1 -0
  113. package/dist/lib/http.d.ts +36 -0
  114. package/dist/lib/http.d.ts.map +1 -0
  115. package/dist/{http.js → lib/http.js} +7 -4
  116. package/dist/lib/http.js.map +1 -0
  117. package/dist/lib/label.d.ts +16 -0
  118. package/dist/lib/label.d.ts.map +1 -0
  119. package/dist/lib/label.js +34 -0
  120. package/dist/lib/label.js.map +1 -0
  121. package/dist/lib/layout.defaults.d.ts +9 -0
  122. package/dist/lib/layout.defaults.d.ts.map +1 -0
  123. package/dist/lib/layout.defaults.js +161 -0
  124. package/dist/lib/layout.defaults.js.map +1 -0
  125. package/dist/lib/link.d.ts +9 -0
  126. package/dist/lib/link.d.ts.map +1 -0
  127. package/dist/lib/link.js +17 -0
  128. package/dist/lib/link.js.map +1 -0
  129. package/dist/lib/meta-data.d.ts +56 -0
  130. package/dist/lib/meta-data.d.ts.map +1 -0
  131. package/dist/lib/open-graph.d.ts +143 -0
  132. package/dist/lib/open-graph.d.ts.map +1 -0
  133. package/dist/lib/pagination.d.ts +27 -0
  134. package/dist/lib/pagination.d.ts.map +1 -0
  135. package/dist/lib/pagination.js +41 -0
  136. package/dist/lib/pagination.js.map +1 -0
  137. package/dist/lib/route.d.ts +17 -0
  138. package/dist/lib/route.d.ts.map +1 -0
  139. package/dist/{route.js → lib/route.js} +10 -4
  140. package/dist/lib/route.js.map +1 -0
  141. package/dist/lib/store.d.ts +27 -0
  142. package/dist/lib/store.d.ts.map +1 -0
  143. package/dist/lib/store.js +50 -0
  144. package/dist/lib/store.js.map +1 -0
  145. package/dist/lib/structured-data.d.ts +9 -0
  146. package/dist/lib/structured-data.d.ts.map +1 -0
  147. package/dist/lib/twitter-card.d.ts +43 -0
  148. package/dist/lib/twitter-card.d.ts.map +1 -0
  149. package/dist/lib/utils.d.ts +13 -0
  150. package/dist/lib/utils.d.ts.map +1 -0
  151. package/dist/lib/utils.js +36 -0
  152. package/dist/lib/utils.js.map +1 -0
  153. package/dist/mock.d.ts +127 -0
  154. package/dist/mock.d.ts.map +1 -0
  155. package/dist/node_modules/@selderee/plugin-htmlparser2/lib/hp2-builder.js +76 -0
  156. package/dist/node_modules/@selderee/plugin-htmlparser2/lib/hp2-builder.js.map +1 -0
  157. package/dist/node_modules/deepmerge/dist/cjs.js +94 -0
  158. package/dist/node_modules/deepmerge/dist/cjs.js.map +1 -0
  159. package/dist/node_modules/dom-serializer/lib/esm/foreignNames.js +105 -0
  160. package/dist/node_modules/dom-serializer/lib/esm/foreignNames.js.map +1 -0
  161. package/dist/node_modules/dom-serializer/lib/esm/index.js +141 -0
  162. package/dist/node_modules/dom-serializer/lib/esm/index.js.map +1 -0
  163. package/dist/node_modules/domelementtype/lib/esm/index.js +53 -0
  164. package/dist/node_modules/domelementtype/lib/esm/index.js.map +1 -0
  165. package/dist/node_modules/domhandler/lib/esm/index.js +131 -0
  166. package/dist/node_modules/domhandler/lib/esm/index.js.map +1 -0
  167. package/dist/node_modules/domhandler/lib/esm/node.js +308 -0
  168. package/dist/node_modules/domhandler/lib/esm/node.js.map +1 -0
  169. package/dist/node_modules/entities/lib/esm/decode.js +364 -0
  170. package/dist/node_modules/entities/lib/esm/decode.js.map +1 -0
  171. package/dist/node_modules/entities/lib/esm/decode_codepoint.js +59 -0
  172. package/dist/node_modules/entities/lib/esm/decode_codepoint.js.map +1 -0
  173. package/dist/node_modules/entities/lib/esm/escape.js +93 -0
  174. package/dist/node_modules/entities/lib/esm/escape.js.map +1 -0
  175. package/dist/node_modules/entities/lib/esm/generated/decode-data-html.js +6 -0
  176. package/dist/node_modules/entities/lib/esm/generated/decode-data-html.js.map +1 -0
  177. package/dist/node_modules/entities/lib/esm/generated/decode-data-xml.js +6 -0
  178. package/dist/node_modules/entities/lib/esm/generated/decode-data-xml.js.map +1 -0
  179. package/dist/node_modules/html-to-text/lib/html-to-text.js +1828 -0
  180. package/dist/node_modules/html-to-text/lib/html-to-text.js.map +1 -0
  181. package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/Parser.js +435 -0
  182. package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/Parser.js.map +1 -0
  183. package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/Tokenizer.js +739 -0
  184. package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/Tokenizer.js.map +1 -0
  185. package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/index.js +20 -0
  186. package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/index.js.map +1 -0
  187. package/dist/node_modules/leac/lib/leac.js +101 -0
  188. package/dist/node_modules/leac/lib/leac.js.map +1 -0
  189. package/dist/node_modules/parseley/lib/parseley.js +314 -0
  190. package/dist/node_modules/parseley/lib/parseley.js.map +1 -0
  191. package/dist/node_modules/peberminta/lib/core.js +149 -0
  192. package/dist/node_modules/peberminta/lib/core.js.map +1 -0
  193. package/dist/node_modules/selderee/lib/selderee.js +325 -0
  194. package/dist/node_modules/selderee/lib/selderee.js.map +1 -0
  195. package/dist/proxy/protected-route.d.ts +9 -0
  196. package/dist/proxy/protected-route.d.ts.map +1 -0
  197. package/dist/proxy/protected-route.js +45 -0
  198. package/dist/proxy/protected-route.js.map +1 -0
  199. package/dist/proxy/proxy.d.ts +31 -0
  200. package/dist/proxy/proxy.d.ts.map +1 -0
  201. package/dist/proxy/proxy.js +64 -0
  202. package/dist/proxy/proxy.js.map +1 -0
  203. package/dist/proxy/route-auto-detection.d.ts +12 -0
  204. package/dist/proxy/route-auto-detection.d.ts.map +1 -0
  205. package/dist/proxy/route-auto-detection.js +94 -0
  206. package/dist/proxy/route-auto-detection.js.map +1 -0
  207. package/dist/proxy/route-proxy.d.ts +36 -0
  208. package/dist/proxy/route-proxy.d.ts.map +1 -0
  209. package/dist/proxy/route-proxy.js +120 -0
  210. package/dist/proxy/route-proxy.js.map +1 -0
  211. package/dist/server/context.d.ts +30 -0
  212. package/dist/server/context.d.ts.map +1 -0
  213. package/dist/server/context.js +124 -0
  214. package/dist/server/context.js.map +1 -0
  215. package/dist/server/handlers/auth.handler.d.ts +10 -0
  216. package/dist/server/handlers/auth.handler.d.ts.map +1 -0
  217. package/dist/server/handlers/auth.handler.js +31 -0
  218. package/dist/server/handlers/auth.handler.js.map +1 -0
  219. package/dist/server/handlers/captions.handler.d.ts +10 -0
  220. package/dist/server/handlers/captions.handler.d.ts.map +1 -0
  221. package/dist/server/handlers/captions.handler.js +35 -0
  222. package/dist/server/handlers/captions.handler.js.map +1 -0
  223. package/dist/server/handlers/collection.handler.d.ts +36 -0
  224. package/dist/server/handlers/collection.handler.d.ts.map +1 -0
  225. package/dist/server/handlers/collection.handler.js +167 -0
  226. package/dist/server/handlers/collection.handler.js.map +1 -0
  227. package/dist/server/handlers/error-response.js +28 -0
  228. package/dist/server/handlers/error-response.js.map +1 -0
  229. package/dist/server/handlers/index.handler.d.ts +9 -0
  230. package/dist/server/handlers/index.handler.d.ts.map +1 -0
  231. package/dist/server/handlers/index.handler.js +146 -0
  232. package/dist/server/handlers/index.handler.js.map +1 -0
  233. package/dist/server/handlers/preview.handler.d.ts +9 -0
  234. package/dist/server/handlers/preview.handler.d.ts.map +1 -0
  235. package/dist/server/handlers/preview.handler.js +18 -0
  236. package/dist/server/handlers/preview.handler.js.map +1 -0
  237. package/dist/server/handlers/registry.handler.d.ts +16 -0
  238. package/dist/server/handlers/registry.handler.d.ts.map +1 -0
  239. package/dist/server/handlers/registry.handler.js +265 -0
  240. package/dist/server/handlers/registry.handler.js.map +1 -0
  241. package/dist/server/handlers/route.handler.d.ts +20 -0
  242. package/dist/server/handlers/route.handler.d.ts.map +1 -0
  243. package/dist/server/handlers/route.handler.js +131 -0
  244. package/dist/server/handlers/route.handler.js.map +1 -0
  245. package/dist/server/handlers/sitemap.handler.d.ts +30 -0
  246. package/dist/server/handlers/sitemap.handler.d.ts.map +1 -0
  247. package/dist/server/handlers/sitemap.handler.js +341 -0
  248. package/dist/server/handlers/sitemap.handler.js.map +1 -0
  249. package/dist/server/handlers/static-params.handler.d.ts +24 -0
  250. package/dist/server/handlers/static-params.handler.d.ts.map +1 -0
  251. package/dist/server/handlers/static-params.handler.js +61 -0
  252. package/dist/server/handlers/static-params.handler.js.map +1 -0
  253. package/dist/server/handlers/vars.handler.d.ts +10 -0
  254. package/dist/server/handlers/vars.handler.d.ts.map +1 -0
  255. package/dist/server/handlers/vars.handler.js +160 -0
  256. package/dist/server/handlers/vars.handler.js.map +1 -0
  257. package/dist/server/layout.js +110 -0
  258. package/dist/server/layout.js.map +1 -0
  259. package/dist/server/lazy.d.ts +11 -0
  260. package/dist/server/lazy.d.ts.map +1 -0
  261. package/dist/server/lazy.js +36 -0
  262. package/dist/server/lazy.js.map +1 -0
  263. package/dist/server/local-api.d.ts +9 -0
  264. package/dist/server/local-api.d.ts.map +1 -0
  265. package/dist/server/local-api.js +66 -0
  266. package/dist/server/local-api.js.map +1 -0
  267. package/dist/server/metadata.d.ts +21 -0
  268. package/dist/server/metadata.d.ts.map +1 -0
  269. package/dist/server/metadata.js +24 -0
  270. package/dist/server/metadata.js.map +1 -0
  271. package/dist/server/mixer-payload.d.ts +63 -0
  272. package/dist/server/mixer-payload.d.ts.map +1 -0
  273. package/dist/server/mixer.d.ts +214 -0
  274. package/dist/server/mixer.d.ts.map +1 -0
  275. package/dist/server/mixer.js +481 -0
  276. package/dist/server/mixer.js.map +1 -0
  277. package/dist/server/page.d.ts +22 -0
  278. package/dist/server/page.d.ts.map +1 -0
  279. package/dist/server/page.js +68 -0
  280. package/dist/server/page.js.map +1 -0
  281. package/dist/server/utils.d.ts +12 -0
  282. package/dist/server/utils.d.ts.map +1 -0
  283. package/dist/{utils2.js → server/utils.js} +7 -5
  284. package/dist/server/utils.js.map +1 -0
  285. package/dist/server/utmz.d.ts +9 -0
  286. package/dist/server/utmz.d.ts.map +1 -0
  287. package/dist/server/utmz.js +14 -0
  288. package/dist/server/utmz.js.map +1 -0
  289. package/dist/types.d.ts +6 -61
  290. package/dist/types.d.ts.map +1 -1
  291. package/package.json +11 -11
  292. package/dist/config.client.js +0 -2
  293. package/dist/config.edge.js +0 -2
  294. package/dist/config.server.js +0 -2
  295. package/dist/exports/client.d.ts.map +0 -1
  296. package/dist/exports/client.js.map +0 -1
  297. package/dist/exports/instrumentation.d.ts.map +0 -1
  298. package/dist/exports/instrumentation.js.map +0 -1
  299. package/dist/exports/proxy.d.ts.map +0 -1
  300. package/dist/exports/proxy.js.map +0 -1
  301. package/dist/exports/server.d.ts.map +0 -1
  302. package/dist/exports/server.js.map +0 -1
  303. package/dist/http.js.map +0 -1
  304. package/dist/index.d.ts.map +0 -1
  305. package/dist/index.js.map +0 -1
  306. package/dist/index2.d.ts +0 -4
  307. package/dist/route.js.map +0 -1
  308. package/dist/store.js +0 -73
  309. package/dist/store.js.map +0 -1
  310. package/dist/types2.d.ts.map +0 -1
  311. package/dist/utils.js +0 -78
  312. package/dist/utils.js.map +0 -1
  313. package/dist/utils2.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,7 +1,17 @@
1
- # @websolutespa/bom-next
2
-
3
- ## 3.0.1
4
-
5
- ### Patch Changes
6
-
7
- - Added: first release
1
+ # @websolutespa/bom-next
2
+
3
+ ## 4.0.0-next.0
4
+
5
+ ### Major Changes
6
+
7
+ - Next: support of the bom-next app package
8
+ - Updated dependencies
9
+ - @websolutespa/bom-core@4.0.0-next.0
10
+ - @websolutespa/payload-plugin-bowl@4.0.0-next.0
11
+ - @websolutespa/payload-utils@4.0.0-next.0
12
+
13
+ ## 3.0.2
14
+
15
+ ### Patch Changes
16
+
17
+ - Added: first release
@@ -0,0 +1,27 @@
1
+ //#region rolldown:runtime
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __commonJS = (cb, mod) => function() {
9
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
13
+ key = keys[i];
14
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
15
+ get: ((k) => from[k]).bind(null, key),
16
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
+ });
18
+ }
19
+ return to;
20
+ };
21
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
22
+ value: mod,
23
+ enumerable: true
24
+ }) : target, mod));
25
+
26
+ //#endregion
27
+ export { __commonJS, __toESM };
@@ -0,0 +1,9 @@
1
+ import * as react0 from "react";
2
+
3
+ //#region src/client/client.d.ts
4
+ declare function Client(): react0.JSX.Element;
5
+ //# sourceMappingURL=client.d.ts.map
6
+
7
+ //#endregion
8
+ export { Client };
9
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","names":[],"sources":["../../src/client/client.tsx"],"sourcesContent":[],"mappings":";;;iBAMgB,MAAA,CAAA,GAAM,MAAA,CAAA,GAAA,CAAA"}
@@ -0,0 +1,29 @@
1
+ 'use client';
2
+
3
+
4
+ import { useLabel } from "./useLabel.js";
5
+ import { usePage } from "./usePage.js";
6
+ import { getClassNames } from "@websolutespa/bom-core";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+
9
+ //#region src/client/client.tsx
10
+ function Client() {
11
+ const label = useLabel();
12
+ const page = usePage();
13
+ const classNames = getClassNames("client");
14
+ return /* @__PURE__ */ jsxs("div", {
15
+ className: classNames,
16
+ children: [/* @__PURE__ */ jsxs("h2", {
17
+ className: "display-2",
18
+ children: [
19
+ page.title,
20
+ " ",
21
+ /* @__PURE__ */ jsx("sup", { children: page.id })
22
+ ]
23
+ }), /* @__PURE__ */ jsx("h2", { children: label("label") })]
24
+ });
25
+ }
26
+
27
+ //#endregion
28
+ export { Client };
29
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","names":[],"sources":["../../src/client/client.tsx"],"sourcesContent":["'use client';\r\n\r\nimport { getClassNames } from '@websolutespa/bom-core';\r\nimport { useLabel } from './useLabel';\r\nimport { usePage } from './usePage';\r\n\r\nexport function Client() {\r\n const label = useLabel();\r\n const page = usePage();\r\n // console.log('Client', layout, page, label('label'));\r\n const classNames = getClassNames('client');\r\n return (\r\n <div className={classNames}>\r\n <h2 className=\"display-2\">{page.title} <sup>{page.id}</sup></h2>\r\n <h2>{label('label')}</h2>\r\n </div>\r\n );\r\n}\r\n"],"mappings":";;;;;;;;;AAMA,SAAgB,SAAS;CACvB,MAAM,QAAQ,UAAU;CACxB,MAAM,OAAO,SAAS;CAEtB,MAAM,aAAa,cAAc,SAAS;AAC1C,6BACG;EAAI,WAAW;kCACb;GAAG,WAAU;;IAAa,KAAK;IAAM;wBAAE,mBAAK,KAAK,KAAS;;IAAK,sBAC/D,kBAAI,MAAM,QAAQ,GAAM;GACrB;AAET"}
@@ -0,0 +1,17 @@
1
+ import * as react0 from "react";
2
+
3
+ //#region src/client/extra.d.ts
4
+ type IExtraContext = Record<string, any>;
5
+ declare const ExtraContext: react0.Context<IExtraContext | undefined>;
6
+ declare function ExtraProvider({
7
+ extra,
8
+ children
9
+ }: {
10
+ extra?: Record<string, any>;
11
+ children?: React.ReactNode;
12
+ }): react0.JSX.Element;
13
+ //# sourceMappingURL=extra.d.ts.map
14
+
15
+ //#endregion
16
+ export { ExtraContext, ExtraProvider, IExtraContext };
17
+ //# sourceMappingURL=extra.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extra.d.ts","names":[],"sources":["../../src/client/extra.tsx"],"sourcesContent":[],"mappings":";;;KAIY,aAAA,GAAgB;cAEf,cAAY,MAAA,CAAA,QAAA;iBAET,aAAA;;;;EAJJ,KAAA,CAAA,EAQF,MARE,CAAA,MAAa,EAAA,GAAA,CAAA;EAEZ,QAAA,CAAA,EAOA,KAAA,CAAM,SAP4D;CAAA,CAAA,EAQ9E,MAAA,CAAA,GAAA,CAAA,OAR8E"}
@@ -0,0 +1,18 @@
1
+ 'use client';
2
+
3
+
4
+ import { createContext } from "react";
5
+ import { jsx } from "react/jsx-runtime";
6
+
7
+ //#region src/client/extra.tsx
8
+ const ExtraContext = createContext(void 0);
9
+ function ExtraProvider({ extra = {}, children }) {
10
+ return /* @__PURE__ */ jsx(ExtraContext.Provider, {
11
+ value: extra,
12
+ children
13
+ });
14
+ }
15
+
16
+ //#endregion
17
+ export { ExtraContext, ExtraProvider };
18
+ //# sourceMappingURL=extra.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extra.js","names":[],"sources":["../../src/client/extra.tsx"],"sourcesContent":["'use client';\r\n\r\nimport { createContext } from 'react';\r\n\r\nexport type IExtraContext = Record<string, any>;\r\n\r\nexport const ExtraContext = createContext<IExtraContext | undefined>(undefined);\r\n\r\nexport function ExtraProvider({\r\n extra = {},\r\n children,\r\n}: {\r\n extra?: Record<string, any>,\r\n children?: React.ReactNode\r\n}) {\r\n return (\r\n <ExtraContext.Provider value={extra}>\r\n {children}\r\n </ExtraContext.Provider>\r\n );\r\n}\r\n"],"mappings":";;;;;;;AAMA,MAAa,eAAe,cAAyC,OAAU;AAE/E,SAAgB,cAAc,EAC5B,QAAQ,CAAE,GACV,UAID,EAAE;AACD,4BACG,aAAa;EAAS,OAAO;EAC3B;GACqB;AAE3B"}
@@ -0,0 +1,15 @@
1
+ import * as react4 from "react";
2
+
3
+ //#region src/client/label.d.ts
4
+ type ILabelContext = (key: string, params?: Record<string, any>) => string;
5
+ declare const LabelContext: react4.Context<ILabelContext | undefined>;
6
+ declare function LabelProvider({
7
+ children
8
+ }: {
9
+ children?: React.ReactNode;
10
+ }): react4.JSX.Element;
11
+ //# sourceMappingURL=label.d.ts.map
12
+
13
+ //#endregion
14
+ export { ILabelContext, LabelContext, LabelProvider };
15
+ //# sourceMappingURL=label.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label.d.ts","names":[],"sources":["../../src/client/label.tsx"],"sourcesContent":[],"mappings":";;;KAMY,aAAA,0BAAuC;cAEtC,cAAY,MAAA,CAAA,QAAA;iBAET,aAAA;;AAFhB;EAFY,QAAA,CAAA,EAI6C,KAAA,CAAM,SAJtC;AAEzB,CAAA,CAAA,EAE0E,MAAA,CAAA,GAAA,CAAA,OAFK"}
@@ -0,0 +1,25 @@
1
+ 'use client';
2
+
3
+
4
+ import { LabelService } from "../lib/label.js";
5
+ import { useLayout } from "./useLayout.js";
6
+ import { createContext } from "react";
7
+ import { jsx } from "react/jsx-runtime";
8
+
9
+ //#region src/client/label.tsx
10
+ const LabelContext = createContext(void 0);
11
+ function LabelProvider({ children }) {
12
+ const { labels } = useLayout();
13
+ const labelService = new LabelService(labels);
14
+ const getLabel = (key, params) => {
15
+ return labelService.getLabel(key, params);
16
+ };
17
+ return /* @__PURE__ */ jsx(LabelContext.Provider, {
18
+ value: getLabel,
19
+ children
20
+ });
21
+ }
22
+
23
+ //#endregion
24
+ export { LabelContext, LabelProvider };
25
+ //# sourceMappingURL=label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label.js","names":["key: string","params?: Record<string, any>"],"sources":["../../src/client/label.tsx"],"sourcesContent":["'use client';\r\n\r\nimport { createContext } from 'react';\r\nimport { LabelService } from '../lib/label';\r\nimport { useLayout } from './useLayout';\r\n\r\nexport type ILabelContext = (key: string, params?: Record<string, any>) => string;\r\n\r\nexport const LabelContext = createContext<ILabelContext | undefined>(undefined);\r\n\r\nexport function LabelProvider({ children }: { children?: React.ReactNode }) {\r\n const { labels } = useLayout();\r\n // console.log('LabelProvider', labels);\r\n const labelService = new LabelService(labels);\r\n const getLabel = (key: string, params?: Record<string, any>): string => {\r\n return labelService.getLabel(key, params);\r\n };\r\n return (\r\n <LabelContext.Provider value={getLabel}>\r\n {children}\r\n </LabelContext.Provider>\r\n );\r\n}\r\n\r\n"],"mappings":";;;;;;;;;AAQA,MAAa,eAAe,cAAyC,OAAU;AAE/E,SAAgB,cAAc,EAAE,UAA0C,EAAE;CAC1E,MAAM,EAAE,QAAQ,GAAG,WAAW;CAE9B,MAAM,eAAe,IAAI,aAAa;CACtC,MAAM,WAAW,CAACA,KAAaC,WAAyC;AACtE,SAAO,aAAa,SAAS,KAAK,OAAO;CAC1C;AACD,4BACG,aAAa;EAAS,OAAO;EAC3B;GACqB;AAE3B"}
@@ -0,0 +1,18 @@
1
+ import { ILayout } from "@websolutespa/bom-core";
2
+ import * as react2 from "react";
3
+
4
+ //#region src/client/layout.d.ts
5
+ type ILayoutContext = ILayout;
6
+ declare const LayoutContext: react2.Context<ILayoutContext | undefined>;
7
+ declare function LayoutProvider({
8
+ layout,
9
+ children
10
+ }: {
11
+ layout: ILayout;
12
+ children?: React.ReactNode;
13
+ }): react2.JSX.Element;
14
+ //# sourceMappingURL=layout.d.ts.map
15
+
16
+ //#endregion
17
+ export { ILayoutContext, LayoutContext, LayoutProvider };
18
+ //# sourceMappingURL=layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.d.ts","names":[],"sources":["../../src/client/layout.tsx"],"sourcesContent":[],"mappings":";;;;KAKY,cAAA,GAAiB;cAEhB,eAAa,MAAA,CAAA,QAAA;iBAEV,cAAA;;;;EAJJ,MAAA,EAQF,OARE;EAEC,QAAA,CAAA,EAOA,KAAA,CAAM,SAP8D;CAAA,CAAA,EAQhF,MAAA,CAAA,GAAA,CAAA,OARgF"}
@@ -0,0 +1,18 @@
1
+ 'use client';
2
+
3
+
4
+ import { createContext } from "react";
5
+ import { jsx } from "react/jsx-runtime";
6
+
7
+ //#region src/client/layout.tsx
8
+ const LayoutContext = createContext(void 0);
9
+ function LayoutProvider({ layout, children }) {
10
+ return /* @__PURE__ */ jsx(LayoutContext.Provider, {
11
+ value: layout,
12
+ children
13
+ });
14
+ }
15
+
16
+ //#endregion
17
+ export { LayoutContext, LayoutProvider };
18
+ //# sourceMappingURL=layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.js","names":[],"sources":["../../src/client/layout.tsx"],"sourcesContent":["'use client';\r\n\r\nimport { ILayout } from '@websolutespa/bom-core';\r\nimport { createContext } from 'react';\r\n\r\nexport type ILayoutContext = ILayout;\r\n\r\nexport const LayoutContext = createContext<ILayoutContext | undefined>(undefined);\r\n\r\nexport function LayoutProvider({\r\n layout,\r\n children,\r\n}: {\r\n layout: ILayout,\r\n children?: React.ReactNode\r\n}) {\r\n return (\r\n <LayoutContext.Provider value={layout}>\r\n {children}\r\n </LayoutContext.Provider>\r\n );\r\n}\r\n"],"mappings":";;;;;;;AAOA,MAAa,gBAAgB,cAA0C,OAAU;AAEjF,SAAgB,eAAe,EAC7B,QACA,UAID,EAAE;AACD,4BACG,cAAc;EAAS,OAAO;EAC5B;GACsB;AAE5B"}
@@ -0,0 +1,32 @@
1
+ import { ApiRequestOptions } from "../lib/http.js";
2
+
3
+ //#region src/client/local.collection.d.ts
4
+ declare function localCollectionFetch<T = unknown>(pathname: string, options?: ApiRequestOptions, serviceOptions?: {
5
+ locale: string;
6
+ market: string;
7
+ }): Promise<T>;
8
+ declare function localCollectionGet<T = unknown>(url: string, options?: ApiRequestOptions, serviceOptions?: {
9
+ locale: string;
10
+ market: string;
11
+ }): Promise<T>;
12
+ declare function localCollectionPost<T = unknown>(url: string, payload?: unknown, options?: ApiRequestOptions, serviceOptions?: {
13
+ locale: string;
14
+ market: string;
15
+ }): Promise<T>;
16
+ declare function localCollectionPut<T = unknown>(url: string, payload?: unknown, options?: ApiRequestOptions, serviceOptions?: {
17
+ locale: string;
18
+ market: string;
19
+ }): Promise<T>;
20
+ declare function localCollectionPatch<T = unknown>(url: string, payload?: unknown, options?: ApiRequestOptions, serviceOptions?: {
21
+ locale: string;
22
+ market: string;
23
+ }): Promise<T>;
24
+ declare function localCollectionDelete<T = unknown>(url: string, options?: ApiRequestOptions, serviceOptions?: {
25
+ locale: string;
26
+ market: string;
27
+ }): Promise<T>;
28
+ //# sourceMappingURL=local.collection.d.ts.map
29
+
30
+ //#endregion
31
+ export { localCollectionDelete, localCollectionFetch, localCollectionGet, localCollectionPatch, localCollectionPost, localCollectionPut };
32
+ //# sourceMappingURL=local.collection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local.collection.d.ts","names":[],"sources":["../../src/client/local.collection.ts"],"sourcesContent":[],"mappings":";;;iBAGsB,8DAA6D,iCAAzC;;EAApB,MAAA,EAAA,MAAA;CAAoB,CAAA,EAAuH,OAAvH,CAA+H,CAA/H,CAAA;AAAyC,iBAW7D,kBAX6D,CAAA,IAAA,OAAA,CAAA,CAAA,GAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAWP,iBAXO,EAAA,cAAqF,CAArF,EAAA;EAAsB,MAAgE,EAAA,MAAA;EAAC,MAAT,EAAA,MAAA;AAAO,CAAA,CAAA,EAWd,OAXc,CAWN,CAXM,CAAA;AAWlJ,iBAIA,mBAJkB,CAAA,IAAA,OAAA,CAAA,CAAA,GAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,OAAA,CAAA,EAIwD,iBAJxD,EAAA,cAA0D,CAA1D,EAAA;EAAA,MAAA,EAAA,MAAA;EAAA,MAAoC,EAAA,MAAA;CAAsB,CAAA,EAI4E,OAJZ,CAIoB,CAJpB,CAAA;AAAR,iBAQpI,kBARoI,CAAA,IAAA,OAAA,CAAA,CAAA,GAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,OAAA,CAAA,EAQ3D,iBAR2D,EAAA,cAIjH,CAJiH,EAAA;EAAO,MAAA,EAAA,MAAA;EAI3I,MAAA,EAAA,MAAA;CAAmB,CAAA,EAIoI,OAJpI,CAI4I,CAJ5I,CAAA;AAAuD,iBAQ1E,oBAR0E,CAAA,IAAA,OAAA,CAAA,CAAA,GAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,OAAA,CAAA,EAQC,iBARD,EAAA,cAAqF,CAArF,EAAA;EAAsB,MAAgE,EAAA,MAAA;EAAC,MAAT,EAAA,MAAA;AAAO,CAAA,CAAA,EAQN,OARM,CAQE,CARF,CAAA;AAI/J,iBAQA,qBARkB,CAAA,IAAA,OAAA,CAAA,CAAA,GAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAQuC,iBARvC,EAAA,cAA6E,CAA7E,EAAA;EAAA,MAAA,EAAA,MAAA;EAAA,MAAuD,EAAA,MAAA;CAAsB,CAAA,EAQwC,OARwB,CAQhB,CARgB,CAAA"}
@@ -0,0 +1,51 @@
1
+ import { getLocalApiRequestOptions, getLocalApiUrl } from "../lib/http.js";
2
+ import { httpFetch, merge } from "@websolutespa/bom-core";
3
+
4
+ //#region src/client/local.collection.ts
5
+ async function localCollectionFetch(pathname, options = {}, serviceOptions) {
6
+ const url = new URL(getLocalApiUrl(pathname));
7
+ if (serviceOptions) {
8
+ url.searchParams.append("locale", serviceOptions.locale);
9
+ url.searchParams.append("market", serviceOptions.market);
10
+ }
11
+ const apiOptions = merge({ ...getLocalApiRequestOptions() }, options);
12
+ const apiResponse = await httpFetch(url.href, apiOptions);
13
+ return apiResponse;
14
+ }
15
+ async function localCollectionGet(url, options = {}, serviceOptions) {
16
+ return await localCollectionFetch(url, {
17
+ ...options,
18
+ method: "GET"
19
+ }, serviceOptions);
20
+ }
21
+ async function localCollectionPost(url, payload, options = {}, serviceOptions) {
22
+ return await localCollectionFetch(url, {
23
+ ...options,
24
+ method: "POST",
25
+ body: payload ? JSON.stringify(payload) : void 0
26
+ }, serviceOptions);
27
+ }
28
+ async function localCollectionPut(url, payload, options = {}, serviceOptions) {
29
+ return await localCollectionFetch(url, {
30
+ ...options,
31
+ method: "PUT",
32
+ body: payload ? JSON.stringify(payload) : void 0
33
+ }, serviceOptions);
34
+ }
35
+ async function localCollectionPatch(url, payload, options = {}, serviceOptions) {
36
+ return await localCollectionFetch(url, {
37
+ ...options,
38
+ method: "PATCH",
39
+ body: payload ? JSON.stringify(payload) : void 0
40
+ }, serviceOptions);
41
+ }
42
+ async function localCollectionDelete(url, options = {}, serviceOptions) {
43
+ return await localCollectionFetch(url, {
44
+ ...options,
45
+ method: "DELETE"
46
+ }, serviceOptions);
47
+ }
48
+
49
+ //#endregion
50
+ export { localCollectionDelete, localCollectionFetch, localCollectionGet, localCollectionPatch, localCollectionPost, localCollectionPut };
51
+ //# sourceMappingURL=local.collection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local.collection.js","names":["pathname: string","options: ApiRequestOptions","serviceOptions?: { locale: string, market: string }","url: string","payload?: unknown"],"sources":["../../src/client/local.collection.ts"],"sourcesContent":["import { httpFetch, merge } from '@websolutespa/bom-core';\r\nimport { ApiRequestOptions, getLocalApiRequestOptions, getLocalApiUrl } from '../lib/http';\r\n\r\nexport async function localCollectionFetch<T = unknown>(pathname: string, options: ApiRequestOptions = {}, serviceOptions?: { locale: string, market: string }): Promise<T> {\r\n const url = new URL(getLocalApiUrl(pathname));\r\n if (serviceOptions) {\r\n url.searchParams.append('locale', serviceOptions.locale);\r\n url.searchParams.append('market', serviceOptions.market);\r\n }\r\n const apiOptions = merge({ ...getLocalApiRequestOptions() }, options);\r\n const apiResponse = await httpFetch(url.href, apiOptions);\r\n return apiResponse;\r\n}\r\n\r\nexport async function localCollectionGet<T = unknown>(url: string, options: ApiRequestOptions = {}, serviceOptions?: { locale: string, market: string }): Promise<T> {\r\n return await localCollectionFetch<T>(url, { ...options, method: 'GET' }, serviceOptions);\r\n}\r\n\r\nexport async function localCollectionPost<T = unknown>(url: string, payload?: unknown, options: ApiRequestOptions = {}, serviceOptions?: { locale: string, market: string }): Promise<T> {\r\n return await localCollectionFetch<T>(url, { ...options, method: 'POST', body: payload ? JSON.stringify(payload) : undefined }, serviceOptions);\r\n}\r\n\r\nexport async function localCollectionPut<T = unknown>(url: string, payload?: unknown, options: ApiRequestOptions = {}, serviceOptions?: { locale: string, market: string }): Promise<T> {\r\n return await localCollectionFetch<T>(url, { ...options, method: 'PUT', body: payload ? JSON.stringify(payload) : undefined }, serviceOptions);\r\n}\r\n\r\nexport async function localCollectionPatch<T = unknown>(url: string, payload?: unknown, options: ApiRequestOptions = {}, serviceOptions?: { locale: string, market: string }): Promise<T> {\r\n return await localCollectionFetch<T>(url, { ...options, method: 'PATCH', body: payload ? JSON.stringify(payload) : undefined }, serviceOptions);\r\n}\r\n\r\nexport async function localCollectionDelete<T = unknown>(url: string, options: ApiRequestOptions = {}, serviceOptions?: { locale: string, market: string }): Promise<T> {\r\n return await localCollectionFetch<T>(url, { ...options, method: 'DELETE' }, serviceOptions);\r\n}\r\n"],"mappings":";;;;AAGA,eAAsB,qBAAkCA,UAAkBC,UAA6B,CAAE,GAAEC,gBAAiE;CAC1K,MAAM,MAAM,IAAI,IAAI,eAAe,SAAS;AAC5C,KAAI,gBAAgB;EAClB,IAAI,aAAa,OAAO,UAAU,eAAe,OAAO;EACxD,IAAI,aAAa,OAAO,UAAU,eAAe,OAAO;CACzD;CACD,MAAM,aAAa,MAAM,EAAE,GAAG,2BAA2B,CAAE,GAAE,QAAQ;CACrE,MAAM,cAAc,MAAM,UAAU,IAAI,MAAM,WAAW;AACzD,QAAO;AACR;AAED,eAAsB,mBAAgCC,KAAaF,UAA6B,CAAE,GAAEC,gBAAiE;AACnK,QAAO,MAAM,qBAAwB,KAAK;EAAE,GAAG;EAAS,QAAQ;CAAO,GAAE,eAAe;AACzF;AAED,eAAsB,oBAAiCC,KAAaC,SAAmBH,UAA6B,CAAE,GAAEC,gBAAiE;AACvL,QAAO,MAAM,qBAAwB,KAAK;EAAE,GAAG;EAAS,QAAQ;EAAQ,MAAM,UAAU,KAAK,UAAU,QAAQ,GAAG;CAAW,GAAE,eAAe;AAC/I;AAED,eAAsB,mBAAgCC,KAAaC,SAAmBH,UAA6B,CAAE,GAAEC,gBAAiE;AACtL,QAAO,MAAM,qBAAwB,KAAK;EAAE,GAAG;EAAS,QAAQ;EAAO,MAAM,UAAU,KAAK,UAAU,QAAQ,GAAG;CAAW,GAAE,eAAe;AAC9I;AAED,eAAsB,qBAAkCC,KAAaC,SAAmBH,UAA6B,CAAE,GAAEC,gBAAiE;AACxL,QAAO,MAAM,qBAAwB,KAAK;EAAE,GAAG;EAAS,QAAQ;EAAS,MAAM,UAAU,KAAK,UAAU,QAAQ,GAAG;CAAW,GAAE,eAAe;AAChJ;AAED,eAAsB,sBAAmCC,KAAaF,UAA6B,CAAE,GAAEC,gBAAiE;AACtK,QAAO,MAAM,qBAAwB,KAAK;EAAE,GAAG;EAAS,QAAQ;CAAU,GAAE,eAAe;AAC5F"}
@@ -0,0 +1,43 @@
1
+ import { OpenGraphType } from "../lib/open-graph.js";
2
+ import { StructuredDataType } from "../lib/structured-data.js";
3
+ import { TwitterCardType } from "../lib/twitter-card.js";
4
+ import { IMetaData } from "../lib/meta-data.js";
5
+ import * as react6 from "react";
6
+ import { ReactNode } from "react";
7
+
8
+ //#region src/client/metadata.d.ts
9
+ type IMetaDataOptions = {
10
+ brand: {
11
+ name: string;
12
+ logo: string;
13
+ businessName?: string;
14
+ appName?: string;
15
+ url?: string;
16
+ email?: string;
17
+ telephone?: string;
18
+ zipCode?: string;
19
+ address?: string;
20
+ city?: string;
21
+ provinceCode?: string;
22
+ countryName?: string;
23
+ countryCode?: string;
24
+ twitterName?: string;
25
+ social?: Record<string, string>;
26
+ };
27
+ structuredData?: StructuredDataType;
28
+ openGraph?: OpenGraphType;
29
+ twitterCard?: TwitterCardType;
30
+ };
31
+ type IMetaDataContext = IMetaData;
32
+ declare const MetaDataContext: react6.Context<IMetaData | undefined>;
33
+ declare function MetaDataProvider({
34
+ metaData,
35
+ children
36
+ }: {
37
+ metaData: IMetaDataOptions;
38
+ children?: ReactNode;
39
+ }): react6.JSX.Element;
40
+ //# sourceMappingURL=metadata.d.ts.map
41
+ //#endregion
42
+ export { IMetaDataContext, IMetaDataOptions, MetaDataContext, MetaDataProvider };
43
+ //# sourceMappingURL=metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.d.ts","names":[],"sources":["../../src/client/metadata.tsx"],"sourcesContent":[],"mappings":";;;;;;;;KAeY,gBAAA;;;IAAA,IAAA,EAAA,MAAA;IAAgB,YAAA,CAAA,EAAA,MAAA;IAgBf,OAAA,CAAA,EAAA,MAAA;IAEM,GAAA,CAAA,EAAA,MAAA;IACL,KAAA,CAAA,EAAA,MAAA;IACE,SAAA,CAAA,EAAA,MAAA;IAAe,OAAA,CAAA,EAAA,MAAA;IAGnB,OAAA,CAAA,EAAA,MAAgB;IAEf,IAAA,CAAA,EAAA,MAAA;IAAwE,YAAA,CAAA,EAAA,MAAA;IAAzD,WAAA,CAAA,EAAA,MAAA;IAAA,WAAA,CAAA,EAAA,MAAA;IAAA,WAAA,CAAA,EAAA,MAAA;IAEZ,MAAA,CAAA,EAXH,MAWmB,CAAA,MAAA,EAAA,MAAA,CAAA;EAAA,CAAA;EAAA,cAC9B,CAAA,EAViB,kBAUjB;EAAQ,SACR,CAAA,EAVY,aAUZ;EAAQ,WAEE,CAAA,EAXI,eAWJ;CAAgB;AAE3B,KAVW,gBAAA,GAAmB,SAU9B;AAAA,cARY,eAQZ,EAR2B,MAAA,CAAA,OAQ3B,CAR2B,SAQ3B,GAAA,SAAA,CAAA;iBANe,gBAAA;;;;YAIJ;aACC;IACZ,MAAA,CAAA,GAAA,CAAA"}
@@ -0,0 +1,154 @@
1
+ 'use client';
2
+
3
+
4
+ import { getPublicUrl, resolveHref } from "../lib/utils.js";
5
+ import { useLayout } from "./useLayout.js";
6
+ import { usePage } from "./usePage.js";
7
+ import { convert } from "../node_modules/html-to-text/lib/html-to-text.js";
8
+ import { defaultLocale, defaultMarket } from "@websolutespa/bom-core";
9
+ import { createContext, useMemo } from "react";
10
+ import { jsx } from "react/jsx-runtime";
11
+ import { useRouter } from "next/compat/router";
12
+
13
+ //#region src/client/metadata.tsx
14
+ const MetaDataContext = createContext(void 0);
15
+ function MetaDataProvider({ metaData, children }) {
16
+ const router = useRouter();
17
+ const layout = useLayout();
18
+ const page = usePage();
19
+ const brand = {
20
+ ...metaData.brand,
21
+ logo: resolveHref(metaData.brand.logo),
22
+ url: getPublicUrl(),
23
+ businessName: metaData.brand.businessName || metaData.brand.name,
24
+ appName: metaData.brand.appName || metaData.brand.name
25
+ };
26
+ const title = convert(page.meta?.title || page.title || "");
27
+ const description = convert(page.meta?.description || page.abstract || "");
28
+ const media = page.meta?.image || page.media;
29
+ const image = media ? resolveHref(media.src || media.url) : brand.logo;
30
+ let canonical = resolveHref(page.href);
31
+ const asPath = router?.asPath || "";
32
+ const queryIndex = asPath.indexOf("?");
33
+ const query = queryIndex !== -1 ? asPath.substring(queryIndex) : "";
34
+ if (query.match(/^\?pagination\[page\]=(\d+)$/) && query !== "?pagination[page]=1") canonical = `${canonical}${query}`;
35
+ const url = `${canonical}${query}`;
36
+ const alternates = useMemo(() => {
37
+ const alternates$1 = [];
38
+ (page.alternates || []).forEach((alternate) => {
39
+ const market = layout.markets.find((x) => x.id === alternate.market);
40
+ if (market) if (market.countries && market.countries.length > 0) market.countries.forEach((country) => {
41
+ const alpha2Code = typeof country === "string" ? country : country.alpha2Code;
42
+ alternates$1.push({
43
+ id: `${alternate.market}-${alternate.locale}-${alpha2Code}`,
44
+ href: resolveHref(alternate.id),
45
+ hrefLang: `${alternate.locale}-${alpha2Code}`
46
+ });
47
+ });
48
+ else alternates$1.push({
49
+ id: `${alternate.market}-${alternate.locale}`,
50
+ href: resolveHref(alternate.id),
51
+ hrefLang: alternate.locale
52
+ });
53
+ });
54
+ return alternates$1;
55
+ }, [layout, page]);
56
+ const xDefault = useMemo(() => {
57
+ const xDefaultMarket = layout.markets.find((x) => x.isDefault)?.id || defaultMarket;
58
+ const xDefaultLocale = layout.locales.find((x) => x.isDefault)?.id || defaultLocale;
59
+ const alternate = page.alternates.find((x) => x.market === xDefaultMarket && x.locale === xDefaultLocale);
60
+ if (alternate) return {
61
+ id: `${alternate.market}-${alternate.locale}`,
62
+ href: resolveHref(alternate.id),
63
+ hrefLang: alternate.locale
64
+ };
65
+ return void 0;
66
+ }, [layout, page]);
67
+ const meta = {
68
+ title,
69
+ description,
70
+ image,
71
+ keywords: page.meta?.keywords,
72
+ robots: page.meta?.robots,
73
+ slug: page.href,
74
+ url,
75
+ canonical,
76
+ alternates,
77
+ xDefault
78
+ };
79
+ const contactPoint = {
80
+ "@type": "ContactPoint",
81
+ telephone: brand.telephone,
82
+ email: brand.email,
83
+ contactType: "customer service",
84
+ areaServed: layout.locales.map((x) => x.id),
85
+ availableLanguage: layout.locales.map((x) => x.id)
86
+ };
87
+ const postalAddress = {
88
+ "@type": "PostalAddress",
89
+ streetAddress: brand.address,
90
+ addressLocality: brand.city,
91
+ postalCode: brand.zipCode,
92
+ addressRegion: brand.provinceCode,
93
+ addressCountry: brand.countryCode
94
+ };
95
+ const organization = {
96
+ "@type": "Organization",
97
+ name: brand.businessName,
98
+ logo: {
99
+ "@type": "ImageObject",
100
+ url: brand.logo
101
+ },
102
+ url: brand.url
103
+ };
104
+ const hasContact = Boolean(brand.email || brand.telephone);
105
+ if (hasContact) organization.contactPoint = contactPoint;
106
+ const hasAddress = Boolean(brand.address || brand.city || brand.zipCode || brand.provinceCode || brand.countryCode);
107
+ if (hasAddress) organization.address = postalAddress;
108
+ if (brand.social) organization.sameAs = Object.values(brand.social);
109
+ const structuredData = metaData.structuredData || {
110
+ "@type": "WebPage",
111
+ name: title,
112
+ url,
113
+ description,
114
+ publisher: organization
115
+ };
116
+ const openGraph = metaData.openGraph || {
117
+ type: "website",
118
+ title,
119
+ description,
120
+ url,
121
+ siteName: brand.name,
122
+ image,
123
+ locale: layout.locale
124
+ };
125
+ const twitterCard = metaData.twitterCard || (brand.twitterName ? {
126
+ card: "summary_large_image",
127
+ title,
128
+ description,
129
+ image,
130
+ imageAlt: brand.businessName,
131
+ site: brand.twitterName,
132
+ creator: brand.twitterName
133
+ } : void 0);
134
+ const value = {
135
+ layout,
136
+ page,
137
+ brand,
138
+ contactPoint,
139
+ meta,
140
+ openGraph,
141
+ organization,
142
+ postalAddress,
143
+ structuredData,
144
+ twitterCard
145
+ };
146
+ return /* @__PURE__ */ jsx(MetaDataContext.Provider, {
147
+ value,
148
+ children
149
+ });
150
+ }
151
+
152
+ //#endregion
153
+ export { MetaDataContext, MetaDataProvider };
154
+ //# sourceMappingURL=metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.js","names":["brand: IBrand","htmlToText","alternates: IAlternate[]","alternate: IRoute","country: any","alternates","meta: IMeta","contactPoint: ContactPoint","postalAddress: PostalAddress","organization: Organization","structuredData: StructuredDataType","openGraph: OpenGraphType","twitterCard: TwitterCardType | undefined","value: IMetaData"],"sources":["../../src/client/metadata.tsx"],"sourcesContent":["'use client';\r\n\r\nimport { defaultLocale, defaultMarket, IMedia, IRoute } from '@websolutespa/bom-core';\r\nimport { convert as htmlToText } from 'html-to-text';\r\nimport { useRouter } from 'next/compat/router';\r\nimport { createContext, ReactNode, useMemo } from 'react';\r\nimport { ContactPoint, Organization, PostalAddress } from 'schema-dts';\r\nimport { IAlternate, IBrand, IMeta, IMetaData } from '../lib/meta-data';\r\nimport { OpenGraphType } from '../lib/open-graph';\r\nimport { StructuredDataType } from '../lib/structured-data';\r\nimport { TwitterCardType } from '../lib/twitter-card';\r\nimport { getPublicUrl, resolveHref } from '../lib/utils';\r\nimport { useLayout } from './useLayout';\r\nimport { usePage } from './usePage';\r\n\r\nexport type IMetaDataOptions = {\r\n brand: {\r\n name: string;\r\n logo: string;\r\n businessName?: string;\r\n appName?: string;\r\n url?: string;\r\n email?: string;\r\n telephone?: string;\r\n zipCode?: string;\r\n address?: string;\r\n city?: string;\r\n provinceCode?: string;\r\n countryName?: string;\r\n countryCode?: string;\r\n twitterName?: string;\r\n social?: Record<string, string>;\r\n },\r\n structuredData?: StructuredDataType;\r\n openGraph?: OpenGraphType;\r\n twitterCard?: TwitterCardType;\r\n};\r\n\r\nexport type IMetaDataContext = IMetaData;\r\n\r\nexport const MetaDataContext = createContext<IMetaDataContext | undefined>(undefined);\r\n\r\nexport function MetaDataProvider({\r\n metaData,\r\n children,\r\n}: {\r\n metaData: IMetaDataOptions,\r\n children?: ReactNode,\r\n}) {\r\n const router = useRouter();\r\n const layout = useLayout();\r\n const page = usePage();\r\n const brand: IBrand = {\r\n ...metaData.brand,\r\n logo: resolveHref(metaData.brand.logo),\r\n url: getPublicUrl(), // layout.topLevelHrefs.homepage,\r\n businessName: metaData.brand.businessName || metaData.brand.name,\r\n appName: metaData.brand.appName || metaData.brand.name,\r\n };\r\n const title = htmlToText(page.meta?.title || page.title || '');\r\n const description = htmlToText(page.meta?.description || page.abstract || '');\r\n const media = ((page.meta as { image: IMedia } | undefined)?.image || page.media);\r\n const image = media ? resolveHref(media.src || media.url) : brand.logo;\r\n let canonical = resolveHref(page.href);\r\n const asPath = router?.asPath || '';\r\n const queryIndex = asPath.indexOf('?');\r\n const query = queryIndex !== -1 ? asPath.substring(queryIndex) : '';\r\n if (query.match(/^\\?pagination\\[page\\]=(\\d+)$/) && query !== '?pagination[page]=1') {\r\n canonical = `${canonical}${query}`;\r\n // title = `${title} - ${query.replace('?pagination[page]=','')}`;\r\n }\r\n const url = `${canonical}${query}`;\r\n const alternates = useMemo(() => {\r\n const alternates: IAlternate[] = [];\r\n (page.alternates || []).forEach((alternate: IRoute) => {\r\n const market = layout.markets.find(x => x.id === alternate.market);\r\n if (market) {\r\n if (market.countries && market.countries.length > 0) {\r\n market.countries.forEach((country: any) => {\r\n // country: string | { alpha2Code: string };\r\n const alpha2Code = typeof country === 'string' ? country : country.alpha2Code;\r\n alternates.push({\r\n id: `${alternate.market}-${alternate.locale}-${alpha2Code}`,\r\n href: resolveHref(alternate.id),\r\n hrefLang: `${alternate.locale}-${alpha2Code}`,\r\n });\r\n });\r\n } else {\r\n alternates.push({\r\n id: `${alternate.market}-${alternate.locale}`,\r\n href: resolveHref(alternate.id),\r\n hrefLang: alternate.locale,\r\n });\r\n }\r\n }\r\n });\r\n return alternates;\r\n }, [layout, page]);\r\n const xDefault = useMemo(() => {\r\n const xDefaultMarket = layout.markets.find(x => x.isDefault)?.id || defaultMarket;\r\n const xDefaultLocale = layout.locales.find(x => x.isDefault)?.id || defaultLocale;\r\n const alternate = page.alternates.find(x => x.market === xDefaultMarket && x.locale === xDefaultLocale);\r\n if (alternate) {\r\n return {\r\n id: `${alternate.market}-${alternate.locale}`,\r\n href: resolveHref(alternate.id),\r\n hrefLang: alternate.locale,\r\n };\r\n }\r\n return undefined;\r\n }, [layout, page]);\r\n const meta: IMeta = {\r\n title: title,\r\n description: description,\r\n image: image,\r\n keywords: page.meta?.keywords,\r\n robots: page.meta?.robots,\r\n slug: page.href,\r\n url,\r\n canonical,\r\n alternates,\r\n xDefault,\r\n };\r\n const contactPoint: ContactPoint = {\r\n '@type': 'ContactPoint',\r\n telephone: brand.telephone,\r\n email: brand.email,\r\n contactType: 'customer service',\r\n areaServed: layout.locales.map(x => x.id),\r\n availableLanguage: layout.locales.map(x => x.id),\r\n };\r\n const postalAddress: PostalAddress = {\r\n '@type': 'PostalAddress',\r\n streetAddress: brand.address,\r\n addressLocality: brand.city,\r\n postalCode: brand.zipCode,\r\n addressRegion: brand.provinceCode,\r\n addressCountry: brand.countryCode,\r\n };\r\n const organization: Organization = {\r\n '@type': 'Organization',\r\n name: brand.businessName,\r\n logo: {\r\n '@type': 'ImageObject',\r\n url: brand.logo,\r\n },\r\n url: brand.url,\r\n /*\r\n description,\r\n founder,\r\n foundingDate,\r\n numberOfEmployees,\r\n */\r\n /*\r\n foundingDate: '2020-01-01',\r\n numberOfEmployees: {\r\n '@type': 'QuantitativeValue',\r\n value: 150,\r\n },\r\n */\r\n };\r\n const hasContact = Boolean(brand.email || brand.telephone);\r\n if (hasContact) {\r\n organization.contactPoint = contactPoint;\r\n }\r\n const hasAddress = Boolean(brand.address || brand.city || brand.zipCode || brand.provinceCode || brand.countryCode);\r\n if (hasAddress) {\r\n organization.address = postalAddress;\r\n }\r\n if (brand.social) {\r\n organization.sameAs = Object.values(brand.social);\r\n }\r\n const structuredData: StructuredDataType = metaData.structuredData || {\r\n '@type': 'WebPage',\r\n name: title,\r\n url: url,\r\n description: description,\r\n publisher: organization,\r\n };\r\n const openGraph: OpenGraphType = metaData.openGraph || {\r\n type: 'website',\r\n title: title,\r\n description: description,\r\n url: url,\r\n siteName: brand.name,\r\n image: image,\r\n locale: layout.locale,\r\n };\r\n const twitterCard: TwitterCardType | undefined = metaData.twitterCard || (\r\n brand.twitterName ? {\r\n card: 'summary_large_image',\r\n title: title,\r\n description: description,\r\n image: image,\r\n imageAlt: brand.businessName,\r\n site: brand.twitterName,\r\n creator: brand.twitterName,\r\n } : undefined\r\n );\r\n const value: IMetaData = {\r\n layout,\r\n page,\r\n brand,\r\n contactPoint,\r\n meta,\r\n openGraph,\r\n organization,\r\n postalAddress,\r\n structuredData,\r\n twitterCard,\r\n };\r\n return (\r\n <MetaDataContext.Provider value={value}>\r\n {children}\r\n </MetaDataContext.Provider>\r\n );\r\n}\r\n"],"mappings":"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"}