@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.
- package/CHANGELOG.md +1 -1
- package/dist/_virtual/_rolldown/runtime.js +24 -0
- package/dist/client/client.d.ts +9 -0
- package/dist/client/client.d.ts.map +1 -0
- package/dist/client/client.js +18 -0
- package/dist/client/client.js.map +1 -0
- package/dist/client/extra.d.ts +17 -0
- package/dist/client/extra.d.ts.map +1 -0
- package/dist/client/extra.js +13 -0
- package/dist/client/extra.js.map +1 -0
- package/dist/client/label.d.ts +15 -0
- package/dist/client/label.d.ts.map +1 -0
- package/dist/client/label.js +20 -0
- package/dist/client/label.js.map +1 -0
- package/dist/client/layout.d.ts +18 -0
- package/dist/client/layout.d.ts.map +1 -0
- package/dist/client/layout.js +13 -0
- package/dist/client/layout.js.map +1 -0
- package/dist/client/local.collection.d.ts +32 -0
- package/dist/client/local.collection.d.ts.map +1 -0
- package/dist/client/local.collection.js +49 -0
- package/dist/client/local.collection.js.map +1 -0
- package/dist/client/metadata.d.ts +43 -0
- package/dist/client/metadata.d.ts.map +1 -0
- package/dist/client/metadata.js +146 -0
- package/dist/client/metadata.js.map +1 -0
- package/dist/client/page.d.ts +404 -0
- package/dist/client/page.d.ts.map +1 -0
- package/dist/client/page.js +13 -0
- package/dist/client/page.js.map +1 -0
- package/dist/client/useApi.d.ts +21 -0
- package/dist/client/useApi.d.ts.map +1 -0
- package/dist/client/useApi.js +65 -0
- package/dist/client/useApi.js.map +1 -0
- package/dist/client/useCollectionApi.d.ts +21 -0
- package/dist/client/useCollectionApi.d.ts.map +1 -0
- package/dist/client/useCollectionApi.js +65 -0
- package/dist/client/useCollectionApi.js.map +1 -0
- package/dist/client/useExtra.d.ts +9 -0
- package/dist/client/useExtra.d.ts.map +1 -0
- package/dist/client/useExtra.js +13 -0
- package/dist/client/useExtra.js.map +1 -0
- package/dist/client/useHttp.d.ts +15 -0
- package/dist/client/useHttp.d.ts.map +1 -0
- package/dist/client/useHttp.js +70 -0
- package/dist/client/useHttp.js.map +1 -0
- package/dist/client/useLabel.d.ts +9 -0
- package/dist/client/useLabel.d.ts.map +1 -0
- package/dist/client/useLabel.js +13 -0
- package/dist/client/useLabel.js.map +1 -0
- package/dist/client/useLayout.d.ts +9 -0
- package/dist/client/useLayout.d.ts.map +1 -0
- package/dist/client/useLayout.js +13 -0
- package/dist/client/useLayout.js.map +1 -0
- package/dist/client/useLink.d.ts +7 -0
- package/dist/client/useLink.d.ts.map +1 -0
- package/dist/client/useLink.js +15 -0
- package/dist/client/useLink.js.map +1 -0
- package/dist/client/useMetaData.d.ts +9 -0
- package/dist/client/useMetaData.d.ts.map +1 -0
- package/dist/client/useMetaData.js +13 -0
- package/dist/client/useMetaData.js.map +1 -0
- package/dist/client/usePage.d.ts +394 -0
- package/dist/client/usePage.d.ts.map +1 -0
- package/dist/client/usePage.js +13 -0
- package/dist/client/usePage.js.map +1 -0
- package/dist/client/useUser.d.ts +9 -0
- package/dist/client/useUser.d.ts.map +1 -0
- package/dist/client/useUser.js +13 -0
- package/dist/client/useUser.js.map +1 -0
- package/dist/client/user.d.ts +20 -0
- package/dist/client/user.d.ts.map +1 -0
- package/dist/client/user.js +33 -0
- package/dist/client/user.js.map +1 -0
- package/dist/exports/client.d.ts +20 -979
- package/dist/exports/client.js +19 -5734
- package/dist/exports/instrumentation.d.ts +2 -13
- package/dist/exports/instrumentation.js +1 -24
- package/dist/exports/proxy.d.ts +5 -71
- package/dist/exports/proxy.js +4 -253
- package/dist/exports/server.d.ts +19 -402
- package/dist/exports/server.js +18 -1973
- package/dist/index.d.ts +18 -499
- package/dist/index.js +10 -200
- package/dist/instrumentation/client.d.ts +8 -0
- package/dist/instrumentation/client.d.ts.map +1 -0
- package/dist/instrumentation/client.js +15 -0
- package/dist/instrumentation/client.js.map +1 -0
- package/dist/instrumentation/sentry/capture.requestError.js +10 -0
- package/dist/instrumentation/sentry/capture.requestError.js.map +1 -0
- package/dist/instrumentation/sentry/capture.routerTransitionStart.js +7 -0
- package/dist/instrumentation/sentry/capture.routerTransitionStart.js.map +1 -0
- package/dist/instrumentation/server.d.ts +13 -0
- package/dist/instrumentation/server.d.ts.map +1 -0
- package/dist/instrumentation/server.js +19 -0
- package/dist/instrumentation/server.js.map +1 -0
- package/dist/{types2.d.ts → instrumentation/types.d.ts} +2 -2
- package/dist/instrumentation/types.d.ts.map +1 -0
- package/dist/lib/breadcrumb.d.ts +15 -0
- package/dist/lib/breadcrumb.d.ts.map +1 -0
- package/dist/lib/breadcrumb.js +20 -0
- package/dist/lib/breadcrumb.js.map +1 -0
- package/dist/lib/const.d.ts +9 -0
- package/dist/lib/const.d.ts.map +1 -0
- package/dist/lib/const.js +9 -0
- package/dist/lib/const.js.map +1 -0
- package/dist/lib/http.d.ts +36 -0
- package/dist/lib/http.d.ts.map +1 -0
- package/dist/{http.js → lib/http.js} +1 -1
- package/dist/lib/http.js.map +1 -0
- package/dist/lib/label.d.ts +16 -0
- package/dist/lib/label.d.ts.map +1 -0
- package/dist/lib/label.js +33 -0
- package/dist/lib/label.js.map +1 -0
- package/dist/lib/layout.defaults.d.ts +9 -0
- package/dist/lib/layout.defaults.d.ts.map +1 -0
- package/dist/lib/layout.defaults.js +161 -0
- package/dist/lib/layout.defaults.js.map +1 -0
- package/dist/lib/link.d.ts +9 -0
- package/dist/lib/link.d.ts.map +1 -0
- package/dist/lib/link.js +16 -0
- package/dist/lib/link.js.map +1 -0
- package/dist/lib/meta-data.d.ts +56 -0
- package/dist/lib/meta-data.d.ts.map +1 -0
- package/dist/lib/open-graph.d.ts +143 -0
- package/dist/lib/open-graph.d.ts.map +1 -0
- package/dist/lib/pagination.d.ts +27 -0
- package/dist/lib/pagination.d.ts.map +1 -0
- package/dist/lib/pagination.js +39 -0
- package/dist/lib/pagination.js.map +1 -0
- package/dist/lib/route.d.ts +17 -0
- package/dist/lib/route.d.ts.map +1 -0
- package/dist/{route.js → lib/route.js} +1 -1
- package/dist/lib/route.js.map +1 -0
- package/dist/lib/store.d.ts +27 -0
- package/dist/lib/store.d.ts.map +1 -0
- package/dist/{store.js → lib/store.js} +1 -24
- package/dist/lib/store.js.map +1 -0
- package/dist/lib/structured-data.d.ts +9 -0
- package/dist/lib/structured-data.d.ts.map +1 -0
- package/dist/lib/twitter-card.d.ts +43 -0
- package/dist/lib/twitter-card.d.ts.map +1 -0
- package/dist/lib/utils.d.ts +13 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +35 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/mock.d.ts +127 -0
- package/dist/mock.d.ts.map +1 -0
- package/dist/node_modules/@selderee/plugin-htmlparser2/lib/hp2-builder.js +75 -0
- package/dist/node_modules/@selderee/plugin-htmlparser2/lib/hp2-builder.js.map +1 -0
- package/dist/node_modules/deepmerge/dist/cjs.js +86 -0
- package/dist/node_modules/deepmerge/dist/cjs.js.map +1 -0
- package/dist/node_modules/dom-serializer/lib/esm/foreignNames.js +105 -0
- package/dist/node_modules/dom-serializer/lib/esm/foreignNames.js.map +1 -0
- package/dist/node_modules/dom-serializer/lib/esm/index.js +146 -0
- package/dist/node_modules/dom-serializer/lib/esm/index.js.map +1 -0
- package/dist/node_modules/domelementtype/lib/esm/index.js +53 -0
- package/dist/node_modules/domelementtype/lib/esm/index.js.map +1 -0
- package/dist/node_modules/domhandler/lib/esm/index.js +130 -0
- package/dist/node_modules/domhandler/lib/esm/index.js.map +1 -0
- package/dist/node_modules/domhandler/lib/esm/node.js +307 -0
- package/dist/node_modules/domhandler/lib/esm/node.js.map +1 -0
- package/dist/node_modules/entities/lib/esm/decode.js +363 -0
- package/dist/node_modules/entities/lib/esm/decode.js.map +1 -0
- package/dist/node_modules/entities/lib/esm/decode_codepoint.js +59 -0
- package/dist/node_modules/entities/lib/esm/decode_codepoint.js.map +1 -0
- package/dist/node_modules/entities/lib/esm/escape.js +85 -0
- package/dist/node_modules/entities/lib/esm/escape.js.map +1 -0
- package/dist/node_modules/entities/lib/esm/generated/decode-data-html.js +6 -0
- package/dist/node_modules/entities/lib/esm/generated/decode-data-html.js.map +1 -0
- package/dist/node_modules/entities/lib/esm/generated/decode-data-xml.js +6 -0
- package/dist/node_modules/entities/lib/esm/generated/decode-data-xml.js.map +1 -0
- package/dist/node_modules/html-to-text/lib/html-to-text.js +1816 -0
- package/dist/node_modules/html-to-text/lib/html-to-text.js.map +1 -0
- package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/Parser.js +435 -0
- package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/Parser.js.map +1 -0
- package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/Tokenizer.js +736 -0
- package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/Tokenizer.js.map +1 -0
- package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/index.js +19 -0
- package/dist/node_modules/html-to-text/node_modules/htmlparser2/lib/esm/index.js.map +1 -0
- package/dist/node_modules/leac/lib/leac.js +101 -0
- package/dist/node_modules/leac/lib/leac.js.map +1 -0
- package/dist/node_modules/parseley/lib/parseley.js +310 -0
- package/dist/node_modules/parseley/lib/parseley.js.map +1 -0
- package/dist/node_modules/peberminta/lib/core.js +149 -0
- package/dist/node_modules/peberminta/lib/core.js.map +1 -0
- package/dist/node_modules/selderee/lib/selderee.js +319 -0
- package/dist/node_modules/selderee/lib/selderee.js.map +1 -0
- package/dist/proxy/protected-route.d.ts +9 -0
- package/dist/proxy/protected-route.d.ts.map +1 -0
- package/dist/proxy/protected-route.js +40 -0
- package/dist/proxy/protected-route.js.map +1 -0
- package/dist/proxy/proxy.d.ts +31 -0
- package/dist/proxy/proxy.d.ts.map +1 -0
- package/dist/proxy/proxy.js +49 -0
- package/dist/proxy/proxy.js.map +1 -0
- package/dist/proxy/route-auto-detection.d.ts +12 -0
- package/dist/proxy/route-auto-detection.d.ts.map +1 -0
- package/dist/proxy/route-auto-detection.js +82 -0
- package/dist/proxy/route-auto-detection.js.map +1 -0
- package/dist/proxy/route-proxy.d.ts +36 -0
- package/dist/proxy/route-proxy.d.ts.map +1 -0
- package/dist/proxy/route-proxy.js +103 -0
- package/dist/proxy/route-proxy.js.map +1 -0
- package/dist/server/context.d.ts +30 -0
- package/dist/server/context.d.ts.map +1 -0
- package/dist/server/context.js +106 -0
- package/dist/server/context.js.map +1 -0
- package/dist/server/handlers/auth.handler.d.ts +10 -0
- package/dist/server/handlers/auth.handler.d.ts.map +1 -0
- package/dist/server/handlers/auth.handler.js +29 -0
- package/dist/server/handlers/auth.handler.js.map +1 -0
- package/dist/server/handlers/captions.handler.d.ts +10 -0
- package/dist/server/handlers/captions.handler.d.ts.map +1 -0
- package/dist/server/handlers/captions.handler.js +33 -0
- package/dist/server/handlers/captions.handler.js.map +1 -0
- package/dist/server/handlers/collection.handler.d.ts +36 -0
- package/dist/server/handlers/collection.handler.d.ts.map +1 -0
- package/dist/server/handlers/collection.handler.js +166 -0
- package/dist/server/handlers/collection.handler.js.map +1 -0
- package/dist/server/handlers/error-response.js +24 -0
- package/dist/server/handlers/error-response.js.map +1 -0
- package/dist/server/handlers/index.handler.d.ts +9 -0
- package/dist/server/handlers/index.handler.d.ts.map +1 -0
- package/dist/server/handlers/index.handler.js +145 -0
- package/dist/server/handlers/index.handler.js.map +1 -0
- package/dist/server/handlers/preview.handler.d.ts +9 -0
- package/dist/server/handlers/preview.handler.d.ts.map +1 -0
- package/dist/server/handlers/preview.handler.js +15 -0
- package/dist/server/handlers/preview.handler.js.map +1 -0
- package/dist/server/handlers/registry.handler.d.ts +16 -0
- package/dist/server/handlers/registry.handler.d.ts.map +1 -0
- package/dist/server/handlers/registry.handler.js +260 -0
- package/dist/server/handlers/registry.handler.js.map +1 -0
- package/dist/server/handlers/route.handler.d.ts +20 -0
- package/dist/server/handlers/route.handler.d.ts.map +1 -0
- package/dist/server/handlers/route.handler.js +122 -0
- package/dist/server/handlers/route.handler.js.map +1 -0
- package/dist/server/handlers/sitemap.handler.d.ts +30 -0
- package/dist/server/handlers/sitemap.handler.d.ts.map +1 -0
- package/dist/server/handlers/sitemap.handler.js +338 -0
- package/dist/server/handlers/sitemap.handler.js.map +1 -0
- package/dist/server/handlers/static-params.handler.d.ts +24 -0
- package/dist/server/handlers/static-params.handler.d.ts.map +1 -0
- package/dist/server/handlers/static-params.handler.js +56 -0
- package/dist/server/handlers/static-params.handler.js.map +1 -0
- package/dist/server/handlers/vars.handler.d.ts +10 -0
- package/dist/server/handlers/vars.handler.d.ts.map +1 -0
- package/dist/server/handlers/vars.handler.js +159 -0
- package/dist/server/handlers/vars.handler.js.map +1 -0
- package/dist/server/layout.js +88 -0
- package/dist/server/layout.js.map +1 -0
- package/dist/server/lazy.d.ts +11 -0
- package/dist/server/lazy.d.ts.map +1 -0
- package/dist/server/lazy.js +33 -0
- package/dist/server/lazy.js.map +1 -0
- package/dist/server/local-api.d.ts +9 -0
- package/dist/server/local-api.d.ts.map +1 -0
- package/dist/server/local-api.js +60 -0
- package/dist/server/local-api.js.map +1 -0
- package/dist/server/metadata.d.ts +21 -0
- package/dist/server/metadata.d.ts.map +1 -0
- package/dist/server/metadata.js +20 -0
- package/dist/server/metadata.js.map +1 -0
- package/dist/server/mixer-payload.d.ts +63 -0
- package/dist/server/mixer-payload.d.ts.map +1 -0
- package/dist/server/mixer.d.ts +214 -0
- package/dist/server/mixer.d.ts.map +1 -0
- package/dist/server/mixer.js +355 -0
- package/dist/server/mixer.js.map +1 -0
- package/dist/server/page.d.ts +22 -0
- package/dist/server/page.d.ts.map +1 -0
- package/dist/server/page.js +57 -0
- package/dist/server/page.js.map +1 -0
- package/dist/server/utils.d.ts +12 -0
- package/dist/server/utils.d.ts.map +1 -0
- package/dist/{utils2.js → server/utils.js} +3 -3
- package/dist/server/utils.js.map +1 -0
- package/dist/server/utmz.d.ts +9 -0
- package/dist/server/utmz.d.ts.map +1 -0
- package/dist/server/utmz.js +14 -0
- package/dist/server/utmz.js.map +1 -0
- package/dist/types.d.ts +6 -61
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/exports/client.d.ts.map +0 -1
- package/dist/exports/client.js.map +0 -1
- package/dist/exports/instrumentation.d.ts.map +0 -1
- package/dist/exports/instrumentation.js.map +0 -1
- package/dist/exports/proxy.d.ts.map +0 -1
- package/dist/exports/proxy.js.map +0 -1
- package/dist/exports/server.d.ts.map +0 -1
- package/dist/exports/server.js.map +0 -1
- package/dist/http.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/index2.d.ts +0 -4
- package/dist/route.js.map +0 -1
- package/dist/store.js.map +0 -1
- package/dist/types2.d.ts.map +0 -1
- package/dist/utils.js +0 -78
- package/dist/utils.js.map +0 -1
- package/dist/utils2.js.map +0 -1
- /package/dist/{config.client.js → instrumentation/sentry/config.client.js} +0 -0
- /package/dist/{config.edge.js → instrumentation/sentry/config.edge.js} +0 -0
- /package/dist/{config.server.js → instrumentation/sentry/config.server.js} +0 -0
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
//#region src/lib/layout.defaults.ts
|
|
2
|
+
const LayoutDefaults = {
|
|
3
|
+
labels: [{
|
|
4
|
+
id: "error.required",
|
|
5
|
+
text: "Required field"
|
|
6
|
+
}, {
|
|
7
|
+
id: "items.found",
|
|
8
|
+
text: "@items items found"
|
|
9
|
+
}],
|
|
10
|
+
locale: "en",
|
|
11
|
+
locales: [],
|
|
12
|
+
market: "ww",
|
|
13
|
+
markets: [],
|
|
14
|
+
app: {
|
|
15
|
+
id: "app",
|
|
16
|
+
brand: {
|
|
17
|
+
name: "Mixer",
|
|
18
|
+
social: []
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
menu: { main: {
|
|
22
|
+
id: "main",
|
|
23
|
+
items: [{
|
|
24
|
+
id: 1,
|
|
25
|
+
type: "category",
|
|
26
|
+
title: "Collections",
|
|
27
|
+
category: "product_index",
|
|
28
|
+
href: "#collections",
|
|
29
|
+
items: [{
|
|
30
|
+
id: "product_category_tile",
|
|
31
|
+
type: "category",
|
|
32
|
+
title: "Tiles",
|
|
33
|
+
category: "product_category_tile",
|
|
34
|
+
href: "#collections/tiles",
|
|
35
|
+
items: [],
|
|
36
|
+
media: {
|
|
37
|
+
type: "image",
|
|
38
|
+
src: "https://placehold.co/960x600/e4e5eb/f4f5fb.webp?text=placehold"
|
|
39
|
+
}
|
|
40
|
+
}]
|
|
41
|
+
}]
|
|
42
|
+
} },
|
|
43
|
+
tree: {
|
|
44
|
+
id: "homepage",
|
|
45
|
+
category: "homepage",
|
|
46
|
+
schema: "homepage",
|
|
47
|
+
title: "Homepage",
|
|
48
|
+
href: "/",
|
|
49
|
+
items: [
|
|
50
|
+
{
|
|
51
|
+
id: "product_index",
|
|
52
|
+
category: "product_index",
|
|
53
|
+
schema: "product_index",
|
|
54
|
+
title: "Collections",
|
|
55
|
+
href: "#collections",
|
|
56
|
+
items: [
|
|
57
|
+
{
|
|
58
|
+
id: "product_category",
|
|
59
|
+
category: "product_category",
|
|
60
|
+
schema: "product_category",
|
|
61
|
+
title: "Tiles",
|
|
62
|
+
href: "#product_category",
|
|
63
|
+
media: {
|
|
64
|
+
type: "image",
|
|
65
|
+
src: "https://bom-mixer.wslabs.it/assets/header/6366_n_tiles.jpg"
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
id: "product_category",
|
|
70
|
+
category: "product_category",
|
|
71
|
+
schema: "product_category",
|
|
72
|
+
title: "3D Elements",
|
|
73
|
+
href: "#product_category",
|
|
74
|
+
media: {
|
|
75
|
+
type: "image",
|
|
76
|
+
src: "https://bom-mixer.wslabs.it/assets/header/6369_n_3d_elements_menu_cover.webp"
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
id: "product_category",
|
|
81
|
+
category: "product_category",
|
|
82
|
+
schema: "product_category",
|
|
83
|
+
title: "Paints",
|
|
84
|
+
href: "#product_category",
|
|
85
|
+
media: {
|
|
86
|
+
type: "image",
|
|
87
|
+
src: "https://bom-mixer.wslabs.it/assets/header/6367_n_paints.jpg"
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
id: "product_category",
|
|
92
|
+
category: "product_category",
|
|
93
|
+
schema: "product_category",
|
|
94
|
+
title: "Wood & Metal",
|
|
95
|
+
href: "#product_category",
|
|
96
|
+
media: {
|
|
97
|
+
type: "image",
|
|
98
|
+
src: "https://bom-mixer.wslabs.it/assets/header/6368_n_menu_wood_metal.webp"
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
id: "product_category",
|
|
103
|
+
category: "product_category",
|
|
104
|
+
schema: "product_category",
|
|
105
|
+
title: "Accessories",
|
|
106
|
+
href: "#product_category",
|
|
107
|
+
media: {
|
|
108
|
+
type: "image",
|
|
109
|
+
src: "https://bom-mixer.wslabs.it/assets/header/6371_n_accessories.jpg"
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
id: "product_category",
|
|
114
|
+
category: "product_category",
|
|
115
|
+
schema: "product_category",
|
|
116
|
+
title: "Editions",
|
|
117
|
+
href: "#product_category",
|
|
118
|
+
media: {
|
|
119
|
+
type: "image",
|
|
120
|
+
src: "https://bom-mixer.wslabs.it/assets/header/7858_n_Menu.webp"
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
]
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
id: "magazine_index",
|
|
127
|
+
category: "magazine_index",
|
|
128
|
+
schema: "magazine_index",
|
|
129
|
+
title: "Magazine",
|
|
130
|
+
href: "#magazine_index"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
id: "store_index",
|
|
134
|
+
category: "store_index",
|
|
135
|
+
schema: "store_index",
|
|
136
|
+
title: "Stores",
|
|
137
|
+
href: "#store_index"
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
id: "contact",
|
|
141
|
+
category: "contact",
|
|
142
|
+
schema: "contact",
|
|
143
|
+
title: "Contacts",
|
|
144
|
+
href: "#contact"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
id: "shop_index",
|
|
148
|
+
category: "shop_index",
|
|
149
|
+
schema: "shop_index",
|
|
150
|
+
title: "Shop",
|
|
151
|
+
href: "#shop_index"
|
|
152
|
+
}
|
|
153
|
+
]
|
|
154
|
+
},
|
|
155
|
+
topLevelHrefs: {},
|
|
156
|
+
topLevelRoutes: {}
|
|
157
|
+
};
|
|
158
|
+
//#endregion
|
|
159
|
+
export { LayoutDefaults };
|
|
160
|
+
|
|
161
|
+
//# sourceMappingURL=layout.defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.defaults.js","names":[],"sources":["../../src/lib/layout.defaults.ts"],"sourcesContent":["import { ILayout } from '@websolutespa/bom-core';\r\n\r\nexport const LayoutDefaults: ILayout = {\r\n labels: [\r\n {\r\n id: 'error.required',\r\n text: 'Required field',\r\n },\r\n {\r\n id: 'items.found',\r\n text: '@items items found',\r\n },\r\n ],\r\n locale: 'en',\r\n locales: [],\r\n market: 'ww',\r\n markets: [],\r\n app: {\r\n id: 'app',\r\n brand: {\r\n name: 'Mixer',\r\n social: [],\r\n },\r\n },\r\n menu: {\r\n main: {\r\n id: 'main',\r\n items: [\r\n {\r\n id: 1,\r\n type: 'category',\r\n title: 'Collections',\r\n category: 'product_index',\r\n href: '#collections',\r\n items: [\r\n {\r\n id: 'product_category_tile',\r\n type: 'category',\r\n title: 'Tiles',\r\n category: 'product_category_tile',\r\n href: '#collections/tiles',\r\n items: [],\r\n media: {\r\n type: 'image',\r\n src: 'https://placehold.co/960x600/e4e5eb/f4f5fb.webp?text=placehold',\r\n },\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n },\r\n tree: {\r\n id: 'homepage',\r\n category: 'homepage',\r\n schema: 'homepage',\r\n title: 'Homepage',\r\n href: '/',\r\n items: [\r\n {\r\n id: 'product_index',\r\n category: 'product_index',\r\n schema: 'product_index',\r\n title: 'Collections',\r\n href: '#collections',\r\n items: [\r\n {\r\n id: 'product_category',\r\n category: 'product_category',\r\n schema: 'product_category',\r\n title: 'Tiles',\r\n href: '#product_category',\r\n media: {\r\n type: 'image',\r\n src: 'https://bom-mixer.wslabs.it/assets/header/6366_n_tiles.jpg',\r\n },\r\n },\r\n {\r\n id: 'product_category',\r\n category: 'product_category',\r\n schema: 'product_category',\r\n title: '3D Elements',\r\n href: '#product_category',\r\n media: {\r\n type: 'image',\r\n src: 'https://bom-mixer.wslabs.it/assets/header/6369_n_3d_elements_menu_cover.webp',\r\n },\r\n },\r\n {\r\n id: 'product_category',\r\n category: 'product_category',\r\n schema: 'product_category',\r\n title: 'Paints',\r\n href: '#product_category',\r\n media: {\r\n type: 'image',\r\n src: 'https://bom-mixer.wslabs.it/assets/header/6367_n_paints.jpg',\r\n },\r\n },\r\n {\r\n id: 'product_category',\r\n category: 'product_category',\r\n schema: 'product_category',\r\n title: 'Wood & Metal',\r\n href: '#product_category',\r\n media: {\r\n type: 'image',\r\n src: 'https://bom-mixer.wslabs.it/assets/header/6368_n_menu_wood_metal.webp',\r\n },\r\n },\r\n {\r\n id: 'product_category',\r\n category: 'product_category',\r\n schema: 'product_category',\r\n title: 'Accessories',\r\n href: '#product_category',\r\n media: {\r\n type: 'image',\r\n src: 'https://bom-mixer.wslabs.it/assets/header/6371_n_accessories.jpg',\r\n },\r\n },\r\n {\r\n id: 'product_category',\r\n category: 'product_category',\r\n schema: 'product_category',\r\n title: 'Editions',\r\n href: '#product_category',\r\n media: {\r\n type: 'image',\r\n src: 'https://bom-mixer.wslabs.it/assets/header/7858_n_Menu.webp',\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n id: 'magazine_index',\r\n category: 'magazine_index',\r\n schema: 'magazine_index',\r\n title: 'Magazine',\r\n href: '#magazine_index',\r\n },\r\n {\r\n id: 'store_index',\r\n category: 'store_index',\r\n schema: 'store_index',\r\n title: 'Stores',\r\n href: '#store_index',\r\n },\r\n {\r\n id: 'contact',\r\n category: 'contact',\r\n schema: 'contact',\r\n title: 'Contacts',\r\n href: '#contact',\r\n },\r\n {\r\n id: 'shop_index',\r\n category: 'shop_index',\r\n schema: 'shop_index',\r\n title: 'Shop',\r\n href: '#shop_index',\r\n },\r\n ],\r\n },\r\n topLevelHrefs: {},\r\n topLevelRoutes: {},\r\n};\r\n"],"mappings":";AAEA,MAAa,iBAA0B;CACrC,QAAQ,CACN;EACE,IAAI;EACJ,MAAM;CACR,GACA;EACE,IAAI;EACJ,MAAM;CACR,CACF;CACA,QAAQ;CACR,SAAS,CAAC;CACV,QAAQ;CACR,SAAS,CAAC;CACV,KAAK;EACH,IAAI;EACJ,OAAO;GACL,MAAM;GACN,QAAQ,CAAC;EACX;CACF;CACA,MAAM,EACJ,MAAM;EACJ,IAAI;EACJ,OAAO,CACL;GACE,IAAI;GACJ,MAAM;GACN,OAAO;GACP,UAAU;GACV,MAAM;GACN,OAAO,CACL;IACE,IAAI;IACJ,MAAM;IACN,OAAO;IACP,UAAU;IACV,MAAM;IACN,OAAO,CAAC;IACR,OAAO;KACL,MAAM;KACN,KAAK;IACP;GACF,CACF;EACF,CACF;CACF,EACF;CACA,MAAM;EACJ,IAAI;EACJ,UAAU;EACV,QAAQ;EACR,OAAO;EACP,MAAM;EACN,OAAO;GACL;IACE,IAAI;IACJ,UAAU;IACV,QAAQ;IACR,OAAO;IACP,MAAM;IACN,OAAO;KACL;MACE,IAAI;MACJ,UAAU;MACV,QAAQ;MACR,OAAO;MACP,MAAM;MACN,OAAO;OACL,MAAM;OACN,KAAK;MACP;KACF;KACA;MACE,IAAI;MACJ,UAAU;MACV,QAAQ;MACR,OAAO;MACP,MAAM;MACN,OAAO;OACL,MAAM;OACN,KAAK;MACP;KACF;KACA;MACE,IAAI;MACJ,UAAU;MACV,QAAQ;MACR,OAAO;MACP,MAAM;MACN,OAAO;OACL,MAAM;OACN,KAAK;MACP;KACF;KACA;MACE,IAAI;MACJ,UAAU;MACV,QAAQ;MACR,OAAO;MACP,MAAM;MACN,OAAO;OACL,MAAM;OACN,KAAK;MACP;KACF;KACA;MACE,IAAI;MACJ,UAAU;MACV,QAAQ;MACR,OAAO;MACP,MAAM;MACN,OAAO;OACL,MAAM;OACN,KAAK;MACP;KACF;KACA;MACE,IAAI;MACJ,UAAU;MACV,QAAQ;MACR,OAAO;MACP,MAAM;MACN,OAAO;OACL,MAAM;OACN,KAAK;MACP;KACF;IACF;GACF;GACA;IACE,IAAI;IACJ,UAAU;IACV,QAAQ;IACR,OAAO;IACP,MAAM;GACR;GACA;IACE,IAAI;IACJ,UAAU;IACV,QAAQ;IACR,OAAO;IACP,MAAM;GACR;GACA;IACE,IAAI;IACJ,UAAU;IACV,QAAQ;IACR,OAAO;IACP,MAAM;GACR;GACA;IACE,IAAI;IACJ,UAAU;IACV,QAAQ;IACR,OAAO;IACP,MAAM;GACR;EACF;CACF;CACA,eAAe,CAAC;CAChB,gBAAgB,CAAC;AACnB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ILayout } from "@websolutespa/bom-core";
|
|
2
|
+
|
|
3
|
+
//#region src/lib/link.d.ts
|
|
4
|
+
declare function getLink(category: string, layout: ILayout): string | undefined;
|
|
5
|
+
//# sourceMappingURL=link.d.ts.map
|
|
6
|
+
|
|
7
|
+
//#endregion
|
|
8
|
+
export { getLink };
|
|
9
|
+
//# sourceMappingURL=link.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link.d.ts","names":[],"sources":["../../src/lib/link.ts"],"mappings":";;;iBAgBgB,OAAA,2BAAkC"}
|
package/dist/lib/link.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//#region src/lib/link.ts
|
|
2
|
+
function getLink_(category, routeLink) {
|
|
3
|
+
if (routeLink) {
|
|
4
|
+
if (routeLink.category === category) return routeLink.href;
|
|
5
|
+
if (routeLink.items) return routeLink.items.reduce((p, c) => {
|
|
6
|
+
return getLink_(category, c) || p;
|
|
7
|
+
}, void 0);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
function getLink(category, layout) {
|
|
11
|
+
return getLink_(category, layout.tree);
|
|
12
|
+
}
|
|
13
|
+
//#endregion
|
|
14
|
+
export { getLink };
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=link.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link.js","names":[],"sources":["../../src/lib/link.ts"],"sourcesContent":["import type { ILayout, IRouteLink } from '@websolutespa/bom-core';\r\n\r\nfunction getLink_(category: string, routeLink: IRouteLink | undefined): string | undefined {\r\n if (routeLink) {\r\n if (routeLink.category === category) {\r\n return routeLink.href;\r\n }\r\n if (routeLink.items) {\r\n return routeLink.items.reduce((p: string | undefined, c) => {\r\n return getLink_(category, c) || p;\r\n }, undefined);\r\n }\r\n }\r\n return undefined;\r\n}\r\n\r\nexport function getLink(category: string, layout: ILayout) {\r\n return getLink_(category, layout.tree);\r\n}\r\n"],"mappings":";AAEA,SAAS,SAAS,UAAkB,WAAuD;CACzF,IAAI,WAAW;EACb,IAAI,UAAU,aAAa,UACzB,OAAO,UAAU;EAEnB,IAAI,UAAU,OACZ,OAAO,UAAU,MAAM,QAAQ,GAAuB,MAAM;GAC1D,OAAO,SAAS,UAAU,CAAC,KAAK;EAClC,GAAG,KAAA,CAAS;CAEhB;AAEF;AAEA,SAAgB,QAAQ,UAAkB,QAAiB;CACzD,OAAO,SAAS,UAAU,OAAO,IAAI;AACvC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { OpenGraphType } from "./open-graph.js";
|
|
2
|
+
import { StructuredDataType } from "./structured-data.js";
|
|
3
|
+
import { TwitterCardType } from "./twitter-card.js";
|
|
4
|
+
import { ILayout, ILocalized, IPage } from "@websolutespa/bom-core";
|
|
5
|
+
import { ContactPoint, Organization, PostalAddress } from "schema-dts";
|
|
6
|
+
|
|
7
|
+
//#region src/lib/meta-data.d.ts
|
|
8
|
+
type IBrand = {
|
|
9
|
+
name: string;
|
|
10
|
+
businessName: string;
|
|
11
|
+
appName: string;
|
|
12
|
+
logo: string;
|
|
13
|
+
url: string;
|
|
14
|
+
email?: string;
|
|
15
|
+
telephone?: string;
|
|
16
|
+
address?: string;
|
|
17
|
+
city?: string;
|
|
18
|
+
zipCode?: string;
|
|
19
|
+
provinceCode?: string;
|
|
20
|
+
countryCode?: string;
|
|
21
|
+
twitterName?: string;
|
|
22
|
+
social?: Record<string, string>;
|
|
23
|
+
};
|
|
24
|
+
type IAlternate = {
|
|
25
|
+
id: string;
|
|
26
|
+
href: string;
|
|
27
|
+
hrefLang: string;
|
|
28
|
+
};
|
|
29
|
+
type IMeta = {
|
|
30
|
+
title: string;
|
|
31
|
+
description?: string;
|
|
32
|
+
image: string;
|
|
33
|
+
slug: string;
|
|
34
|
+
url: string;
|
|
35
|
+
canonical: string;
|
|
36
|
+
alternates: IAlternate[];
|
|
37
|
+
xDefault?: IAlternate;
|
|
38
|
+
keywords?: string;
|
|
39
|
+
robots?: string;
|
|
40
|
+
};
|
|
41
|
+
type IMetaData = {
|
|
42
|
+
layout: ILayout;
|
|
43
|
+
page: ILocalized<IPage>;
|
|
44
|
+
brand: IBrand;
|
|
45
|
+
contactPoint: ContactPoint;
|
|
46
|
+
meta: IMeta;
|
|
47
|
+
openGraph: OpenGraphType;
|
|
48
|
+
organization: Organization;
|
|
49
|
+
postalAddress: PostalAddress;
|
|
50
|
+
structuredData: StructuredDataType;
|
|
51
|
+
twitterCard?: TwitterCardType;
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=meta-data.d.ts.map
|
|
54
|
+
//#endregion
|
|
55
|
+
export { IAlternate, IBrand, IMeta, IMetaData };
|
|
56
|
+
//# sourceMappingURL=meta-data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta-data.d.ts","names":[],"sources":["../../src/lib/meta-data.ts"],"mappings":";;;;;;;KAMY,MAAA;;EAAA,YAAM,EAAA,MAgBP;EAGC,OAAA,EAAA,MAAU;EAMV,IAAA,EAAA,MAAK;EAAA,GAAA,EAAA,MAAA;EAOH,KAAA,CAAA,EAAA,MAAA;EACD,SAAA,CAAA,EAAA,MAAA;EAAU,OAAA,CAAA,EAAA,MAAA;EASX,IAAA,CAAA,EAAA,MAAS;EAAA,OAAA,CAAA,EAAA,MAAA;EACX,YAAA,CAAA,EAAA,MAAA;EACS,WAAA,CAAA,EAAA,MAAA;EAAX,WAAA,CAAA,EAAA,MAAA;EACC,MAAA,CAAA,EA7BE,MA6BF,CAAA,MAAA,EAAA,MAAA,CAAA;AACO,CAAA;AACR,KA5BI,UAAA,GA4BJ;EACK,EAAA,EAAA,MAAA;EACG,IAAA,EAAA,MAAA;EACC,QAAA,EAAA,MAAA;AACC,CAAA;AACF,KA3BJ,KAAA,GA2BI;EAAe,KAAA,EAAA,MAAA;;;;;;cApBjB;aACD;;;;KASD,SAAA;UACF;QACF,WAAW;SACV;gBACO;QACR;aACK;gBACG;iBACC;kBACC;gBACF"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
//#region src/lib/open-graph.d.ts
|
|
2
|
+
interface OpenGraphBase {
|
|
3
|
+
type: string;
|
|
4
|
+
title?: string;
|
|
5
|
+
image?: string | OpenGraphImage | OpenGraphImage[];
|
|
6
|
+
url?: string;
|
|
7
|
+
description?: string;
|
|
8
|
+
siteName?: string;
|
|
9
|
+
locale?: string;
|
|
10
|
+
localeAlternate?: string[];
|
|
11
|
+
}
|
|
12
|
+
interface OpenGraphImage {
|
|
13
|
+
url: string;
|
|
14
|
+
secureUrl?: string;
|
|
15
|
+
type?: string;
|
|
16
|
+
width?: number;
|
|
17
|
+
height?: number;
|
|
18
|
+
alt?: string;
|
|
19
|
+
}
|
|
20
|
+
interface OpenGraphAudio {
|
|
21
|
+
url: string;
|
|
22
|
+
secureUrl?: string;
|
|
23
|
+
type?: string;
|
|
24
|
+
}
|
|
25
|
+
interface OpenGraphWebsite extends OpenGraphBase {
|
|
26
|
+
type: 'website';
|
|
27
|
+
}
|
|
28
|
+
interface OpenGraphArticle extends OpenGraphBase {
|
|
29
|
+
type: 'article';
|
|
30
|
+
publishedTime?: string;
|
|
31
|
+
modifiedTime?: string;
|
|
32
|
+
expirationTime?: string;
|
|
33
|
+
author?: string | string[];
|
|
34
|
+
section?: string;
|
|
35
|
+
tag?: string | string[];
|
|
36
|
+
}
|
|
37
|
+
interface OpenGraphBook extends OpenGraphBase {
|
|
38
|
+
type: 'book';
|
|
39
|
+
author?: string | string[];
|
|
40
|
+
isbn?: string;
|
|
41
|
+
releaseDate?: string;
|
|
42
|
+
tag?: string | string[];
|
|
43
|
+
}
|
|
44
|
+
interface OpenGraphProfile extends OpenGraphBase {
|
|
45
|
+
type: 'profile';
|
|
46
|
+
firstName?: string;
|
|
47
|
+
lastName?: string;
|
|
48
|
+
username?: string;
|
|
49
|
+
gender?: string;
|
|
50
|
+
}
|
|
51
|
+
interface OpenGraphMusic extends OpenGraphBase {
|
|
52
|
+
type: 'music.song' | 'music.album' | 'music.playlist' | 'music.radio_station';
|
|
53
|
+
duration?: number;
|
|
54
|
+
album?: string | string[];
|
|
55
|
+
musician?: string | string[];
|
|
56
|
+
song?: string | string[];
|
|
57
|
+
creator?: string;
|
|
58
|
+
}
|
|
59
|
+
interface OpenGraphVideo extends Omit<OpenGraphBase, 'type'> {
|
|
60
|
+
type: 'video.movie' | 'video.episode' | 'video.tv_show' | 'video.other';
|
|
61
|
+
actor?: string | string[];
|
|
62
|
+
director?: string | string[];
|
|
63
|
+
writer?: string | string[];
|
|
64
|
+
duration?: number;
|
|
65
|
+
releaseDate?: string;
|
|
66
|
+
tag?: string | string[];
|
|
67
|
+
series?: string;
|
|
68
|
+
url: string;
|
|
69
|
+
secureUrl?: string;
|
|
70
|
+
width?: number;
|
|
71
|
+
height?: number;
|
|
72
|
+
}
|
|
73
|
+
interface OpenGraphProduct extends OpenGraphBase {
|
|
74
|
+
type: 'product';
|
|
75
|
+
price?: {
|
|
76
|
+
amount: number;
|
|
77
|
+
currency: string;
|
|
78
|
+
};
|
|
79
|
+
availability?: 'instock' | 'oos' | 'pending';
|
|
80
|
+
condition?: 'new' | 'refurbished' | 'used';
|
|
81
|
+
priceAmount?: number;
|
|
82
|
+
priceCurrency?: string;
|
|
83
|
+
retailerItemId?: string;
|
|
84
|
+
brand?: string;
|
|
85
|
+
category?: string;
|
|
86
|
+
color?: string;
|
|
87
|
+
material?: string;
|
|
88
|
+
pattern?: string;
|
|
89
|
+
size?: string;
|
|
90
|
+
}
|
|
91
|
+
interface OpenGraphProductGroup extends OpenGraphBase {
|
|
92
|
+
type: 'product.group';
|
|
93
|
+
}
|
|
94
|
+
interface OpenGraphPlace extends OpenGraphBase {
|
|
95
|
+
type: 'place';
|
|
96
|
+
latitude?: number;
|
|
97
|
+
longitude?: number;
|
|
98
|
+
streetAddress?: string;
|
|
99
|
+
locality?: string;
|
|
100
|
+
region?: string;
|
|
101
|
+
postalCode?: string;
|
|
102
|
+
countryName?: string;
|
|
103
|
+
}
|
|
104
|
+
interface OpenGraphRestaurant extends Omit<OpenGraphPlace, 'type'> {
|
|
105
|
+
type: 'restaurant.restaurant';
|
|
106
|
+
contactData?: {
|
|
107
|
+
streetAddress?: string;
|
|
108
|
+
locality?: string;
|
|
109
|
+
region?: string;
|
|
110
|
+
postalCode?: string;
|
|
111
|
+
countryName?: string;
|
|
112
|
+
email?: string;
|
|
113
|
+
phoneNumber?: string;
|
|
114
|
+
faxNumber?: string;
|
|
115
|
+
};
|
|
116
|
+
menu?: string;
|
|
117
|
+
section?: string;
|
|
118
|
+
priceRange?: string;
|
|
119
|
+
}
|
|
120
|
+
interface OpenGraphBusiness extends OpenGraphBase {
|
|
121
|
+
type: 'business.business';
|
|
122
|
+
contactData?: {
|
|
123
|
+
streetAddress?: string;
|
|
124
|
+
locality?: string;
|
|
125
|
+
region?: string;
|
|
126
|
+
postalCode?: string;
|
|
127
|
+
countryName?: string;
|
|
128
|
+
email?: string;
|
|
129
|
+
phoneNumber?: string;
|
|
130
|
+
faxNumber?: string;
|
|
131
|
+
website?: string;
|
|
132
|
+
};
|
|
133
|
+
hours?: {
|
|
134
|
+
day: string;
|
|
135
|
+
start: string;
|
|
136
|
+
end: string;
|
|
137
|
+
}[];
|
|
138
|
+
}
|
|
139
|
+
type OpenGraphType = OpenGraphArticle | OpenGraphBook | OpenGraphBusiness | OpenGraphMusic | OpenGraphPlace | OpenGraphProduct | OpenGraphProductGroup | OpenGraphProfile | OpenGraphRestaurant | OpenGraphVideo | OpenGraphWebsite;
|
|
140
|
+
//# sourceMappingURL=open-graph.d.ts.map
|
|
141
|
+
//#endregion
|
|
142
|
+
export { OpenGraphArticle, OpenGraphAudio, OpenGraphBase, OpenGraphBook, OpenGraphBusiness, OpenGraphImage, OpenGraphMusic, OpenGraphPlace, OpenGraphProduct, OpenGraphProductGroup, OpenGraphProfile, OpenGraphRestaurant, OpenGraphType, OpenGraphVideo, OpenGraphWebsite };
|
|
143
|
+
//# sourceMappingURL=open-graph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-graph.d.ts","names":[],"sources":["../../src/lib/open-graph.ts"],"mappings":";UAEiB,aAAA;EAAA,IAAA,EAAA,MAAA;EAAa,KAAA,CAAA,EAAA,MAAA;EAGX,KAAA,CAAA,EAAA,MAAA,GAAA,cAAA,GAAiB,cAAjB,EAAA;EAAiB,GAAA,CAAA,EAAA,MAAA;EAAc,WAAA,CAAA,EAAA,MAAA;EAQjC,QAAA,CAAA,EAAA,MAAc;EASd,MAAA,CAAA,EAAA,MAAA;EAMA,eAAA,CAAA,EAAA,MAAiB,EAAA;AAIlC;AAUiB,UA7BA,cAAA,CA6BsB;EAQtB,GAAA,EAAA,MAAA;EAQA,SAAA,CAAA,EAAA,MAAe;EASf,IAAA,CAAA,EAAA,MAAA;EAAe,KAAA,CAAA,EAAA,MAAA;EAAa,MAAA,CAAA,EAAA,MAAA;EAAL,GAAA,CAAA,EAAA,MAAA;AAAI;AAe3B,UA5DA,cAAA,CA4DiB;EAmBjB,GAAA,EAAA,MAAA;EAIA,SAAA,CAAA,EAAA,MAAe;EAWf,IAAA,CAAA,EAAA,MAAA;AAAoB;AAAa,UAxFjC,gBAAA,SAAyB,aAwFQ,CAAA;EAAL,IAAA,EAAA,SAAA;AAAI;AAiBhC,UArGA,gBAAA,SAAyB,aAqGc,CAAA;EAoB5C,IAAA,EAAA,SAAA;EAAa,aAAA,CAAA,EAAA,MAAA;EACrB,YAAA,CAAA,EAAA,MAAA;EACA,cAAA,CAAA,EAAA,MAAA;EACA,MAAA,CAAA,EAAA,MAAA,GAAA,MAAA,EAAA;EACA,OAAA,CAAA,EAAA,MAAA;EACA,GAAA,CAAA,EAAA,MAAA,GAAA,MAAA,EAAA;AACA;AACA,UAtHa,aAAA,SAAsB,aAsHnC,CAAA;EACA,IAAA,EAAA,MAAA;EACA,MAAA,CAAA,EAAA,MAAA,GAAA,MAAA,EAAA;EACA,IAAA,CAAA,EAAA,MAAA;EACA,WAAA,CAAA,EAAA,MAAA;EAAgB,GAAA,CAAA,EAAA,MAAA,GAAA,MAAA,EAAA;;UAlHH,gBAAA,SAAyB;;;;;;;UAQzB,cAAA,SAAuB;;;;;;;;UASvB,cAAA,SAAuB,KAAK;;;;;;;;;;;;;;UAe5B,gBAAA,SAAyB;;;;;;;;;;;;;;;;;;UAmBzB,qBAAA,SAA8B;;;UAI9B,cAAA,SAAuB;;;;;;;;;;UAWvB,mBAAA,SAA4B,KAAK;;;;;;;;;;;;;;;;UAiBjC,iBAAA,SAA0B;;;;;;;;;;;;;;;;;;;KAoB/B,aAAA,GACR,mBACA,gBACA,oBACA,iBACA,iBACA,mBACA,wBACA,mBACA,sBACA,iBACA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//#region src/lib/pagination.d.ts
|
|
2
|
+
type IPaginationItem = any;
|
|
3
|
+
type IPaginationOptions = {
|
|
4
|
+
mode?: 'pagination' | 'infinite';
|
|
5
|
+
page?: number;
|
|
6
|
+
perPage?: number;
|
|
7
|
+
delayInMs?: number;
|
|
8
|
+
};
|
|
9
|
+
type IPaginationInfo<T extends IPaginationItem = IPaginationItem> = {
|
|
10
|
+
items: T[];
|
|
11
|
+
hasMore: boolean;
|
|
12
|
+
nextPage: number | undefined;
|
|
13
|
+
page: number;
|
|
14
|
+
pages: number;
|
|
15
|
+
perPage: number;
|
|
16
|
+
prevPage: number | undefined;
|
|
17
|
+
total: number;
|
|
18
|
+
};
|
|
19
|
+
declare function isPaginationInfo(item: unknown): item is IPaginationInfo;
|
|
20
|
+
declare function getPagedItems<T extends IPaginationItem = IPaginationItem>(items: T[], page: number, perPage: number): T[];
|
|
21
|
+
declare function getMoreItems<T extends IPaginationItem = IPaginationItem>(items: T[], page: number, perPage: number): T[];
|
|
22
|
+
declare function getPaginationInfo<T extends IPaginationItem = IPaginationItem>(items: T[], options?: IPaginationOptions): IPaginationInfo<T>;
|
|
23
|
+
//# sourceMappingURL=pagination.d.ts.map
|
|
24
|
+
|
|
25
|
+
//#endregion
|
|
26
|
+
export { IPaginationInfo, IPaginationItem, IPaginationOptions, getMoreItems, getPagedItems, getPaginationInfo, isPaginationInfo };
|
|
27
|
+
//# sourceMappingURL=pagination.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.d.ts","names":[],"sources":["../../src/lib/pagination.ts"],"mappings":";KAEY,eAAA;AAAA,KAEA,kBAAA,GAFe;EAEf,IAAA,CAAA,EAAA,YAAA,GAAkB,UAAA;EAOlB,IAAA,CAAA,EAAA,MAAA;EAAe,OAAA,CAAA,EAAA,MAAA;EAAW,SAAA,CAAA,EAAA,MAAA;AAAkB,CAAA;AAC/C,KADG,eACH,CAAA,UAD6B,eAC7B,GAD+C,eAC/C,CAAA,GAAA;EAAC,KAAA,EAAD,CAAC,EAAA;EAUM,OAAA,EAAA,OAAA;EAUA,QAAA,EAAA,MAAa,GAAA,SAAA;EAAA,IAAA,EAAA,MAAA;EAAW,KAAA,EAAA,MAAA;EAAkB,OAAA,EAAA,MAAA;EACjD,QAAA,EAAA,MAAA,GAAA,SAAA;EAGN,KAAA,EAAA,MAAA;AAAC,CAAA;AAMY,iBApBA,gBAAA,CAoBY,IAAA,EAAA,OAAA,CAAA,EAAA,IAAA,IApB6B,eAoB7B;AAAA,iBAVZ,aAUY,CAAA,UAVY,eAUZ,GAV8B,eAU9B,CAAA,CAAA,KAAA,EATnB,CASmB,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EANzB,CAMyB,EAAA;AAAW,iBAAvB,YAAuB,CAAA,UAAA,eAAA,GAAkB,eAAlB,CAAA,CAAA,KAAA,EAC9B,CAD8B,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAIpC,CAJoC,EAAA;AAAkB,iBAUzC,iBAVyC,CAAA,UAUb,eAVa,GAUK,eAVL,CAAA,CAAA,KAAA,EAWhD,CAXgD,EAAA,EAAA,OAAA,CAAA,EAY7C,kBAZ6C,CAAA,EAatD,eAbsD,CAatC,CAbsC,CAAA;AAChD"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { isArray, isObject } from "@websolutespa/bom-core";
|
|
2
|
+
//#region src/lib/pagination.ts
|
|
3
|
+
function isPaginationInfo(item) {
|
|
4
|
+
return isObject(item) && typeof item.page === "number" && typeof item.pages === "number" && typeof item.perPage === "number" && typeof item.total === "number" && isArray(item.items);
|
|
5
|
+
}
|
|
6
|
+
function getPagedItems(items, page, perPage) {
|
|
7
|
+
const from = (page - 1) * perPage;
|
|
8
|
+
const to = Math.min(page * perPage, items.length);
|
|
9
|
+
return items.slice(from, to);
|
|
10
|
+
}
|
|
11
|
+
function getMoreItems(items, page, perPage) {
|
|
12
|
+
const total = items.length;
|
|
13
|
+
const position = Math.min(total, perPage * page);
|
|
14
|
+
return items.slice(0, position);
|
|
15
|
+
}
|
|
16
|
+
function getPaginationInfo(items, options) {
|
|
17
|
+
const mode = options?.mode || "pagination";
|
|
18
|
+
const page = options?.page || 1;
|
|
19
|
+
const perPage = options?.perPage || 12;
|
|
20
|
+
const total = items.length;
|
|
21
|
+
const pages = Math.ceil(total / perPage);
|
|
22
|
+
const hasMore = page < pages;
|
|
23
|
+
const prevPage = page > 1 ? page - 1 : void 0;
|
|
24
|
+
const nextPage = page < pages ? page + 1 : void 0;
|
|
25
|
+
return {
|
|
26
|
+
items: mode === "pagination" ? getPagedItems(items, page, perPage) : getMoreItems(items, page, perPage),
|
|
27
|
+
hasMore,
|
|
28
|
+
nextPage,
|
|
29
|
+
page,
|
|
30
|
+
pages,
|
|
31
|
+
perPage,
|
|
32
|
+
prevPage,
|
|
33
|
+
total
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
//#endregion
|
|
37
|
+
export { getMoreItems, getPagedItems, getPaginationInfo, isPaginationInfo };
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=pagination.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.js","names":[],"sources":["../../src/lib/pagination.ts"],"sourcesContent":["import { isArray, isObject } from '@websolutespa/bom-core';\r\n\r\nexport type IPaginationItem = any;\r\n\r\nexport type IPaginationOptions = {\r\n mode?: 'pagination' | 'infinite'; // default to pagination\r\n page?: number;\r\n perPage?: number;\r\n delayInMs?: number;\r\n};\r\n\r\nexport type IPaginationInfo<T extends IPaginationItem = IPaginationItem> = {\r\n items: T[];\r\n hasMore: boolean;\r\n nextPage: number | undefined;\r\n page: number;\r\n pages: number;\r\n perPage: number;\r\n prevPage: number | undefined;\r\n total: number;\r\n};\r\n\r\nexport function isPaginationInfo(item: unknown): item is IPaginationInfo {\r\n return isObject(item) && (\r\n typeof item.page === 'number' &&\r\n typeof item.pages === 'number' &&\r\n typeof item.perPage === 'number' &&\r\n typeof item.total === 'number' &&\r\n isArray(item.items)\r\n );\r\n}\r\n\r\nexport function getPagedItems<T extends IPaginationItem = IPaginationItem>(\r\n items: T[],\r\n page: number,\r\n perPage: number\r\n): T[] {\r\n const from = (page - 1) * perPage;\r\n const to = Math.min(page * perPage, items.length);\r\n return items.slice(from, to);\r\n}\r\n\r\nexport function getMoreItems<T extends IPaginationItem = IPaginationItem>(\r\n items: T[],\r\n page: number,\r\n perPage: number\r\n): T[] {\r\n const total = items.length;\r\n const position = Math.min(total, perPage * page);\r\n return items.slice(0, position);\r\n}\r\n\r\nexport function getPaginationInfo<T extends IPaginationItem = IPaginationItem>(\r\n items: T[],\r\n options?: IPaginationOptions\r\n): IPaginationInfo<T> {\r\n const mode = options?.mode || 'pagination';\r\n const page = options?.page || 1;\r\n const perPage = options?.perPage || 12;\r\n const total = items.length;\r\n const pages = Math.ceil(total / perPage);\r\n const hasMore = page < pages;\r\n const prevPage = page > 1 ? page - 1 : undefined;\r\n const nextPage = page < pages ? page + 1 : undefined;\r\n const pagedItems = mode === 'pagination' ?\r\n getPagedItems(items, page, perPage) :\r\n getMoreItems(items, page, perPage);\r\n return {\r\n items: pagedItems,\r\n hasMore,\r\n nextPage,\r\n page,\r\n pages,\r\n perPage,\r\n prevPage,\r\n total,\r\n };\r\n}\r\n"],"mappings":";;AAsBA,SAAgB,iBAAiB,MAAwC;CACvE,OAAO,SAAS,IAAI,KAClB,OAAO,KAAK,SAAS,YACrB,OAAO,KAAK,UAAU,YACtB,OAAO,KAAK,YAAY,YACxB,OAAO,KAAK,UAAU,YACtB,QAAQ,KAAK,KAAK;AAEtB;AAEA,SAAgB,cACd,OACA,MACA,SACK;CACL,MAAM,QAAQ,OAAO,KAAK;CAC1B,MAAM,KAAK,KAAK,IAAI,OAAO,SAAS,MAAM,MAAM;CAChD,OAAO,MAAM,MAAM,MAAM,EAAE;AAC7B;AAEA,SAAgB,aACd,OACA,MACA,SACK;CACL,MAAM,QAAQ,MAAM;CACpB,MAAM,WAAW,KAAK,IAAI,OAAO,UAAU,IAAI;CAC/C,OAAO,MAAM,MAAM,GAAG,QAAQ;AAChC;AAEA,SAAgB,kBACd,OACA,SACoB;CACpB,MAAM,OAAO,SAAS,QAAQ;CAC9B,MAAM,OAAO,SAAS,QAAQ;CAC9B,MAAM,UAAU,SAAS,WAAW;CACpC,MAAM,QAAQ,MAAM;CACpB,MAAM,QAAQ,KAAK,KAAK,QAAQ,OAAO;CACvC,MAAM,UAAU,OAAO;CACvB,MAAM,WAAW,OAAO,IAAI,OAAO,IAAI,KAAA;CACvC,MAAM,WAAW,OAAO,QAAQ,OAAO,IAAI,KAAA;CAI3C,OAAO;EACL,OAJiB,SAAS,eAC1B,cAAc,OAAO,MAAM,OAAO,IAClC,aAAa,OAAO,MAAM,OAAO;EAGjC;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ICategory, IRoute, IRouteLink } from "@websolutespa/bom-core";
|
|
2
|
+
|
|
3
|
+
//#region src/lib/route.d.ts
|
|
4
|
+
declare function getRouteLinkCategory(locale: string, routes: IRoute[], categories: ICategory[], rootCategory: ICategory, category: ICategory): IRouteLink | IRouteLink[] | undefined;
|
|
5
|
+
declare function newRouteLink(category: ICategory, route: IRoute | undefined, locale: string): IRouteLink;
|
|
6
|
+
declare function resolveRoute(route: IRoute): string;
|
|
7
|
+
declare function routeToRouteLink(route: IRoute): IRouteLink;
|
|
8
|
+
/**
|
|
9
|
+
* Converts a route (and optional override title) into an IRouteLink.
|
|
10
|
+
* route.id is the pathname (href), route.page is the document ID.
|
|
11
|
+
*/
|
|
12
|
+
declare function routeToLink(route: IRoute, title?: string): IRouteLink;
|
|
13
|
+
//# sourceMappingURL=route.d.ts.map
|
|
14
|
+
|
|
15
|
+
//#endregion
|
|
16
|
+
export { getRouteLinkCategory, newRouteLink, resolveRoute, routeToLink, routeToRouteLink };
|
|
17
|
+
//# sourceMappingURL=route.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.d.ts","names":[],"sources":["../../src/lib/route.ts"],"mappings":";;;iBAEgB,oBAAA,yBAEN,sBACI,2BACE,qBACJ,YACT,aAAa;iBA0BA,YAAA,WAAuB,kBAAkB,qCAAqC;AAhC9E,iBAkDA,YAAA,CAlDoB,KAAA,EAkDA,MAlDA,CAAA,EAAA,MAAA;AAAA,iBAsDpB,gBAAA,CAtDoB,KAAA,EAsDI,MAtDJ,CAAA,EAsDa,UAtDb;AAE1B;AACI;AACE;AACJ;AACT,iBAiEa,WAAA,CAjEb,KAAA,EAiEgC,MAjEhC,EAAA,KAAA,CAAA,EAAA,MAAA,CAAA,EAiEyD,UAjEzD;AAAa"}
|
|
@@ -60,6 +60,6 @@ function routeToLink(route, title) {
|
|
|
60
60
|
};
|
|
61
61
|
}
|
|
62
62
|
//#endregion
|
|
63
|
-
export {
|
|
63
|
+
export { getRouteLinkCategory, newRouteLink, resolveRoute, routeToLink, routeToRouteLink };
|
|
64
64
|
|
|
65
65
|
//# sourceMappingURL=route.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.js","names":[],"sources":["../../src/lib/route.ts"],"sourcesContent":["import { asCategoryId, findRouteOfCategory, ICategory, IRoute, IRouteLink, localize } from '@websolutespa/bom-core';\r\n\r\nexport function getRouteLinkCategory(\r\n locale: string,\r\n routes: IRoute[],\r\n categories: ICategory[],\r\n rootCategory: ICategory,\r\n category: ICategory\r\n): IRouteLink | IRouteLink[] | undefined {\r\n const route = findRouteOfCategory(routes, category.id);\r\n const otherCategories = categories.filter(x => x.id !== category.id);\r\n const childCategories = otherCategories.filter(x => asCategoryId(x.category) === category.id);\r\n // console.log('childCategories', category.id, childCategories.map(x => x.id));\r\n const routeLink = newRouteLink(category, route, locale);\r\n // console.log('getRouteLinkCategory', href, category.id, route);\r\n const items: IRouteLink[] = [];\r\n for (const childCategory of childCategories) {\r\n const itemOrItems = getRouteLinkCategory(locale, routes, otherCategories, rootCategory, childCategory);\r\n if (Array.isArray(itemOrItems)) {\r\n items.push(...itemOrItems);\r\n } else if (itemOrItems) {\r\n items.push(itemOrItems);\r\n }\r\n }\r\n if (\r\n !route ||\r\n (category.isHidden && category.id !== rootCategory.id)\r\n ) {\r\n return items;\r\n }\r\n routeLink.items = items;\r\n return routeLink;\r\n}\r\n\r\nexport function newRouteLink(category: ICategory, route: IRoute | undefined, locale: string): IRouteLink {\r\n const href = (route && route.id) ? route.id.toString() : '/';\r\n const id = route?.page || category.id;\r\n const media = category.media || route?.media;\r\n const schema = route?.template || route?.schema || category?.schema || 'unknown';\r\n const title = localize(category.title || route?.title || 'untitled', locale);\r\n const routeLink = {\r\n category: category.id,\r\n href,\r\n id,\r\n items: [],\r\n media,\r\n schema,\r\n title,\r\n };\r\n return routeLink;\r\n}\r\n\r\nexport function resolveRoute(route: IRoute) {\r\n return `/${route.market}/${route.locale}/${route.schema}/${route.page}`;\r\n}\r\n\r\nexport function routeToRouteLink(route: IRoute): IRouteLink {\r\n const routeLink: IRouteLink = {\r\n category: asCategoryId(route.category),\r\n href: route.id,\r\n id: route.page,\r\n items: [],\r\n media: route.media,\r\n schema: route.schema,\r\n title: route.title,\r\n };\r\n return routeLink;\r\n}\r\n\r\n/**\r\n * Converts a route (and optional override title) into an IRouteLink.\r\n * route.id is the pathname (href), route.page is the document ID.\r\n */\r\nexport function routeToLink(route: IRoute, title?: string): IRouteLink {\r\n return {\r\n category: route.category,\r\n href: route.id,\r\n id: route.page,\r\n schema: route.schema,\r\n title: title ?? route.title,\r\n media: route.media,\r\n };\r\n}\r\n"],"mappings":";;AAEA,SAAgB,qBACd,QACA,QACA,YACA,cACA,UACuC;CACvC,MAAM,QAAQ,oBAAoB,QAAQ,SAAS,EAAE;CACrD,MAAM,kBAAkB,WAAW,QAAO,MAAK,EAAE,OAAO,SAAS,EAAE;CACnE,MAAM,kBAAkB,gBAAgB,QAAO,MAAK,aAAa,EAAE,QAAQ,MAAM,SAAS,EAAE;CAE5F,MAAM,YAAY,aAAa,UAAU,OAAO,MAAM;CAEtD,MAAM,QAAsB,CAAC;CAC7B,KAAK,MAAM,iBAAiB,iBAAiB;EAC3C,MAAM,cAAc,qBAAqB,QAAQ,QAAQ,iBAAiB,cAAc,aAAa;EACrG,IAAI,MAAM,QAAQ,WAAW,GAC3B,MAAM,KAAK,GAAG,WAAW;OACpB,IAAI,aACT,MAAM,KAAK,WAAW;CAE1B;CACA,IACE,CAAC,SACA,SAAS,YAAY,SAAS,OAAO,aAAa,IAEnD,OAAO;CAET,UAAU,QAAQ;CAClB,OAAO;AACT;AAEA,SAAgB,aAAa,UAAqB,OAA2B,QAA4B;CACvG,MAAM,OAAQ,SAAS,MAAM,KAAM,MAAM,GAAG,SAAS,IAAI;CACzD,MAAM,KAAK,OAAO,QAAQ,SAAS;CACnC,MAAM,QAAQ,SAAS,SAAS,OAAO;CACvC,MAAM,SAAS,OAAO,YAAY,OAAO,UAAU,UAAU,UAAU;CACvE,MAAM,QAAQ,SAAS,SAAS,SAAS,OAAO,SAAS,YAAY,MAAM;CAU3E,OAAO;EARL,UAAU,SAAS;EACnB;EACA;EACA,OAAO,CAAC;EACR;EACA;EACA;CAEa;AACjB;AAEA,SAAgB,aAAa,OAAe;CAC1C,OAAO,IAAI,MAAM,OAAO,GAAG,MAAM,OAAO,GAAG,MAAM,OAAO,GAAG,MAAM;AACnE;AAEA,SAAgB,iBAAiB,OAA2B;CAU1D,OAAO;EARL,UAAU,aAAa,MAAM,QAAQ;EACrC,MAAM,MAAM;EACZ,IAAI,MAAM;EACV,OAAO,CAAC;EACR,OAAO,MAAM;EACb,QAAQ,MAAM;EACd,OAAO,MAAM;CAEA;AACjB;;;;;AAMA,SAAgB,YAAY,OAAe,OAA4B;CACrE,OAAO;EACL,UAAU,MAAM;EAChB,MAAM,MAAM;EACZ,IAAI,MAAM;EACV,QAAQ,MAAM;EACd,OAAO,SAAS,MAAM;EACtB,OAAO,MAAM;CACf;AACF"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//#region src/lib/store.d.ts
|
|
2
|
+
declare enum NextPhase {
|
|
3
|
+
Export = "phase-export",
|
|
4
|
+
ProductionBuild = "phase-production-build",
|
|
5
|
+
ProductionServer = "phase-production-server",
|
|
6
|
+
DevelopmentServer = "phase-development-server",
|
|
7
|
+
Test = "phase-test",
|
|
8
|
+
}
|
|
9
|
+
declare const nextPhase: NextPhase;
|
|
10
|
+
declare enum BuildStrategy {
|
|
11
|
+
Static = "static",
|
|
12
|
+
Runtime = "runtime",
|
|
13
|
+
}
|
|
14
|
+
declare const buildStrategy: BuildStrategy;
|
|
15
|
+
declare enum StoreStrategy {
|
|
16
|
+
Local = "local",
|
|
17
|
+
Api = "api",
|
|
18
|
+
DecoratedApi = "decoratedApi",
|
|
19
|
+
Data = "data",
|
|
20
|
+
Mock = "mock",
|
|
21
|
+
}
|
|
22
|
+
declare const storeStrategy: StoreStrategy;
|
|
23
|
+
declare const storeCacheDuration: number;
|
|
24
|
+
//# sourceMappingURL=store.d.ts.map
|
|
25
|
+
//#endregion
|
|
26
|
+
export { BuildStrategy, NextPhase, StoreStrategy, buildStrategy, nextPhase, storeCacheDuration, storeStrategy };
|
|
27
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","names":[],"sources":["../../src/lib/store.ts"],"mappings":";aAAY,SAAA;EAAA,MAAA,GAAA,cAAS;EAgBR,eAAqC,GAAA,wBAAA;EAGtC,gBAAa,GAAA,yBAAA;EAaZ,iBAAiD,GAAA,0BAAA;EAGlD,IAAA,GAAA,YAAa;AAgBzB;AAWa,cA9CA,SA8CoD,EA9CzC,SA8CyC;aA3CrD,aAAA;;;;cAaC,eAAe;aAGhB,aAAA;;;;;;;cAgBC,eAAe;cAWf"}
|
|
@@ -1,26 +1,3 @@
|
|
|
1
|
-
import { i as routeToLink } from "./route.js";
|
|
2
|
-
import { findRouteOfCategory } from "@websolutespa/bom-core";
|
|
3
|
-
//#region src/lib/breadcrumb.ts
|
|
4
|
-
/**
|
|
5
|
-
* Builds the breadcrumb trail from category segments + the current route.
|
|
6
|
-
* Uses currentRoutes (already filtered by market+locale) to resolve each segment's href.
|
|
7
|
-
* Replicates the logic of getBreadcrumbFromSegments without any store calls.
|
|
8
|
-
*/
|
|
9
|
-
function buildBreadcrumb(segments, currentRoute, currentRoutes) {
|
|
10
|
-
const tree = segments.map((segment) => {
|
|
11
|
-
const route = findRouteOfCategory(currentRoutes, segment.id);
|
|
12
|
-
return route ? routeToLink(route) : null;
|
|
13
|
-
}).filter((x) => x !== null);
|
|
14
|
-
if (!currentRoute.isDefault) tree.push(routeToLink(currentRoute));
|
|
15
|
-
return tree;
|
|
16
|
-
}
|
|
17
|
-
//#endregion
|
|
18
|
-
//#region src/lib/const.ts
|
|
19
|
-
const guest = {
|
|
20
|
-
collection: "users",
|
|
21
|
-
roles: ["guest"]
|
|
22
|
-
};
|
|
23
|
-
//#endregion
|
|
24
1
|
//#region src/lib/store.ts
|
|
25
2
|
let NextPhase = /* @__PURE__ */ function(NextPhase) {
|
|
26
3
|
NextPhase["Export"] = "phase-export";
|
|
@@ -68,6 +45,6 @@ function getStoreCacheDuration() {
|
|
|
68
45
|
}
|
|
69
46
|
const storeCacheDuration = getStoreCacheDuration();
|
|
70
47
|
//#endregion
|
|
71
|
-
export {
|
|
48
|
+
export { BuildStrategy, NextPhase, StoreStrategy, buildStrategy, nextPhase, storeCacheDuration, storeStrategy };
|
|
72
49
|
|
|
73
50
|
//# sourceMappingURL=store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","names":[],"sources":["../../src/lib/store.ts"],"sourcesContent":["export enum NextPhase {\r\n Export = 'phase-export',\r\n ProductionBuild = 'phase-production-build',\r\n ProductionServer = 'phase-production-server',\r\n DevelopmentServer = 'phase-development-server',\r\n Test = 'phase-test',\r\n}\r\n\r\nfunction getNextPhase(): NextPhase {\r\n let nextPhase = NextPhase.Export;\r\n if (typeof process !== 'undefined' && process.env.NEXT_PHASE) {\r\n nextPhase = process.env.NEXT_PHASE as NextPhase;\r\n }\r\n return nextPhase;\r\n}\r\n\r\nexport const nextPhase: NextPhase = getNextPhase();\r\n\r\n// buildStrategy\r\nexport enum BuildStrategy {\r\n Static = 'static',\r\n Runtime = 'runtime',\r\n}\r\n\r\nfunction getBuildStrategy(): BuildStrategy {\r\n let buildStrategy = BuildStrategy.Static;\r\n if (typeof process !== 'undefined' && process.env.BUILD_STRATEGY) {\r\n buildStrategy = process.env.BUILD_STRATEGY as BuildStrategy;\r\n }\r\n return buildStrategy;\r\n}\r\n\r\nexport const buildStrategy: BuildStrategy = getBuildStrategy();\r\n\r\n// storeStrategy\r\nexport enum StoreStrategy {\r\n Local = 'local',\r\n Api = 'api',\r\n DecoratedApi = 'decoratedApi',\r\n Data = 'data',\r\n Mock = 'mock',\r\n}\r\n\r\nfunction getStoreStrategy(): StoreStrategy {\r\n let storeStrategy = StoreStrategy.Mock;\r\n if (typeof process !== 'undefined' && process.env.STORE_STRATEGY) {\r\n storeStrategy = process.env.STORE_STRATEGY as StoreStrategy;\r\n }\r\n return storeStrategy;\r\n}\r\n\r\nexport const storeStrategy: StoreStrategy = getStoreStrategy();\r\n\r\n// storeCacheDuration\r\nfunction getStoreCacheDuration(): number {\r\n let storeCacheDuration = (1 * 60 * 1000);\r\n if (typeof process !== 'undefined' && process.env.STORE_CACHE_DURATION) {\r\n storeCacheDuration = parseInt(process.env.STORE_CACHE_DURATION);\r\n }\r\n return storeCacheDuration;\r\n}\r\n\r\nexport const storeCacheDuration: number = getStoreCacheDuration();\r\n"],"mappings":";AAAA,IAAY,YAAL,yBAAA,WAAA;CACL,UAAA,YAAA;CACA,UAAA,qBAAA;CACA,UAAA,sBAAA;CACA,UAAA,uBAAA;CACA,UAAA,UAAA;;AACF,EAAA,CAAA,CAAA;AAEA,SAAS,eAA0B;CACjC,IAAI,YAAA;CACJ,IAAI,OAAO,YAAY,eAAe,QAAQ,IAAI,YAChD,YAAY,QAAQ,IAAI;CAE1B,OAAO;AACT;AAEA,MAAa,YAAuB,aAAa;AAGjD,IAAY,gBAAL,yBAAA,eAAA;CACL,cAAA,YAAA;CACA,cAAA,aAAA;;AACF,EAAA,CAAA,CAAA;AAEA,SAAS,mBAAkC;CACzC,IAAI,gBAAA;CACJ,IAAI,OAAO,YAAY,eAAe,QAAQ,IAAI,gBAChD,gBAAgB,QAAQ,IAAI;CAE9B,OAAO;AACT;AAEA,MAAa,gBAA+B,iBAAiB;AAG7D,IAAY,gBAAL,yBAAA,eAAA;CACL,cAAA,WAAA;CACA,cAAA,SAAA;CACA,cAAA,kBAAA;CACA,cAAA,UAAA;CACA,cAAA,UAAA;;AACF,EAAA,CAAA,CAAA;AAEA,SAAS,mBAAkC;CACzC,IAAI,gBAAA;CACJ,IAAI,OAAO,YAAY,eAAe,QAAQ,IAAI,gBAChD,gBAAgB,QAAQ,IAAI;CAE9B,OAAO;AACT;AAEA,MAAa,gBAA+B,iBAAiB;AAG7D,SAAS,wBAAgC;CACvC,IAAI,qBAAsB;CAC1B,IAAI,OAAO,YAAY,eAAe,QAAQ,IAAI,sBAChD,qBAAqB,SAAS,QAAQ,IAAI,oBAAoB;CAEhE,OAAO;AACT;AAEA,MAAa,qBAA6B,sBAAsB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as StructuredData from "schema-dts";
|
|
2
|
+
|
|
3
|
+
//#region src/lib/structured-data.d.ts
|
|
4
|
+
type StructuredDataType = StructuredData.Article | StructuredData.AudioObject | StructuredData.BlogPosting | StructuredData.BreadcrumbList | StructuredData.Course | StructuredData.Event | StructuredData.FAQPage | StructuredData.HowTo | StructuredData.ItemList | StructuredData.JobPosting | StructuredData.ListItem | StructuredData.LocalBusiness | StructuredData.NewsArticle | StructuredData.Organization | StructuredData.Person | StructuredData.Place | StructuredData.Product | StructuredData.Recipe | StructuredData.VideoObject | StructuredData.WebPage | StructuredData.WebSite;
|
|
5
|
+
//# sourceMappingURL=structured-data.d.ts.map
|
|
6
|
+
|
|
7
|
+
//#endregion
|
|
8
|
+
export { StructuredDataType };
|
|
9
|
+
//# sourceMappingURL=structured-data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structured-data.d.ts","names":[],"sources":["../../src/lib/structured-data.ts"],"mappings":";;;KAEY,kBAAA,GACR,cAAA,CAAe,UACf,cAAA,CAAe,cACf,cAAA,CAAe,cACf,cAAA,CAAe,iBACf,cAAA,CAAe,SACf,cAAA,CAAe,QACf,cAAA,CAAe,UACf,cAAA,CAAe,QACf,cAAA,CAAe,WACf,cAAA,CAAe,aACf,cAAA,CAAe,WACf,cAAA,CAAe,gBACf,cAAA,CAAe,cACf,cAAA,CAAe,eACf,cAAA,CAAe,SACf,cAAA,CAAe,QACf,cAAA,CAAe,UACf,cAAA,CAAe,SACf,cAAA,CAAe,cACf,cAAA,CAAe,UACf,cAAA,CAAe"}
|