@websolutespa/bom-next 3.0.1 → 3.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (306) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/dist/_virtual/_rolldown/runtime.js +24 -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 +18 -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 +13 -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 +20 -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 +13 -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 +49 -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 +146 -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 +13 -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 +65 -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 +65 -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 +13 -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 +70 -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 +13 -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 +13 -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 +15 -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 +13 -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 +13 -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 +13 -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 +33 -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 +19 -5734
  77. package/dist/exports/instrumentation.d.ts +2 -13
  78. package/dist/exports/instrumentation.js +1 -24
  79. package/dist/exports/proxy.d.ts +5 -71
  80. package/dist/exports/proxy.js +4 -253
  81. package/dist/exports/server.d.ts +19 -402
  82. package/dist/exports/server.js +18 -1973
  83. package/dist/index.d.ts +18 -499
  84. package/dist/index.js +10 -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 +15 -0
  88. package/dist/instrumentation/client.js.map +1 -0
  89. package/dist/instrumentation/sentry/capture.requestError.js +10 -0
  90. package/dist/instrumentation/sentry/capture.requestError.js.map +1 -0
  91. package/dist/instrumentation/sentry/capture.routerTransitionStart.js +7 -0
  92. package/dist/instrumentation/sentry/capture.routerTransitionStart.js.map +1 -0
  93. package/dist/instrumentation/server.d.ts +13 -0
  94. package/dist/instrumentation/server.d.ts.map +1 -0
  95. package/dist/instrumentation/server.js +19 -0
  96. package/dist/instrumentation/server.js.map +1 -0
  97. package/dist/{types2.d.ts → instrumentation/types.d.ts} +2 -2
  98. package/dist/instrumentation/types.d.ts.map +1 -0
  99. package/dist/lib/breadcrumb.d.ts +15 -0
  100. package/dist/lib/breadcrumb.d.ts.map +1 -0
  101. package/dist/lib/breadcrumb.js +20 -0
  102. package/dist/lib/breadcrumb.js.map +1 -0
  103. package/dist/lib/const.d.ts +9 -0
  104. package/dist/lib/const.d.ts.map +1 -0
  105. package/dist/lib/const.js +9 -0
  106. package/dist/lib/const.js.map +1 -0
  107. package/dist/lib/http.d.ts +36 -0
  108. package/dist/lib/http.d.ts.map +1 -0
  109. package/dist/{http.js → lib/http.js} +1 -1
  110. package/dist/lib/http.js.map +1 -0
  111. package/dist/lib/label.d.ts +16 -0
  112. package/dist/lib/label.d.ts.map +1 -0
  113. package/dist/lib/label.js +33 -0
  114. package/dist/lib/label.js.map +1 -0
  115. package/dist/lib/layout.defaults.d.ts +9 -0
  116. package/dist/lib/layout.defaults.d.ts.map +1 -0
  117. package/dist/lib/layout.defaults.js +161 -0
  118. package/dist/lib/layout.defaults.js.map +1 -0
  119. package/dist/lib/link.d.ts +9 -0
  120. package/dist/lib/link.d.ts.map +1 -0
  121. package/dist/lib/link.js +16 -0
  122. package/dist/lib/link.js.map +1 -0
  123. package/dist/lib/meta-data.d.ts +56 -0
  124. package/dist/lib/meta-data.d.ts.map +1 -0
  125. package/dist/lib/open-graph.d.ts +143 -0
  126. package/dist/lib/open-graph.d.ts.map +1 -0
  127. package/dist/lib/pagination.d.ts +27 -0
  128. package/dist/lib/pagination.d.ts.map +1 -0
  129. package/dist/lib/pagination.js +39 -0
  130. package/dist/lib/pagination.js.map +1 -0
  131. package/dist/lib/route.d.ts +17 -0
  132. package/dist/lib/route.d.ts.map +1 -0
  133. package/dist/{route.js → lib/route.js} +1 -1
  134. package/dist/lib/route.js.map +1 -0
  135. package/dist/lib/store.d.ts +27 -0
  136. package/dist/lib/store.d.ts.map +1 -0
  137. package/dist/{store.js → lib/store.js} +1 -24
  138. package/dist/lib/store.js.map +1 -0
  139. package/dist/lib/structured-data.d.ts +9 -0
  140. package/dist/lib/structured-data.d.ts.map +1 -0
  141. package/dist/lib/twitter-card.d.ts +43 -0
  142. package/dist/lib/twitter-card.d.ts.map +1 -0
  143. package/dist/lib/utils.d.ts +13 -0
  144. package/dist/lib/utils.d.ts.map +1 -0
  145. package/dist/lib/utils.js +35 -0
  146. package/dist/lib/utils.js.map +1 -0
  147. package/dist/mock.d.ts +127 -0
  148. package/dist/mock.d.ts.map +1 -0
  149. package/dist/node_modules/@selderee/plugin-htmlparser2/lib/hp2-builder.js +75 -0
  150. package/dist/node_modules/@selderee/plugin-htmlparser2/lib/hp2-builder.js.map +1 -0
  151. package/dist/node_modules/deepmerge/dist/cjs.js +86 -0
  152. package/dist/node_modules/deepmerge/dist/cjs.js.map +1 -0
  153. package/dist/node_modules/dom-serializer/lib/esm/foreignNames.js +105 -0
  154. package/dist/node_modules/dom-serializer/lib/esm/foreignNames.js.map +1 -0
  155. package/dist/node_modules/dom-serializer/lib/esm/index.js +146 -0
  156. package/dist/node_modules/dom-serializer/lib/esm/index.js.map +1 -0
  157. package/dist/node_modules/domelementtype/lib/esm/index.js +53 -0
  158. package/dist/node_modules/domelementtype/lib/esm/index.js.map +1 -0
  159. package/dist/node_modules/domhandler/lib/esm/index.js +130 -0
  160. package/dist/node_modules/domhandler/lib/esm/index.js.map +1 -0
  161. package/dist/node_modules/domhandler/lib/esm/node.js +307 -0
  162. package/dist/node_modules/domhandler/lib/esm/node.js.map +1 -0
  163. package/dist/node_modules/entities/lib/esm/decode.js +363 -0
  164. package/dist/node_modules/entities/lib/esm/decode.js.map +1 -0
  165. package/dist/node_modules/entities/lib/esm/decode_codepoint.js +59 -0
  166. package/dist/node_modules/entities/lib/esm/decode_codepoint.js.map +1 -0
  167. package/dist/node_modules/entities/lib/esm/escape.js +85 -0
  168. package/dist/node_modules/entities/lib/esm/escape.js.map +1 -0
  169. package/dist/node_modules/entities/lib/esm/generated/decode-data-html.js +6 -0
  170. package/dist/node_modules/entities/lib/esm/generated/decode-data-html.js.map +1 -0
  171. package/dist/node_modules/entities/lib/esm/generated/decode-data-xml.js +6 -0
  172. package/dist/node_modules/entities/lib/esm/generated/decode-data-xml.js.map +1 -0
  173. package/dist/node_modules/html-to-text/lib/html-to-text.js +1816 -0
  174. package/dist/node_modules/html-to-text/lib/html-to-text.js.map +1 -0
  175. package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/Parser.js +435 -0
  176. package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/Parser.js.map +1 -0
  177. package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/Tokenizer.js +736 -0
  178. package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/Tokenizer.js.map +1 -0
  179. package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/index.js +19 -0
  180. package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/index.js.map +1 -0
  181. package/dist/node_modules/leac/lib/leac.js +101 -0
  182. package/dist/node_modules/leac/lib/leac.js.map +1 -0
  183. package/dist/node_modules/parseley/lib/parseley.js +310 -0
  184. package/dist/node_modules/parseley/lib/parseley.js.map +1 -0
  185. package/dist/node_modules/peberminta/lib/core.js +149 -0
  186. package/dist/node_modules/peberminta/lib/core.js.map +1 -0
  187. package/dist/node_modules/selderee/lib/selderee.js +319 -0
  188. package/dist/node_modules/selderee/lib/selderee.js.map +1 -0
  189. package/dist/proxy/protected-route.d.ts +9 -0
  190. package/dist/proxy/protected-route.d.ts.map +1 -0
  191. package/dist/proxy/protected-route.js +40 -0
  192. package/dist/proxy/protected-route.js.map +1 -0
  193. package/dist/proxy/proxy.d.ts +31 -0
  194. package/dist/proxy/proxy.d.ts.map +1 -0
  195. package/dist/proxy/proxy.js +49 -0
  196. package/dist/proxy/proxy.js.map +1 -0
  197. package/dist/proxy/route-auto-detection.d.ts +12 -0
  198. package/dist/proxy/route-auto-detection.d.ts.map +1 -0
  199. package/dist/proxy/route-auto-detection.js +82 -0
  200. package/dist/proxy/route-auto-detection.js.map +1 -0
  201. package/dist/proxy/route-proxy.d.ts +36 -0
  202. package/dist/proxy/route-proxy.d.ts.map +1 -0
  203. package/dist/proxy/route-proxy.js +103 -0
  204. package/dist/proxy/route-proxy.js.map +1 -0
  205. package/dist/server/context.d.ts +30 -0
  206. package/dist/server/context.d.ts.map +1 -0
  207. package/dist/server/context.js +106 -0
  208. package/dist/server/context.js.map +1 -0
  209. package/dist/server/handlers/auth.handler.d.ts +10 -0
  210. package/dist/server/handlers/auth.handler.d.ts.map +1 -0
  211. package/dist/server/handlers/auth.handler.js +29 -0
  212. package/dist/server/handlers/auth.handler.js.map +1 -0
  213. package/dist/server/handlers/captions.handler.d.ts +10 -0
  214. package/dist/server/handlers/captions.handler.d.ts.map +1 -0
  215. package/dist/server/handlers/captions.handler.js +33 -0
  216. package/dist/server/handlers/captions.handler.js.map +1 -0
  217. package/dist/server/handlers/collection.handler.d.ts +36 -0
  218. package/dist/server/handlers/collection.handler.d.ts.map +1 -0
  219. package/dist/server/handlers/collection.handler.js +166 -0
  220. package/dist/server/handlers/collection.handler.js.map +1 -0
  221. package/dist/server/handlers/error-response.js +24 -0
  222. package/dist/server/handlers/error-response.js.map +1 -0
  223. package/dist/server/handlers/index.handler.d.ts +9 -0
  224. package/dist/server/handlers/index.handler.d.ts.map +1 -0
  225. package/dist/server/handlers/index.handler.js +145 -0
  226. package/dist/server/handlers/index.handler.js.map +1 -0
  227. package/dist/server/handlers/preview.handler.d.ts +9 -0
  228. package/dist/server/handlers/preview.handler.d.ts.map +1 -0
  229. package/dist/server/handlers/preview.handler.js +15 -0
  230. package/dist/server/handlers/preview.handler.js.map +1 -0
  231. package/dist/server/handlers/registry.handler.d.ts +16 -0
  232. package/dist/server/handlers/registry.handler.d.ts.map +1 -0
  233. package/dist/server/handlers/registry.handler.js +260 -0
  234. package/dist/server/handlers/registry.handler.js.map +1 -0
  235. package/dist/server/handlers/route.handler.d.ts +20 -0
  236. package/dist/server/handlers/route.handler.d.ts.map +1 -0
  237. package/dist/server/handlers/route.handler.js +122 -0
  238. package/dist/server/handlers/route.handler.js.map +1 -0
  239. package/dist/server/handlers/sitemap.handler.d.ts +30 -0
  240. package/dist/server/handlers/sitemap.handler.d.ts.map +1 -0
  241. package/dist/server/handlers/sitemap.handler.js +338 -0
  242. package/dist/server/handlers/sitemap.handler.js.map +1 -0
  243. package/dist/server/handlers/static-params.handler.d.ts +24 -0
  244. package/dist/server/handlers/static-params.handler.d.ts.map +1 -0
  245. package/dist/server/handlers/static-params.handler.js +56 -0
  246. package/dist/server/handlers/static-params.handler.js.map +1 -0
  247. package/dist/server/handlers/vars.handler.d.ts +10 -0
  248. package/dist/server/handlers/vars.handler.d.ts.map +1 -0
  249. package/dist/server/handlers/vars.handler.js +159 -0
  250. package/dist/server/handlers/vars.handler.js.map +1 -0
  251. package/dist/server/layout.js +88 -0
  252. package/dist/server/layout.js.map +1 -0
  253. package/dist/server/lazy.d.ts +11 -0
  254. package/dist/server/lazy.d.ts.map +1 -0
  255. package/dist/server/lazy.js +33 -0
  256. package/dist/server/lazy.js.map +1 -0
  257. package/dist/server/local-api.d.ts +9 -0
  258. package/dist/server/local-api.d.ts.map +1 -0
  259. package/dist/server/local-api.js +60 -0
  260. package/dist/server/local-api.js.map +1 -0
  261. package/dist/server/metadata.d.ts +21 -0
  262. package/dist/server/metadata.d.ts.map +1 -0
  263. package/dist/server/metadata.js +20 -0
  264. package/dist/server/metadata.js.map +1 -0
  265. package/dist/server/mixer-payload.d.ts +63 -0
  266. package/dist/server/mixer-payload.d.ts.map +1 -0
  267. package/dist/server/mixer.d.ts +214 -0
  268. package/dist/server/mixer.d.ts.map +1 -0
  269. package/dist/server/mixer.js +355 -0
  270. package/dist/server/mixer.js.map +1 -0
  271. package/dist/server/page.d.ts +22 -0
  272. package/dist/server/page.d.ts.map +1 -0
  273. package/dist/server/page.js +57 -0
  274. package/dist/server/page.js.map +1 -0
  275. package/dist/server/utils.d.ts +12 -0
  276. package/dist/server/utils.d.ts.map +1 -0
  277. package/dist/{utils2.js → server/utils.js} +3 -3
  278. package/dist/server/utils.js.map +1 -0
  279. package/dist/server/utmz.d.ts +9 -0
  280. package/dist/server/utmz.d.ts.map +1 -0
  281. package/dist/server/utmz.js +14 -0
  282. package/dist/server/utmz.js.map +1 -0
  283. package/dist/types.d.ts +6 -61
  284. package/dist/types.d.ts.map +1 -1
  285. package/package.json +1 -1
  286. package/dist/exports/client.d.ts.map +0 -1
  287. package/dist/exports/client.js.map +0 -1
  288. package/dist/exports/instrumentation.d.ts.map +0 -1
  289. package/dist/exports/instrumentation.js.map +0 -1
  290. package/dist/exports/proxy.d.ts.map +0 -1
  291. package/dist/exports/proxy.js.map +0 -1
  292. package/dist/exports/server.d.ts.map +0 -1
  293. package/dist/exports/server.js.map +0 -1
  294. package/dist/http.js.map +0 -1
  295. package/dist/index.d.ts.map +0 -1
  296. package/dist/index.js.map +0 -1
  297. package/dist/index2.d.ts +0 -4
  298. package/dist/route.js.map +0 -1
  299. package/dist/store.js.map +0 -1
  300. package/dist/types2.d.ts.map +0 -1
  301. package/dist/utils.js +0 -78
  302. package/dist/utils.js.map +0 -1
  303. package/dist/utils2.js.map +0 -1
  304. /package/dist/{config.client.js → instrumentation/sentry/config.client.js} +0 -0
  305. /package/dist/{config.edge.js → instrumentation/sentry/config.edge.js} +0 -0
  306. /package/dist/{config.server.js → instrumentation/sentry/config.server.js} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @websolutespa/bom-next
