@websolutespa/bom-next 3.0.2 → 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.
- package/CHANGELOG.md +17 -7
- package/dist/_virtual/{_rolldown/runtime.js → rolldown_runtime.js} +7 -4
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js +17 -6
- package/dist/client/client.js.map +1 -1
- package/dist/client/extra.d.ts +3 -3
- package/dist/client/extra.d.ts.map +1 -1
- package/dist/client/extra.js +10 -5
- package/dist/client/extra.js.map +1 -1
- package/dist/client/label.d.ts.map +1 -1
- package/dist/client/label.js +10 -5
- package/dist/client/label.js.map +1 -1
- package/dist/client/layout.d.ts +3 -3
- package/dist/client/layout.d.ts.map +1 -1
- package/dist/client/layout.js +10 -5
- package/dist/client/layout.js.map +1 -1
- package/dist/client/local.collection.d.ts.map +1 -1
- package/dist/client/local.collection.js +4 -2
- package/dist/client/local.collection.js.map +1 -1
- package/dist/client/metadata.d.ts +3 -3
- package/dist/client/metadata.d.ts.map +1 -1
- package/dist/client/metadata.js +48 -40
- package/dist/client/metadata.js.map +1 -1
- package/dist/client/page.d.ts +3 -3
- package/dist/client/page.d.ts.map +1 -1
- package/dist/client/page.js +10 -5
- package/dist/client/page.js.map +1 -1
- package/dist/client/useApi.d.ts +7 -7
- package/dist/client/useApi.d.ts.map +1 -1
- package/dist/client/useApi.js +2 -1
- package/dist/client/useApi.js.map +1 -1
- package/dist/client/useCollectionApi.d.ts +6 -6
- package/dist/client/useCollectionApi.d.ts.map +1 -1
- package/dist/client/useCollectionApi.js +4 -2
- package/dist/client/useCollectionApi.js.map +1 -1
- package/dist/client/useExtra.d.ts.map +1 -1
- package/dist/client/useExtra.js +5 -2
- package/dist/client/useExtra.js.map +1 -1
- package/dist/client/useHttp.d.ts.map +1 -1
- package/dist/client/useHttp.js +9 -6
- package/dist/client/useHttp.js.map +1 -1
- package/dist/client/useLabel.d.ts.map +1 -1
- package/dist/client/useLabel.js +5 -2
- package/dist/client/useLabel.js.map +1 -1
- package/dist/client/useLayout.d.ts.map +1 -1
- package/dist/client/useLayout.js +5 -2
- package/dist/client/useLayout.js.map +1 -1
- package/dist/client/useLink.d.ts.map +1 -1
- package/dist/client/useLink.js +7 -3
- package/dist/client/useLink.js.map +1 -1
- package/dist/client/useMetaData.d.ts.map +1 -1
- package/dist/client/useMetaData.js +5 -2
- package/dist/client/useMetaData.js.map +1 -1
- package/dist/client/usePage.d.ts.map +1 -1
- package/dist/client/usePage.js +5 -2
- package/dist/client/usePage.js.map +1 -1
- package/dist/client/useUser.d.ts.map +1 -1
- package/dist/client/useUser.js +5 -2
- package/dist/client/useUser.js.map +1 -1
- package/dist/client/user.d.ts.map +1 -1
- package/dist/client/user.js +17 -11
- package/dist/client/user.js.map +1 -1
- package/dist/exports/client.js +2 -1
- package/dist/exports/instrumentation.js +2 -1
- package/dist/exports/proxy.js +2 -1
- package/dist/exports/server.js +2 -1
- package/dist/index.js +2 -1
- package/dist/instrumentation/client.d.ts.map +1 -1
- package/dist/instrumentation/client.js +2 -1
- package/dist/instrumentation/client.js.map +1 -1
- package/dist/instrumentation/sentry/capture.requestError.js +4 -1
- package/dist/instrumentation/sentry/capture.requestError.js.map +1 -1
- package/dist/instrumentation/sentry/capture.routerTransitionStart.js +2 -1
- package/dist/instrumentation/sentry/capture.routerTransitionStart.js.map +1 -1
- package/dist/instrumentation/sentry/config.client.js +10 -2
- package/dist/instrumentation/sentry/config.client.js.map +1 -0
- package/dist/instrumentation/sentry/config.edge.js +10 -2
- package/dist/instrumentation/sentry/config.edge.js.map +1 -0
- package/dist/instrumentation/sentry/config.server.js +10 -2
- package/dist/instrumentation/sentry/config.server.js.map +1 -0
- package/dist/instrumentation/server.d.ts.map +1 -1
- package/dist/instrumentation/server.js +8 -5
- package/dist/instrumentation/server.js.map +1 -1
- package/dist/instrumentation/types.d.ts.map +1 -1
- package/dist/lib/breadcrumb.d.ts.map +1 -1
- package/dist/lib/breadcrumb.js +6 -1
- package/dist/lib/breadcrumb.js.map +1 -1
- package/dist/lib/const.d.ts.map +1 -1
- package/dist/lib/const.js +1 -1
- package/dist/lib/const.js.map +1 -1
- package/dist/lib/http.d.ts.map +1 -1
- package/dist/lib/http.js +6 -3
- package/dist/lib/http.js.map +1 -1
- package/dist/lib/label.d.ts.map +1 -1
- package/dist/lib/label.js +4 -3
- package/dist/lib/label.js.map +1 -1
- package/dist/lib/layout.defaults.d.ts.map +1 -1
- package/dist/lib/layout.defaults.js +1 -1
- package/dist/lib/layout.defaults.js.map +1 -1
- package/dist/lib/link.d.ts.map +1 -1
- package/dist/lib/link.js +2 -1
- package/dist/lib/link.js.map +1 -1
- package/dist/lib/meta-data.d.ts.map +1 -1
- package/dist/lib/open-graph.d.ts.map +1 -1
- package/dist/lib/pagination.d.ts.map +1 -1
- package/dist/lib/pagination.js +4 -2
- package/dist/lib/pagination.js.map +1 -1
- package/dist/lib/route.d.ts.map +1 -1
- package/dist/lib/route.js +9 -3
- package/dist/lib/route.js.map +1 -1
- package/dist/lib/store.d.ts.map +1 -1
- package/dist/lib/store.js +31 -31
- package/dist/lib/store.js.map +1 -1
- package/dist/lib/structured-data.d.ts.map +1 -1
- package/dist/lib/twitter-card.d.ts.map +1 -1
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +3 -2
- package/dist/lib/utils.js.map +1 -1
- package/dist/mock.d.ts.map +1 -1
- package/dist/node_modules/@selderee/plugin-htmlparser2/lib/hp2-builder.js +3 -2
- package/dist/node_modules/@selderee/plugin-htmlparser2/lib/hp2-builder.js.map +1 -1
- package/dist/node_modules/deepmerge/dist/cjs.js +17 -9
- package/dist/node_modules/deepmerge/dist/cjs.js.map +1 -1
- package/dist/node_modules/dom-serializer/lib/esm/foreignNames.js +2 -2
- package/dist/node_modules/dom-serializer/lib/esm/foreignNames.js.map +1 -1
- package/dist/node_modules/dom-serializer/lib/esm/index.js +10 -15
- package/dist/node_modules/dom-serializer/lib/esm/index.js.map +1 -1
- package/dist/node_modules/domelementtype/lib/esm/index.js +12 -12
- package/dist/node_modules/domelementtype/lib/esm/index.js.map +1 -1
- package/dist/node_modules/domhandler/lib/esm/index.js +4 -3
- package/dist/node_modules/domhandler/lib/esm/index.js.map +1 -1
- package/dist/node_modules/domhandler/lib/esm/node.js +8 -7
- package/dist/node_modules/domhandler/lib/esm/node.js.map +1 -1
- package/dist/node_modules/entities/lib/esm/decode.js +33 -32
- package/dist/node_modules/entities/lib/esm/decode.js.map +1 -1
- package/dist/node_modules/entities/lib/esm/decode_codepoint.js +5 -5
- package/dist/node_modules/entities/lib/esm/decode_codepoint.js.map +1 -1
- package/dist/node_modules/entities/lib/esm/escape.js +14 -6
- package/dist/node_modules/entities/lib/esm/escape.js.map +1 -1
- package/dist/node_modules/entities/lib/esm/generated/decode-data-html.js +2 -2
- package/dist/node_modules/entities/lib/esm/generated/decode-data-html.js.map +1 -1
- package/dist/node_modules/entities/lib/esm/generated/decode-data-xml.js +2 -2
- package/dist/node_modules/entities/lib/esm/generated/decode-data-xml.js.map +1 -1
- package/dist/node_modules/html-to-text/lib/html-to-text.js +45 -33
- package/dist/node_modules/html-to-text/lib/html-to-text.js.map +1 -1
- package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/Parser.js +25 -25
- package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/Parser.js.map +1 -1
- package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/Tokenizer.js +76 -73
- package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/Tokenizer.js.map +1 -1
- package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/index.js +4 -3
- package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/index.js.map +1 -1
- package/dist/node_modules/leac/lib/leac.js +72 -72
- package/dist/node_modules/leac/lib/leac.js.map +1 -1
- package/dist/node_modules/parseley/lib/parseley.js +37 -33
- package/dist/node_modules/parseley/lib/parseley.js.map +1 -1
- package/dist/node_modules/peberminta/lib/core.js +4 -4
- package/dist/node_modules/peberminta/lib/core.js.map +1 -1
- package/dist/node_modules/selderee/lib/selderee.js +16 -10
- package/dist/node_modules/selderee/lib/selderee.js.map +1 -1
- package/dist/proxy/protected-route.d.ts.map +1 -1
- package/dist/proxy/protected-route.js +11 -6
- package/dist/proxy/protected-route.js.map +1 -1
- package/dist/proxy/proxy.d.ts.map +1 -1
- package/dist/proxy/proxy.js +17 -2
- package/dist/proxy/proxy.js.map +1 -1
- package/dist/proxy/route-auto-detection.d.ts.map +1 -1
- package/dist/proxy/route-auto-detection.js +26 -14
- package/dist/proxy/route-auto-detection.js.map +1 -1
- package/dist/proxy/route-proxy.d.ts.map +1 -1
- package/dist/proxy/route-proxy.js +22 -5
- package/dist/proxy/route-proxy.js.map +1 -1
- package/dist/server/context.d.ts.map +1 -1
- package/dist/server/context.js +20 -2
- package/dist/server/context.js.map +1 -1
- package/dist/server/handlers/auth.handler.d.ts.map +1 -1
- package/dist/server/handlers/auth.handler.js +4 -2
- package/dist/server/handlers/auth.handler.js.map +1 -1
- package/dist/server/handlers/captions.handler.d.ts.map +1 -1
- package/dist/server/handlers/captions.handler.js +4 -2
- package/dist/server/handlers/captions.handler.js.map +1 -1
- package/dist/server/handlers/collection.handler.d.ts.map +1 -1
- package/dist/server/handlers/collection.handler.js +2 -1
- package/dist/server/handlers/collection.handler.js.map +1 -1
- package/dist/server/handlers/error-response.js +6 -2
- package/dist/server/handlers/error-response.js.map +1 -1
- package/dist/server/handlers/index.handler.d.ts.map +1 -1
- package/dist/server/handlers/index.handler.js +2 -1
- package/dist/server/handlers/index.handler.js.map +1 -1
- package/dist/server/handlers/preview.handler.d.ts.map +1 -1
- package/dist/server/handlers/preview.handler.js +6 -3
- package/dist/server/handlers/preview.handler.js.map +1 -1
- package/dist/server/handlers/registry.handler.d.ts.map +1 -1
- package/dist/server/handlers/registry.handler.js +14 -9
- package/dist/server/handlers/registry.handler.js.map +1 -1
- package/dist/server/handlers/route.handler.d.ts.map +1 -1
- package/dist/server/handlers/route.handler.js +12 -3
- package/dist/server/handlers/route.handler.js.map +1 -1
- package/dist/server/handlers/sitemap.handler.d.ts.map +1 -1
- package/dist/server/handlers/sitemap.handler.js +12 -9
- package/dist/server/handlers/sitemap.handler.js.map +1 -1
- package/dist/server/handlers/static-params.handler.d.ts.map +1 -1
- package/dist/server/handlers/static-params.handler.js +13 -8
- package/dist/server/handlers/static-params.handler.js.map +1 -1
- package/dist/server/handlers/vars.handler.d.ts.map +1 -1
- package/dist/server/handlers/vars.handler.js +5 -4
- package/dist/server/handlers/vars.handler.js.map +1 -1
- package/dist/server/layout.js +34 -12
- package/dist/server/layout.js.map +1 -1
- package/dist/server/lazy.d.ts.map +1 -1
- package/dist/server/lazy.js +5 -2
- package/dist/server/lazy.js.map +1 -1
- package/dist/server/local-api.d.ts.map +1 -1
- package/dist/server/local-api.js +12 -6
- package/dist/server/local-api.js.map +1 -1
- package/dist/server/metadata.d.ts.map +1 -1
- package/dist/server/metadata.js +5 -1
- package/dist/server/metadata.js.map +1 -1
- package/dist/server/mixer-payload.d.ts +1 -1
- package/dist/server/mixer-payload.d.ts.map +1 -1
- package/dist/server/mixer.d.ts.map +1 -1
- package/dist/server/mixer.js +183 -57
- package/dist/server/mixer.js.map +1 -1
- package/dist/server/page.d.ts.map +1 -1
- package/dist/server/page.js +15 -4
- package/dist/server/page.js.map +1 -1
- package/dist/server/utils.d.ts.map +1 -1
- package/dist/server/utils.js +4 -2
- package/dist/server/utils.js.map +1 -1
- package/dist/server/utmz.d.ts.map +1 -1
- package/dist/server/utmz.js +1 -1
- package/dist/server/utmz.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +11 -11
package/CHANGELOG.md
CHANGED
|
@@ -1,7 +1,17 @@
|
|
|
1
|
-
# @websolutespa/bom-next
|
|
2
|
-
|
|
3
|
-
##
|
|
4
|
-
|
|
5
|
-
###
|
|
6
|
-
|
|
7
|
-
-
|
|
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
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
//#region
|
|
1
|
+
//#region rolldown:runtime
|
|
2
2
|
var __create = Object.create;
|
|
3
3
|
var __defProp = Object.defineProperty;
|
|
4
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
6
|
var __getProtoOf = Object.getPrototypeOf;
|
|
7
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var
|
|
8
|
+
var __commonJS = (cb, mod) => function() {
|
|
9
|
+
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
10
|
+
};
|
|
9
11
|
var __copyProps = (to, from, except, desc) => {
|
|
10
12
|
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
11
13
|
key = keys[i];
|
|
@@ -16,9 +18,10 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
18
|
}
|
|
17
19
|
return to;
|
|
18
20
|
};
|
|
19
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule
|
|
21
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
20
22
|
value: mod,
|
|
21
23
|
enumerable: true
|
|
22
24
|
}) : target, mod));
|
|
25
|
+
|
|
23
26
|
//#endregion
|
|
24
|
-
export {
|
|
27
|
+
export { __commonJS, __toESM };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","names":[],"sources":["../../src/client/client.tsx"],"mappings":";;;iBAMgB,MAAA,CAAA,GAAM,MAAA,CAAA,GAAA,CAAA"}
|
|
1
|
+
{"version":3,"file":"client.d.ts","names":[],"sources":["../../src/client/client.tsx"],"sourcesContent":[],"mappings":";;;iBAMgB,MAAA,CAAA,GAAM,MAAA,CAAA,GAAA,CAAA"}
|
package/dist/client/client.js
CHANGED
|
@@ -1,18 +1,29 @@
|
|
|
1
|
-
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
|
|
2
4
|
import { useLabel } from "./useLabel.js";
|
|
3
5
|
import { usePage } from "./usePage.js";
|
|
4
6
|
import { getClassNames } from "@websolutespa/bom-core";
|
|
7
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
|
|
5
9
|
//#region src/client/client.tsx
|
|
6
10
|
function Client() {
|
|
7
11
|
const label = useLabel();
|
|
8
12
|
const page = usePage();
|
|
9
13
|
const classNames = getClassNames("client");
|
|
10
|
-
return
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
|
+
});
|
|
14
25
|
}
|
|
26
|
+
|
|
15
27
|
//#endregion
|
|
16
28
|
export { Client };
|
|
17
|
-
|
|
18
29
|
//# sourceMappingURL=client.js.map
|
|
@@ -1 +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":"
|
|
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"}
|
package/dist/client/extra.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react0 from "react";
|
|
2
2
|
|
|
3
3
|
//#region src/client/extra.d.ts
|
|
4
4
|
type IExtraContext = Record<string, any>;
|
|
5
|
-
declare const ExtraContext:
|
|
5
|
+
declare const ExtraContext: react0.Context<IExtraContext | undefined>;
|
|
6
6
|
declare function ExtraProvider({
|
|
7
7
|
extra,
|
|
8
8
|
children
|
|
9
9
|
}: {
|
|
10
10
|
extra?: Record<string, any>;
|
|
11
11
|
children?: React.ReactNode;
|
|
12
|
-
}):
|
|
12
|
+
}): react0.JSX.Element;
|
|
13
13
|
//# sourceMappingURL=extra.d.ts.map
|
|
14
14
|
|
|
15
15
|
//#endregion
|
|
@@ -1 +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
|
|
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"}
|
package/dist/client/extra.js
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
|
-
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
|
|
2
4
|
import { createContext } from "react";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
|
|
3
7
|
//#region src/client/extra.tsx
|
|
4
8
|
const ExtraContext = createContext(void 0);
|
|
5
9
|
function ExtraProvider({ extra = {}, children }) {
|
|
6
|
-
return
|
|
7
|
-
|
|
8
|
-
|
|
10
|
+
return /* @__PURE__ */ jsx(ExtraContext.Provider, {
|
|
11
|
+
value: extra,
|
|
12
|
+
children
|
|
13
|
+
});
|
|
9
14
|
}
|
|
15
|
+
|
|
10
16
|
//#endregion
|
|
11
17
|
export { ExtraContext, ExtraProvider };
|
|
12
|
-
|
|
13
18
|
//# sourceMappingURL=extra.js.map
|
package/dist/client/extra.js.map
CHANGED
|
@@ -1 +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":"
|
|
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"}
|
|
@@ -1 +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
|
|
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"}
|
package/dist/client/label.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
|
|
2
4
|
import { LabelService } from "../lib/label.js";
|
|
3
5
|
import { useLayout } from "./useLayout.js";
|
|
4
6
|
import { createContext } from "react";
|
|
7
|
+
import { jsx } from "react/jsx-runtime";
|
|
8
|
+
|
|
5
9
|
//#region src/client/label.tsx
|
|
6
10
|
const LabelContext = createContext(void 0);
|
|
7
11
|
function LabelProvider({ children }) {
|
|
@@ -10,11 +14,12 @@ function LabelProvider({ children }) {
|
|
|
10
14
|
const getLabel = (key, params) => {
|
|
11
15
|
return labelService.getLabel(key, params);
|
|
12
16
|
};
|
|
13
|
-
return
|
|
14
|
-
|
|
15
|
-
|
|
17
|
+
return /* @__PURE__ */ jsx(LabelContext.Provider, {
|
|
18
|
+
value: getLabel,
|
|
19
|
+
children
|
|
20
|
+
});
|
|
16
21
|
}
|
|
22
|
+
|
|
17
23
|
//#endregion
|
|
18
24
|
export { LabelContext, LabelProvider };
|
|
19
|
-
|
|
20
25
|
//# sourceMappingURL=label.js.map
|
package/dist/client/label.js.map
CHANGED
|
@@ -1 +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":"
|
|
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"}
|
package/dist/client/layout.d.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { ILayout } from "@websolutespa/bom-core";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react2 from "react";
|
|
3
3
|
|
|
4
4
|
//#region src/client/layout.d.ts
|
|
5
5
|
type ILayoutContext = ILayout;
|
|
6
|
-
declare const LayoutContext:
|
|
6
|
+
declare const LayoutContext: react2.Context<ILayoutContext | undefined>;
|
|
7
7
|
declare function LayoutProvider({
|
|
8
8
|
layout,
|
|
9
9
|
children
|
|
10
10
|
}: {
|
|
11
11
|
layout: ILayout;
|
|
12
12
|
children?: React.ReactNode;
|
|
13
|
-
}):
|
|
13
|
+
}): react2.JSX.Element;
|
|
14
14
|
//# sourceMappingURL=layout.d.ts.map
|
|
15
15
|
|
|
16
16
|
//#endregion
|
|
@@ -1 +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
|
|
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"}
|
package/dist/client/layout.js
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
|
-
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
|
|
2
4
|
import { createContext } from "react";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
|
|
3
7
|
//#region src/client/layout.tsx
|
|
4
8
|
const LayoutContext = createContext(void 0);
|
|
5
9
|
function LayoutProvider({ layout, children }) {
|
|
6
|
-
return
|
|
7
|
-
|
|
8
|
-
|
|
10
|
+
return /* @__PURE__ */ jsx(LayoutContext.Provider, {
|
|
11
|
+
value: layout,
|
|
12
|
+
children
|
|
13
|
+
});
|
|
9
14
|
}
|
|
15
|
+
|
|
10
16
|
//#endregion
|
|
11
17
|
export { LayoutContext, LayoutProvider };
|
|
12
|
-
|
|
13
18
|
//# sourceMappingURL=layout.js.map
|
|
@@ -1 +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":"
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local.collection.d.ts","names":[],"sources":["../../src/client/local.collection.ts"],"mappings":";;;iBAGsB,8DAA6D,iCAAzC;;EAApB,MAAA,EAAA,MAAA;
|
|
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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { getLocalApiRequestOptions, getLocalApiUrl } from "../lib/http.js";
|
|
2
2
|
import { httpFetch, merge } from "@websolutespa/bom-core";
|
|
3
|
+
|
|
3
4
|
//#region src/client/local.collection.ts
|
|
4
5
|
async function localCollectionFetch(pathname, options = {}, serviceOptions) {
|
|
5
6
|
const url = new URL(getLocalApiUrl(pathname));
|
|
@@ -8,7 +9,8 @@ async function localCollectionFetch(pathname, options = {}, serviceOptions) {
|
|
|
8
9
|
url.searchParams.append("market", serviceOptions.market);
|
|
9
10
|
}
|
|
10
11
|
const apiOptions = merge({ ...getLocalApiRequestOptions() }, options);
|
|
11
|
-
|
|
12
|
+
const apiResponse = await httpFetch(url.href, apiOptions);
|
|
13
|
+
return apiResponse;
|
|
12
14
|
}
|
|
13
15
|
async function localCollectionGet(url, options = {}, serviceOptions) {
|
|
14
16
|
return await localCollectionFetch(url, {
|
|
@@ -43,7 +45,7 @@ async function localCollectionDelete(url, options = {}, serviceOptions) {
|
|
|
43
45
|
method: "DELETE"
|
|
44
46
|
}, serviceOptions);
|
|
45
47
|
}
|
|
48
|
+
|
|
46
49
|
//#endregion
|
|
47
50
|
export { localCollectionDelete, localCollectionFetch, localCollectionGet, localCollectionPatch, localCollectionPost, localCollectionPut };
|
|
48
|
-
|
|
49
51
|
//# sourceMappingURL=local.collection.js.map
|
|
@@ -1 +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":"
|
|
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"}
|
|
@@ -2,7 +2,7 @@ import { OpenGraphType } from "../lib/open-graph.js";
|
|
|
2
2
|
import { StructuredDataType } from "../lib/structured-data.js";
|
|
3
3
|
import { TwitterCardType } from "../lib/twitter-card.js";
|
|
4
4
|
import { IMetaData } from "../lib/meta-data.js";
|
|
5
|
-
import * as
|
|
5
|
+
import * as react6 from "react";
|
|
6
6
|
import { ReactNode } from "react";
|
|
7
7
|
|
|
8
8
|
//#region src/client/metadata.d.ts
|
|
@@ -29,14 +29,14 @@ type IMetaDataOptions = {
|
|
|
29
29
|
twitterCard?: TwitterCardType;
|
|
30
30
|
};
|
|
31
31
|
type IMetaDataContext = IMetaData;
|
|
32
|
-
declare const MetaDataContext:
|
|
32
|
+
declare const MetaDataContext: react6.Context<IMetaData | undefined>;
|
|
33
33
|
declare function MetaDataProvider({
|
|
34
34
|
metaData,
|
|
35
35
|
children
|
|
36
36
|
}: {
|
|
37
37
|
metaData: IMetaDataOptions;
|
|
38
38
|
children?: ReactNode;
|
|
39
|
-
}):
|
|
39
|
+
}): react6.JSX.Element;
|
|
40
40
|
//# sourceMappingURL=metadata.d.ts.map
|
|
41
41
|
//#endregion
|
|
42
42
|
export { IMetaDataContext, IMetaDataOptions, MetaDataContext, MetaDataProvider };
|
|
@@ -1 +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;
|
|
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"}
|
package/dist/client/metadata.js
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
|
|
2
4
|
import { getPublicUrl, resolveHref } from "../lib/utils.js";
|
|
3
5
|
import { useLayout } from "./useLayout.js";
|
|
4
6
|
import { usePage } from "./usePage.js";
|
|
5
7
|
import { convert } from "../node_modules/html-to-text/lib/html-to-text.js";
|
|
6
8
|
import { defaultLocale, defaultMarket } from "@websolutespa/bom-core";
|
|
7
9
|
import { createContext, useMemo } from "react";
|
|
10
|
+
import { jsx } from "react/jsx-runtime";
|
|
8
11
|
import { useRouter } from "next/compat/router";
|
|
12
|
+
|
|
9
13
|
//#region src/client/metadata.tsx
|
|
10
14
|
const MetaDataContext = createContext(void 0);
|
|
11
15
|
function MetaDataProvider({ metaData, children }) {
|
|
@@ -30,26 +34,24 @@ function MetaDataProvider({ metaData, children }) {
|
|
|
30
34
|
if (query.match(/^\?pagination\[page\]=(\d+)$/) && query !== "?pagination[page]=1") canonical = `${canonical}${query}`;
|
|
31
35
|
const url = `${canonical}${query}`;
|
|
32
36
|
const alternates = useMemo(() => {
|
|
33
|
-
const alternates = [];
|
|
37
|
+
const alternates$1 = [];
|
|
34
38
|
(page.alternates || []).forEach((alternate) => {
|
|
35
39
|
const market = layout.markets.find((x) => x.id === alternate.market);
|
|
36
|
-
if (market) {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
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}`,
|
|
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}`,
|
|
47
44
|
href: resolveHref(alternate.id),
|
|
48
|
-
hrefLang: alternate.locale
|
|
45
|
+
hrefLang: `${alternate.locale}-${alpha2Code}`
|
|
49
46
|
});
|
|
50
|
-
}
|
|
47
|
+
});
|
|
48
|
+
else alternates$1.push({
|
|
49
|
+
id: `${alternate.market}-${alternate.locale}`,
|
|
50
|
+
href: resolveHref(alternate.id),
|
|
51
|
+
hrefLang: alternate.locale
|
|
52
|
+
});
|
|
51
53
|
});
|
|
52
|
-
return alternates;
|
|
54
|
+
return alternates$1;
|
|
53
55
|
}, [layout, page]);
|
|
54
56
|
const xDefault = useMemo(() => {
|
|
55
57
|
const xDefaultMarket = layout.markets.find((x) => x.isDefault)?.id || defaultMarket;
|
|
@@ -60,6 +62,7 @@ function MetaDataProvider({ metaData, children }) {
|
|
|
60
62
|
href: resolveHref(alternate.id),
|
|
61
63
|
hrefLang: alternate.locale
|
|
62
64
|
};
|
|
65
|
+
return void 0;
|
|
63
66
|
}, [layout, page]);
|
|
64
67
|
const meta = {
|
|
65
68
|
title,
|
|
@@ -98,8 +101,10 @@ function MetaDataProvider({ metaData, children }) {
|
|
|
98
101
|
},
|
|
99
102
|
url: brand.url
|
|
100
103
|
};
|
|
101
|
-
|
|
102
|
-
if (
|
|
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;
|
|
103
108
|
if (brand.social) organization.sameAs = Object.values(brand.social);
|
|
104
109
|
const structuredData = metaData.structuredData || {
|
|
105
110
|
"@type": "WebPage",
|
|
@@ -108,39 +113,42 @@ function MetaDataProvider({ metaData, children }) {
|
|
|
108
113
|
description,
|
|
109
114
|
publisher: organization
|
|
110
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);
|
|
111
134
|
const value = {
|
|
112
135
|
layout,
|
|
113
136
|
page,
|
|
114
137
|
brand,
|
|
115
138
|
contactPoint,
|
|
116
139
|
meta,
|
|
117
|
-
openGraph
|
|
118
|
-
type: "website",
|
|
119
|
-
title,
|
|
120
|
-
description,
|
|
121
|
-
url,
|
|
122
|
-
siteName: brand.name,
|
|
123
|
-
image,
|
|
124
|
-
locale: layout.locale
|
|
125
|
-
},
|
|
140
|
+
openGraph,
|
|
126
141
|
organization,
|
|
127
142
|
postalAddress,
|
|
128
143
|
structuredData,
|
|
129
|
-
twitterCard
|
|
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)
|
|
144
|
+
twitterCard
|
|
138
145
|
};
|
|
139
|
-
return
|
|
140
|
-
|
|
141
|
-
|
|
146
|
+
return /* @__PURE__ */ jsx(MetaDataContext.Provider, {
|
|
147
|
+
value,
|
|
148
|
+
children
|
|
149
|
+
});
|
|
142
150
|
}
|
|
151
|
+
|
|
143
152
|
//#endregion
|
|
144
153
|
export { MetaDataContext, MetaDataProvider };
|
|
145
|
-
|
|
146
154
|
//# sourceMappingURL=metadata.js.map
|
|
@@ -1 +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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"}
|
|
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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"}
|
package/dist/client/page.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as _websolutespa_bom_core0 from "@websolutespa/bom-core";
|
|
2
2
|
import { ILocalized, IPage } from "@websolutespa/bom-core";
|
|
3
|
-
import * as
|
|
3
|
+
import * as react8 from "react";
|
|
4
4
|
|
|
5
5
|
//#region src/client/page.d.ts
|
|
6
6
|
type IPageContext = ILocalized<IPage>;
|
|
7
|
-
declare const PageContext:
|
|
7
|
+
declare const PageContext: react8.Context<{
|
|
8
8
|
[x: string]: unknown;
|
|
9
9
|
id: _websolutespa_bom_core0.IEquatable;
|
|
10
10
|
schema: string;
|
|
@@ -397,7 +397,7 @@ declare function PageProvider({
|
|
|
397
397
|
}: {
|
|
398
398
|
page: ILocalized<IPage>;
|
|
399
399
|
children?: React.ReactNode;
|
|
400
|
-
}):
|
|
400
|
+
}): react8.JSX.Element;
|
|
401
401
|
//# sourceMappingURL=page.d.ts.map
|
|
402
402
|
//#endregion
|
|
403
403
|
export { IPageContext, PageContext, PageProvider };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.d.ts","names":[],"sources":["../../src/client/page.tsx"],"mappings":";;;;;KAKY,YAAA,GAAe,WAAW;cAEzB,
|
|
1
|
+
{"version":3,"file":"page.d.ts","names":[],"sources":["../../src/client/page.tsx"],"sourcesContent":[],"mappings":";;;;;KAKY,YAAA,GAAe,WAAW;cAEzB,oBAAW;;MAAqD,uBAAA,CAAA;EAFjE,MAAA,EAAA,MAAA;EAAY,QAAA,EAAA;IAAc,UAAA,CAAA,EAAA,MAAA,CAAA,EAAA,MAAA;IAAX,CAAA,CAAA,EAAA,MAAA,CAAA,EAAA,OAAA;IAAU,QAAA,EAAA,GAAA,GAAA,MAAA;IAExB,MAAA,EAAA,CAAA,GAAgE,EAAA,MAAA,EAAA,GAAA,MAAA;IAAA,UAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,GAAA,MAAA;IAAA,MAAA,EAAA,CAAA,GAAA,OAAA,EAAA,MAAA,EAAA,EAAA,GAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAArD,GAAA,MAAA;IAAA,GAAA,EAAA,GAAA,GAAA,MAAA;IAER,QAAA,EAAA,CAAY,SAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EAAA,MAAA,EAAA,GAAA,MAAA;IAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EAAA,MAAA,EAAA,GAAA,MAAA;IAC1B,OAAA,EAAA,GAAA,GAAA,MAAA;IACA,SAAA,EAAA,GAAA,GAAA,MAAA;IAEiB,QAAA,EAAA,GAAA,GAAA,MAAA;IAAX,SAAA,EAAA,GAAA,GAAA,MAAA;IACK,QAAM,EAAA,CAAA,MAAA,QAAA,EAAA,uBAAA,gBAAA,CAAA;IAClB,UAAA,EAAA;MAAA,CAAA,WAAA,EAAA,MAAA,SAAA,EAAA,YAAA,EAAA,MAAA,CAAA,EAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBANe,YAAA;;;;QAIR,WAAW;aACN,KAAA,CAAM;IAClB,MAAA,CAAA,GAAA,CAAA"}
|
package/dist/client/page.js
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
|
-
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
|
|
2
4
|
import { createContext } from "react";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
|
|
3
7
|
//#region src/client/page.tsx
|
|
4
8
|
const PageContext = createContext(void 0);
|
|
5
9
|
function PageProvider({ page, children }) {
|
|
6
|
-
return
|
|
7
|
-
|
|
8
|
-
|
|
10
|
+
return /* @__PURE__ */ jsx(PageContext.Provider, {
|
|
11
|
+
value: page,
|
|
12
|
+
children
|
|
13
|
+
});
|
|
9
14
|
}
|
|
15
|
+
|
|
10
16
|
//#endregion
|
|
11
17
|
export { PageContext, PageProvider };
|
|
12
|
-
|
|
13
18
|
//# sourceMappingURL=page.js.map
|
package/dist/client/page.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.js","names":[],"sources":["../../src/client/page.tsx"],"sourcesContent":["'use client';\r\n\r\nimport { ILocalized, IPage } from '@websolutespa/bom-core';\r\nimport { createContext } from 'react';\r\n\r\nexport type IPageContext = ILocalized<IPage>;\r\n\r\nexport const PageContext = createContext<IPageContext | undefined>(undefined);\r\n\r\nexport function PageProvider({\r\n page,\r\n children,\r\n}: {\r\n page: ILocalized<IPage>,\r\n children?: React.ReactNode\r\n}) {\r\n return (\r\n <PageContext.Provider value={page}>\r\n {children}\r\n </PageContext.Provider>\r\n );\r\n}\r\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"page.js","names":[],"sources":["../../src/client/page.tsx"],"sourcesContent":["'use client';\r\n\r\nimport { ILocalized, IPage } from '@websolutespa/bom-core';\r\nimport { createContext } from 'react';\r\n\r\nexport type IPageContext = ILocalized<IPage>;\r\n\r\nexport const PageContext = createContext<IPageContext | undefined>(undefined);\r\n\r\nexport function PageProvider({\r\n page,\r\n children,\r\n}: {\r\n page: ILocalized<IPage>,\r\n children?: React.ReactNode\r\n}) {\r\n return (\r\n <PageContext.Provider value={page}>\r\n {children}\r\n </PageContext.Provider>\r\n );\r\n}\r\n"],"mappings":";;;;;;;AAOA,MAAa,cAAc,cAAwC,OAAU;AAE7E,SAAgB,aAAa,EAC3B,MACA,UAID,EAAE;AACD,4BACG,YAAY;EAAS,OAAO;EAC1B;GACoB;AAE1B"}
|