2
2
 
3
- ## 3.0.1
3
+ ## 3.0.2
4
4
 
5
5
  ### Patch Changes
6
6
 
@@ -0,0 +1,24 @@
1
+ //#region \0rolldown/runtime.js
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 __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
11
+ key = keys[i];
12
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
13
+ get: ((k) => from[k]).bind(null, key),
14
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
+ });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp(target, "default", {
20
+ value: mod,
21
+ enumerable: true
22
+ }) : target, mod));
23
+ //#endregion
24
+ export { __commonJSMin, __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"],"mappings":";;;iBAMgB,MAAA,CAAA,GAAM,MAAA,CAAA,GAAA,CAAA"}
@@ -0,0 +1,18 @@
1
+ "use client";
2
+ import { useLabel } from "./useLabel.js";
3
+ import { usePage } from "./usePage.js";
4
+ import { getClassNames } from "@websolutespa/bom-core";
5
+ //#region src/client/client.tsx
6
+ function Client() {
7
+ const label = useLabel();
8
+ const page = usePage();
9
+ const classNames = getClassNames("client");
10
+ return <div className={classNames}>
11
+ <h2 className="display-2">{page.title} <sup>{page.id}</sup></h2>
12
+ <h2>{label("label")}</h2>
13
+ </div>;
14
+ }
15
+ //#endregion
16
+ export { Client };
17
+
18
+ //# 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,SAAS;CACvB,MAAM,OAAO,QAAQ;CAErB,MAAM,aAAa,cAAc,QAAQ;CACzC,OACE,CAAC,IAAI,WAAW,YAAY;MAC1B,CAAC,GAAG,uBAAuB,KAAK,MAAM,CAAC,CAAC,KAAK,KAAK,GAAG,EAAE,IAAI,EAAE,GAAG;MAChE,CAAC,IAAI,MAAM,OAAO,EAAE,EAAE,GAAG;IAC3B,EAAE;AAEN"}
@@ -0,0 +1,17 @@
1
+ import * as react2 from "react";
2
+
3
+ //#region src/client/extra.d.ts
4
+ type IExtraContext = Record<string, any>;
5
+ declare const ExtraContext: react2.Context<IExtraContext | undefined>;
6
+ declare function ExtraProvider({
7
+ extra,
8
+ children
9
+ }: {
10
+ extra?: Record<string, any>;
11
+ children?: React.ReactNode;
12
+ }): react2.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"],"mappings":";;;KAIY,aAAA,GAAgB;cAEf,cAAY,MAAA,CAAA,QAAA;iBAET,aAAA;;;AAF+D;EAFnE,KAAA,CAAA,EAQF,MARE,CAAA,MAAa,EAAA,GAAA,CAAA;EAEZ,QAAA,CAAA,EAOA,KAAA,CAAM,SAP4D;AAAA,CAAA,CAAA,EAQ9E,MAAA,CAAA,GAAA,CAAA,OAR8E;AAAtD"}
@@ -0,0 +1,13 @@
1
+ "use client";
2
+ import { createContext } from "react";
3
+ //#region src/client/extra.tsx
4
+ const ExtraContext = createContext(void 0);
5
+ function ExtraProvider({ extra = {}, children }) {
6
+ return <ExtraContext.Provider value={extra}>
7
+ {children}
8
+ </ExtraContext.Provider>;
9
+ }
10
+ //#endregion
11
+ export { ExtraContext, ExtraProvider };
12
+
13
+ //# 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,KAAA,CAAS;AAE9E,SAAgB,cAAc,EAC5B,QAAQ,CAAC,GACT,YAIC;CACD,OACE,CAAC,aAAa,SAAS,OAAO,OAAO;OAClC,SAAS;IACZ,EAAE,aAAa;AAEnB"}
@@ -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"],"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;AAAA"}
@@ -0,0 +1,20 @@
1
+ "use client";
2
+ import { LabelService } from "../lib/label.js";
3
+ import { useLayout } from "./useLayout.js";
4
+ import { createContext } from "react";
5
+ //#region src/client/label.tsx
6
+ const LabelContext = createContext(void 0);
7
+ function LabelProvider({ children }) {
8
+ const { labels } = useLayout();
9
+ const labelService = new LabelService(labels);
10
+ const getLabel = (key, params) => {
11
+ return labelService.getLabel(key, params);
12
+ };
13
+ return <LabelContext.Provider value={getLabel}>
14
+ {children}
15
+ </LabelContext.Provider>;
16
+ }
17
+ //#endregion
18
+ export { LabelContext, LabelProvider };
19
+
20
+ //# sourceMappingURL=label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label.js","names":[],"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,KAAA,CAAS;AAE9E,SAAgB,cAAc,EAAE,YAA4C;CAC1E,MAAM,EAAE,WAAW,UAAU;CAE7B,MAAM,eAAe,IAAI,aAAa,MAAM;CAC5C,MAAM,YAAY,KAAa,WAAyC;EACtE,OAAO,aAAa,SAAS,KAAK,MAAM;CAC1C;CACA,OACE,CAAC,aAAa,SAAS,OAAO,UAAU;OACrC,SAAS;IACZ,EAAE,aAAa;AAEnB"}
@@ -0,0 +1,18 @@
1
+ import { ILayout } from "@websolutespa/bom-core";
2
+ import * as react0 from "react";
3
+
4
+ //#region src/client/layout.d.ts
5
+ type ILayoutContext = ILayout;
6
+ declare const LayoutContext: react0.Context<ILayoutContext | undefined>;
7
+ declare function LayoutProvider({
8
+ layout,
9
+ children
10
+ }: {
11
+ layout: ILayout;
12
+ children?: React.ReactNode;
13
+ }): react0.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"],"mappings":";;;;KAKY,cAAA,GAAiB;cAEhB,eAAa,MAAA,CAAA,QAAA;iBAEV,cAAA;;;AAFiE;EAFrE,MAAA,EAQF,OARE;EAEC,QAAA,CAAA,EAOA,KAAA,CAAM,SAP8D;AAAA,CAAA,CAAA,EAQhF,MAAA,CAAA,GAAA,CAAA,OARgF;AAAvD"}
@@ -0,0 +1,13 @@
1
+ "use client";
2
+ import { createContext } from "react";
3
+ //#region src/client/layout.tsx
4
+ const LayoutContext = createContext(void 0);
5
+ function LayoutProvider({ layout, children }) {
6
+ return <LayoutContext.Provider value={layout}>
7
+ {children}
8
+ </LayoutContext.Provider>;
9
+ }
10
+ //#endregion
11
+ export { LayoutContext, LayoutProvider };
12
+
13
+ //# 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,KAAA,CAAS;AAEhF,SAAgB,eAAe,EAC7B,QACA,YAIC;CACD,OACE,CAAC,cAAc,SAAS,OAAO,QAAQ;OACpC,SAAS;IACZ,EAAE,cAAc;AAEpB"}
@@ -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"],"mappings":";;;iBAGsB,8DAA6D,iCAAzC;;EAApB,MAAA,EAAA,MAAA;AAAoB,CAAA,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;EAAsF,MAAA,EAAA,MAAA;EAAR,MAAA,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,cAA0H,CAA1H,EAAA;EAAA,MAAA,EAAA,MAAA;EAAoC,MAAA,EAAA,MAAA;AAAsF,CAAA,CAAA,EAIY,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;AAAmB,CAAA,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;EAAsF,MAAA,EAAA,MAAA;EAAR,MAAA,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,cAA6I,CAA7I,EAAA;EAAA,MAAA,EAAA,MAAA;EAAuD,MAAA,EAAA,MAAA;AAAsF,CAAA,CAAA,EAQxB,OARwB,CAQhB,CARgB,CAAA;AAAR"}
@@ -0,0 +1,49 @@
1
+ import { getLocalApiRequestOptions, getLocalApiUrl } from "../lib/http.js";
2
+ import { httpFetch, merge } from "@websolutespa/bom-core";
3
+ //#region src/client/local.collection.ts
4
+ async function localCollectionFetch(pathname, options = {}, serviceOptions) {
5
+ const url = new URL(getLocalApiUrl(pathname));
6
+ if (serviceOptions) {
7
+ url.searchParams.append("locale", serviceOptions.locale);
8
+ url.searchParams.append("market", serviceOptions.market);
9
+ }
10
+ const apiOptions = merge({ ...getLocalApiRequestOptions() }, options);
11
+ return await httpFetch(url.href, apiOptions);
12
+ }
13
+ async function localCollectionGet(url, options = {}, serviceOptions) {
14
+ return await localCollectionFetch(url, {
15
+ ...options,
16
+ method: "GET"
17
+ }, serviceOptions);
18
+ }
19
+ async function localCollectionPost(url, payload, options = {}, serviceOptions) {
20
+ return await localCollectionFetch(url, {
21
+ ...options,
22
+ method: "POST",
23
+ body: payload ? JSON.stringify(payload) : void 0
24
+ }, serviceOptions);
25
+ }
26
+ async function localCollectionPut(url, payload, options = {}, serviceOptions) {
27
+ return await localCollectionFetch(url, {
28
+ ...options,
29
+ method: "PUT",
30
+ body: payload ? JSON.stringify(payload) : void 0
31
+ }, serviceOptions);
32
+ }
33
+ async function localCollectionPatch(url, payload, options = {}, serviceOptions) {
34
+ return await localCollectionFetch(url, {
35
+ ...options,
36
+ method: "PATCH",
37
+ body: payload ? JSON.stringify(payload) : void 0
38
+ }, serviceOptions);
39
+ }
40
+ async function localCollectionDelete(url, options = {}, serviceOptions) {
41
+ return await localCollectionFetch(url, {
42
+ ...options,
43
+ method: "DELETE"
44
+ }, serviceOptions);
45
+ }
46
+ //#endregion
47
+ export { localCollectionDelete, localCollectionFetch, localCollectionGet, localCollectionPatch, localCollectionPost, localCollectionPut };
48
+
49
+ //# sourceMappingURL=local.collection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local.collection.js","names":[],"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,qBAAkC,UAAkB,UAA6B,CAAC,GAAG,gBAAiE;CAC1K,MAAM,MAAM,IAAI,IAAI,eAAe,QAAQ,CAAC;CAC5C,IAAI,gBAAgB;EAClB,IAAI,aAAa,OAAO,UAAU,eAAe,MAAM;EACvD,IAAI,aAAa,OAAO,UAAU,eAAe,MAAM;CACzD;CACA,MAAM,aAAa,MAAM,EAAE,GAAG,0BAA0B,EAAE,GAAG,OAAO;CAEpE,OAAO,MADmB,UAAU,IAAI,MAAM,UAAU;AAE1D;AAEA,eAAsB,mBAAgC,KAAa,UAA6B,CAAC,GAAG,gBAAiE;CACnK,OAAO,MAAM,qBAAwB,KAAK;EAAE,GAAG;EAAS,QAAQ;CAAM,GAAG,cAAc;AACzF;AAEA,eAAsB,oBAAiC,KAAa,SAAmB,UAA6B,CAAC,GAAG,gBAAiE;CACvL,OAAO,MAAM,qBAAwB,KAAK;EAAE,GAAG;EAAS,QAAQ;EAAQ,MAAM,UAAU,KAAK,UAAU,OAAO,IAAI,KAAA;CAAU,GAAG,cAAc;AAC/I;AAEA,eAAsB,mBAAgC,KAAa,SAAmB,UAA6B,CAAC,GAAG,gBAAiE;CACtL,OAAO,MAAM,qBAAwB,KAAK;EAAE,GAAG;EAAS,QAAQ;EAAO,MAAM,UAAU,KAAK,UAAU,OAAO,IAAI,KAAA;CAAU,GAAG,cAAc;AAC9I;AAEA,eAAsB,qBAAkC,KAAa,SAAmB,UAA6B,CAAC,GAAG,gBAAiE;CACxL,OAAO,MAAM,qBAAwB,KAAK;EAAE,GAAG;EAAS,QAAQ;EAAS,MAAM,UAAU,KAAK,UAAU,OAAO,IAAI,KAAA;CAAU,GAAG,cAAc;AAChJ;AAEA,eAAsB,sBAAmC,KAAa,UAA6B,CAAC,GAAG,gBAAiE;CACtK,OAAO,MAAM,qBAAwB,KAAK;EAAE,GAAG;EAAS,QAAQ;CAAS,GAAG,cAAc;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 react19 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: react19.Context<IMetaData | undefined>;
33
+ declare function MetaDataProvider({
34
+ metaData,
35
+ children
36
+ }: {
37
+ metaData: IMetaDataOptions;
38
+ children?: ReactNode;
39
+ }): react19.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"],"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;EAC9B,cAAA,CAAA,EAViB,kBAUjB;EACA,SAAA,CAAA,EAVY,aAUZ;EAEU,WAAA,CAAA,EAXI,eAWJ;AACC,CAAA;AACZ,KAVW,gBAAA,GAAmB,SAU9B;AAAA,cARY,eAQZ,EAR2B,OAAA,CAAA,OAQ3B,CAR2B,SAQ3B,GAAA,SAAA,CAAA;iBANe,gBAAA;;;;YAIJ;aACC;IACZ,OAAA,CAAA,GAAA,CAAA"}
@@ -0,0 +1,146 @@
1
+ "use client";
2
+ import { getPublicUrl, resolveHref } from "../lib/utils.js";
3
+ import { useLayout } from "./useLayout.js";
4
+ import { usePage } from "./usePage.js";
5
+ import { convert } from "../node_modules/html-to-text/lib/html-to-text.js";
6
+ import { defaultLocale, defaultMarket } from "@websolutespa/bom-core";
7
+ import { createContext, useMemo } from "react";
8
+ import { useRouter } from "next/compat/router";
9
+ //#region src/client/metadata.tsx
10
+ const MetaDataContext = createContext(void 0);
11
+ function MetaDataProvider({ metaData, children }) {
12
+ const router = useRouter();
13
+ const layout = useLayout();
14
+ const page = usePage();
15
+ const brand = {
16
+ ...metaData.brand,
17
+ logo: resolveHref(metaData.brand.logo),
18
+ url: getPublicUrl(),
19
+ businessName: metaData.brand.businessName || metaData.brand.name,
20
+ appName: metaData.brand.appName || metaData.brand.name
21
+ };
22
+ const title = convert(page.meta?.title || page.title || "");
23
+ const description = convert(page.meta?.description || page.abstract || "");
24
+ const media = page.meta?.image || page.media;
25
+ const image = media ? resolveHref(media.src || media.url) : brand.logo;
26
+ let canonical = resolveHref(page.href);
27
+ const asPath = router?.asPath || "";
28
+ const queryIndex = asPath.indexOf("?");
29
+ const query = queryIndex !== -1 ? asPath.substring(queryIndex) : "";
30
+ if (query.match(/^\?pagination\[page\]=(\d+)$/) && query !== "?pagination[page]=1") canonical = `${canonical}${query}`;
31
+ const url = `${canonical}${query}`;
32
+ const alternates = useMemo(() => {
33
+ const alternates = [];
34
+ (page.alternates || []).forEach((alternate) => {
35
+ const market = layout.markets.find((x) => x.id === alternate.market);
36
+ if (market) {
37
+ if (market.countries && market.countries.length > 0) market.countries.forEach((country) => {
38
+ const alpha2Code = typeof country === "string" ? country : country.alpha2Code;
39
+ alternates.push({
40
+ id: `${alternate.market}-${alternate.locale}-${alpha2Code}`,
41
+ href: resolveHref(alternate.id),
42
+ hrefLang: `${alternate.locale}-${alpha2Code}`
43
+ });
44
+ });
45
+ else alternates.push({
46
+ id: `${alternate.market}-${alternate.locale}`,
47
+ href: resolveHref(alternate.id),
48
+ hrefLang: alternate.locale
49
+ });
50
+ }
51
+ });
52
+ return alternates;
53
+ }, [layout, page]);
54
+ const xDefault = useMemo(() => {
55
+ const xDefaultMarket = layout.markets.find((x) => x.isDefault)?.id || defaultMarket;
56
+ const xDefaultLocale = layout.locales.find((x) => x.isDefault)?.id || defaultLocale;
57
+ const alternate = page.alternates.find((x) => x.market === xDefaultMarket && x.locale === xDefaultLocale);
58
+ if (alternate) return {
59
+ id: `${alternate.market}-${alternate.locale}`,
60
+ href: resolveHref(alternate.id),
61
+ hrefLang: alternate.locale
62
+ };
63
+ }, [layout, page]);
64
+ const meta = {
65
+ title,
66
+ description,
67
+ image,
68
+ keywords: page.meta?.keywords,
69
+ robots: page.meta?.robots,
70
+ slug: page.href,
71
+ url,
72
+ canonical,
73
+ alternates,
74
+ xDefault
75
+ };
76
+ const contactPoint = {
77
+ "@type": "ContactPoint",
78
+ telephone: brand.telephone,
79
+ email: brand.email,
80
+ contactType: "customer service",
81
+ areaServed: layout.locales.map((x) => x.id),
82
+ availableLanguage: layout.locales.map((x) => x.id)
83
+ };
84
+ const postalAddress = {
85
+ "@type": "PostalAddress",
86
+ streetAddress: brand.address,
87
+ addressLocality: brand.city,
88
+ postalCode: brand.zipCode,
89
+ addressRegion: brand.provinceCode,
90
+ addressCountry: brand.countryCode
91
+ };
92
+ const organization = {
93
+ "@type": "Organization",
94
+ name: brand.businessName,
95
+ logo: {
96
+ "@type": "ImageObject",
97
+ url: brand.logo
98
+ },
99
+ url: brand.url
100
+ };
101
+ if (Boolean(brand.email || brand.telephone)) organization.contactPoint = contactPoint;
102
+ if (Boolean(brand.address || brand.city || brand.zipCode || brand.provinceCode || brand.countryCode)) organization.address = postalAddress;
103
+ if (brand.social) organization.sameAs = Object.values(brand.social);
104
+ const structuredData = metaData.structuredData || {
105
+ "@type": "WebPage",
106
+ name: title,
107
+ url,
108
+ description,
109
+ publisher: organization
110
+ };
111
+ const value = {
112
+ layout,
113
+ page,
114
+ brand,
115
+ contactPoint,
116
+ meta,
117
+ openGraph: metaData.openGraph || {
118
+ type: "website",
119
+ title,
120
+ description,
121
+ url,
122
+ siteName: brand.name,
123
+ image,
124
+ locale: layout.locale
125
+ },
126
+ organization,
127
+ postalAddress,
128
+ structuredData,
129
+ twitterCard: metaData.twitterCard || (brand.twitterName ? {
130
+ card: "summary_large_image",
131
+ title,
132
+ description,
133
+ image,
134
+ imageAlt: brand.businessName,
135
+ site: brand.twitterName,
136
+ creator: brand.twitterName
137
+ } : void 0)
138
+ };
139
+ return <MetaDataContext.Provider value={value}>
140
+ {children}
141
+ </MetaDataContext.Provider>;
142
+ }
143
+ //#endregion
144
+ export { MetaDataContext, MetaDataProvider };
145
+
146
+ //# sourceMappingURL=metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.js","names":["htmlToText"],"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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"}