@orderlyshop/web-components 0.1.0-build.7045
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/AGENTS.md +110 -0
- package/README.md +685 -0
- package/bin/orderly-build-category-pages.mjs +160 -0
- package/bin/orderly-generate-category-pages.mjs +308 -0
- package/bin/orderly-hydrate-static-pages.mjs +595 -0
- package/bin/orderly-init-navigation.mjs +327 -0
- package/bin/orderly-init-shop.mjs +876 -0
- package/bin/orderly-init-taxonomy.mjs +2 -0
- package/bin/orderly-publish-site.mjs +342 -0
- package/custom-elements.json +505 -0
- package/dist/browser/orderly-web-components.define.global.js +3551 -0
- package/dist/browser/orderly-web-components.define.global.js.map +1 -0
- package/dist/browser/orderly-web-components.global.js +3551 -0
- package/dist/browser/orderly-web-components.global.js.map +1 -0
- package/dist/default-shop-DgX6uy10.d.ts +221 -0
- package/dist/default-shop.d.ts +6 -0
- package/dist/default-shop.js +762 -0
- package/dist/default-shop.js.map +1 -0
- package/dist/define-BNMhl19n.d.ts +9 -0
- package/dist/define.d.ts +2 -0
- package/dist/define.js +11094 -0
- package/dist/define.js.map +1 -0
- package/dist/index.d.ts +683 -0
- package/dist/index.js +11417 -0
- package/dist/index.js.map +1 -0
- package/dist/navigation.d.ts +61 -0
- package/dist/navigation.js +1125 -0
- package/dist/navigation.js.map +1 -0
- package/dist/query.d.ts +31 -0
- package/dist/query.js +115 -0
- package/dist/query.js.map +1 -0
- package/dist/registry-CPDecU3g.d.ts +6 -0
- package/dist/shop-BgQhGRzS.d.ts +173 -0
- package/dist/shop-query.d.ts +8 -0
- package/dist/shop-query.js +100 -0
- package/dist/shop-query.js.map +1 -0
- package/dist/shop.d.ts +8 -0
- package/dist/shop.js +11187 -0
- package/dist/shop.js.map +1 -0
- package/dist/stores.d.ts +46 -0
- package/dist/stores.js +145 -0
- package/dist/stores.js.map +1 -0
- package/dist/taxonomy.d.ts +35 -0
- package/dist/taxonomy.js +247 -0
- package/dist/taxonomy.js.map +1 -0
- package/dist/types-Bjez59Hr.d.ts +96 -0
- package/docs/components/README.md +708 -0
- package/docs/components/product-grid.md +182 -0
- package/docs/components/product-rail.md +174 -0
- package/examples/shop/README.md +72 -0
- package/examples/shop/package.json +28 -0
- package/examples/shop/src/category.html +20 -0
- package/examples/shop/src/checkout.html +21 -0
- package/examples/shop/src/forretningsbetingelser.html +81 -0
- package/examples/shop/src/includes/body-end.html +1 -0
- package/examples/shop/src/includes/body-start.html +3 -0
- package/examples/shop/src/includes/head.html +32 -0
- package/examples/shop/src/index.html +25 -0
- package/examples/shop/src/navigation.ts +154 -0
- package/examples/shop/src/product.html +24 -0
- package/examples/shop/src/templates/page-layouts.html +162 -0
- package/examples/shop/src/templates/shop-footer.html +76 -0
- package/examples/shop/tsconfig.json +32 -0
- package/examples/shop/vite.config.mjs +190 -0
- package/html-custom-data.json +279 -0
- package/package.json +118 -0
- package/server/README.md +111 -0
- package/server/apache/.htaccess +18 -0
- package/server/nginx/orderly-products.conf +24 -0
- package/server/node/product-snapshot-server.mjs +133 -0
- package/server/php/orderly-product.php +204 -0
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
// src/shop-query.ts
|
|
2
|
+
import { clone, create } from "@bufbuild/protobuf";
|
|
3
|
+
import {
|
|
4
|
+
AccountIdSchema,
|
|
5
|
+
SearchQuerySchema,
|
|
6
|
+
UUIDSchema
|
|
7
|
+
} from "@orderlyshop/core-client";
|
|
8
|
+
var configuredShopQuery;
|
|
9
|
+
function configureShopSearchQuery(query) {
|
|
10
|
+
configuredShopQuery = query ? clone(SearchQuerySchema, query) : void 0;
|
|
11
|
+
}
|
|
12
|
+
function shopSearchQuery() {
|
|
13
|
+
return configuredShopQuery ? clone(SearchQuerySchema, configuredShopQuery) : void 0;
|
|
14
|
+
}
|
|
15
|
+
function createAccountShopQuery(accountId) {
|
|
16
|
+
return create(SearchQuerySchema, {
|
|
17
|
+
SourceAccountId: create(AccountIdSchema, {
|
|
18
|
+
Id: create(UUIDSchema, { Value: accountId })
|
|
19
|
+
})
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
function mergeShopSearchQuery(query, localShopQuery) {
|
|
23
|
+
const specific = query ? clone(SearchQuerySchema, query) : create(SearchQuerySchema);
|
|
24
|
+
const base = combineShopQueries(shopSearchQuery(), localShopQuery);
|
|
25
|
+
if (!base) {
|
|
26
|
+
return specific;
|
|
27
|
+
}
|
|
28
|
+
const merged = clone(SearchQuerySchema, base);
|
|
29
|
+
const hiddenQuery = combineQueryText(
|
|
30
|
+
base.HiddenQuery,
|
|
31
|
+
specific.HiddenQuery,
|
|
32
|
+
specific.Query !== void 0 ? base.Query : void 0
|
|
33
|
+
);
|
|
34
|
+
merged.Query = specific.Query ?? base.Query;
|
|
35
|
+
merged.HiddenQuery = hiddenQuery || void 0;
|
|
36
|
+
merged.Tags = [...base.Tags, ...specific.Tags];
|
|
37
|
+
merged.SourceAccountId = base.SourceAccountId ?? specific.SourceAccountId;
|
|
38
|
+
merged.ExcludeAccountId = base.ExcludeAccountId ?? specific.ExcludeAccountId;
|
|
39
|
+
merged.PriceFrom = specific.PriceFrom ?? base.PriceFrom;
|
|
40
|
+
merged.PriceTo = specific.PriceTo ?? base.PriceTo;
|
|
41
|
+
merged.OrderBy = specific.OrderBy.length ? [...specific.OrderBy] : [...base.OrderBy];
|
|
42
|
+
merged.Facets = uniqueStrings([...base.Facets, ...specific.Facets]);
|
|
43
|
+
merged.Barcode = specific.Barcode ?? base.Barcode;
|
|
44
|
+
merged.ConditionAbove = specific.ConditionAbove ?? base.ConditionAbove;
|
|
45
|
+
merged.SaveAsLatest = base.SaveAsLatest || specific.SaveAsLatest;
|
|
46
|
+
merged.Featured = base.Featured || specific.Featured;
|
|
47
|
+
merged.ShareUrl = specific.ShareUrl ?? base.ShareUrl;
|
|
48
|
+
merged.StoreId = base.StoreId ?? specific.StoreId;
|
|
49
|
+
merged.WithBadge = uniqueNumbers([...base.WithBadge, ...specific.WithBadge]);
|
|
50
|
+
merged.RelatedUrl = specific.RelatedUrl ?? base.RelatedUrl;
|
|
51
|
+
merged.Continuation = specific.Continuation;
|
|
52
|
+
return merged;
|
|
53
|
+
}
|
|
54
|
+
function combineShopQueries(base, local) {
|
|
55
|
+
if (!base && !local) {
|
|
56
|
+
return void 0;
|
|
57
|
+
}
|
|
58
|
+
if (!base) {
|
|
59
|
+
return clone(SearchQuerySchema, local);
|
|
60
|
+
}
|
|
61
|
+
if (!local) {
|
|
62
|
+
return clone(SearchQuerySchema, base);
|
|
63
|
+
}
|
|
64
|
+
const merged = clone(SearchQuerySchema, base);
|
|
65
|
+
merged.Query = combineQueryText(base.Query, local.Query) || void 0;
|
|
66
|
+
merged.HiddenQuery = combineQueryText(base.HiddenQuery, local.HiddenQuery) || void 0;
|
|
67
|
+
merged.Tags = [...base.Tags, ...local.Tags];
|
|
68
|
+
merged.SourceAccountId = local.SourceAccountId ?? base.SourceAccountId;
|
|
69
|
+
merged.ExcludeAccountId = local.ExcludeAccountId ?? base.ExcludeAccountId;
|
|
70
|
+
merged.PriceFrom = local.PriceFrom ?? base.PriceFrom;
|
|
71
|
+
merged.PriceTo = local.PriceTo ?? base.PriceTo;
|
|
72
|
+
merged.OrderBy = local.OrderBy.length ? [...local.OrderBy] : [...base.OrderBy];
|
|
73
|
+
merged.Facets = uniqueStrings([...base.Facets, ...local.Facets]);
|
|
74
|
+
merged.Barcode = local.Barcode ?? base.Barcode;
|
|
75
|
+
merged.ConditionAbove = local.ConditionAbove ?? base.ConditionAbove;
|
|
76
|
+
merged.SaveAsLatest = base.SaveAsLatest || local.SaveAsLatest;
|
|
77
|
+
merged.Featured = base.Featured || local.Featured;
|
|
78
|
+
merged.ShareUrl = local.ShareUrl ?? base.ShareUrl;
|
|
79
|
+
merged.StoreId = local.StoreId ?? base.StoreId;
|
|
80
|
+
merged.WithBadge = uniqueNumbers([...base.WithBadge, ...local.WithBadge]);
|
|
81
|
+
merged.RelatedUrl = local.RelatedUrl ?? base.RelatedUrl;
|
|
82
|
+
merged.Continuation = local.Continuation ?? base.Continuation;
|
|
83
|
+
return merged;
|
|
84
|
+
}
|
|
85
|
+
function combineQueryText(...values) {
|
|
86
|
+
return uniqueStrings(values.map((value) => value?.trim()).filter((value) => Boolean(value))).join(" ");
|
|
87
|
+
}
|
|
88
|
+
function uniqueStrings(values) {
|
|
89
|
+
return [...new Set(values)];
|
|
90
|
+
}
|
|
91
|
+
function uniqueNumbers(values) {
|
|
92
|
+
return [...new Set(values)];
|
|
93
|
+
}
|
|
94
|
+
export {
|
|
95
|
+
configureShopSearchQuery,
|
|
96
|
+
createAccountShopQuery,
|
|
97
|
+
mergeShopSearchQuery,
|
|
98
|
+
shopSearchQuery
|
|
99
|
+
};
|
|
100
|
+
//# sourceMappingURL=shop-query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/shop-query.ts"],"sourcesContent":["import { clone, create } from \"@bufbuild/protobuf\";\nimport {\n AccountIdSchema,\n SearchQuerySchema,\n UUIDSchema,\n type SearchQuery\n} from \"@orderlyshop/core-client\";\n\nlet configuredShopQuery: SearchQuery | undefined;\n\nexport function configureShopSearchQuery(query: SearchQuery | undefined): void {\n configuredShopQuery = query ? clone(SearchQuerySchema, query) : undefined;\n}\n\nexport function shopSearchQuery(): SearchQuery | undefined {\n return configuredShopQuery ? clone(SearchQuerySchema, configuredShopQuery) : undefined;\n}\n\nexport function createAccountShopQuery(accountId: string): SearchQuery {\n return create(SearchQuerySchema, {\n SourceAccountId: create(AccountIdSchema, {\n Id: create(UUIDSchema, { Value: accountId })\n })\n });\n}\n\nexport function mergeShopSearchQuery(query: SearchQuery | undefined, localShopQuery?: SearchQuery): SearchQuery {\n const specific = query ? clone(SearchQuerySchema, query) : create(SearchQuerySchema);\n const base = combineShopQueries(shopSearchQuery(), localShopQuery);\n if (!base) {\n return specific;\n }\n\n const merged = clone(SearchQuerySchema, base);\n const hiddenQuery = combineQueryText(\n base.HiddenQuery,\n specific.HiddenQuery,\n specific.Query !== undefined ? base.Query : undefined\n );\n\n merged.Query = specific.Query ?? base.Query;\n merged.HiddenQuery = hiddenQuery || undefined;\n merged.Tags = [...base.Tags, ...specific.Tags];\n merged.SourceAccountId = base.SourceAccountId ?? specific.SourceAccountId;\n merged.ExcludeAccountId = base.ExcludeAccountId ?? specific.ExcludeAccountId;\n merged.PriceFrom = specific.PriceFrom ?? base.PriceFrom;\n merged.PriceTo = specific.PriceTo ?? base.PriceTo;\n merged.OrderBy = specific.OrderBy.length ? [...specific.OrderBy] : [...base.OrderBy];\n merged.Facets = uniqueStrings([...base.Facets, ...specific.Facets]);\n merged.Barcode = specific.Barcode ?? base.Barcode;\n merged.ConditionAbove = specific.ConditionAbove ?? base.ConditionAbove;\n merged.SaveAsLatest = base.SaveAsLatest || specific.SaveAsLatest;\n merged.Featured = base.Featured || specific.Featured;\n merged.ShareUrl = specific.ShareUrl ?? base.ShareUrl;\n merged.StoreId = base.StoreId ?? specific.StoreId;\n merged.WithBadge = uniqueNumbers([...base.WithBadge, ...specific.WithBadge]);\n merged.RelatedUrl = specific.RelatedUrl ?? base.RelatedUrl;\n merged.Continuation = specific.Continuation;\n return merged;\n}\n\nfunction combineShopQueries(base: SearchQuery | undefined, local: SearchQuery | undefined): SearchQuery | undefined {\n if (!base && !local) {\n return undefined;\n }\n if (!base) {\n return clone(SearchQuerySchema, local!);\n }\n if (!local) {\n return clone(SearchQuerySchema, base);\n }\n\n const merged = clone(SearchQuerySchema, base);\n merged.Query = combineQueryText(base.Query, local.Query) || undefined;\n merged.HiddenQuery = combineQueryText(base.HiddenQuery, local.HiddenQuery) || undefined;\n merged.Tags = [...base.Tags, ...local.Tags];\n merged.SourceAccountId = local.SourceAccountId ?? base.SourceAccountId;\n merged.ExcludeAccountId = local.ExcludeAccountId ?? base.ExcludeAccountId;\n merged.PriceFrom = local.PriceFrom ?? base.PriceFrom;\n merged.PriceTo = local.PriceTo ?? base.PriceTo;\n merged.OrderBy = local.OrderBy.length ? [...local.OrderBy] : [...base.OrderBy];\n merged.Facets = uniqueStrings([...base.Facets, ...local.Facets]);\n merged.Barcode = local.Barcode ?? base.Barcode;\n merged.ConditionAbove = local.ConditionAbove ?? base.ConditionAbove;\n merged.SaveAsLatest = base.SaveAsLatest || local.SaveAsLatest;\n merged.Featured = base.Featured || local.Featured;\n merged.ShareUrl = local.ShareUrl ?? base.ShareUrl;\n merged.StoreId = local.StoreId ?? base.StoreId;\n merged.WithBadge = uniqueNumbers([...base.WithBadge, ...local.WithBadge]);\n merged.RelatedUrl = local.RelatedUrl ?? base.RelatedUrl;\n merged.Continuation = local.Continuation ?? base.Continuation;\n return merged;\n}\n\nfunction combineQueryText(...values: Array<string | undefined>): string {\n return uniqueStrings(values\n .map((value) => value?.trim())\n .filter((value): value is string => Boolean(value)))\n .join(\" \");\n}\n\nfunction uniqueStrings(values: string[]): string[] {\n return [...new Set(values)];\n}\n\nfunction uniqueNumbers(values: number[]): number[] {\n return [...new Set(values)];\n}\n"],"mappings":";AAAA,SAAS,OAAO,cAAc;AAC9B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AAEP,IAAI;AAEG,SAAS,yBAAyB,OAAsC;AAC7E,wBAAsB,QAAQ,MAAM,mBAAmB,KAAK,IAAI;AAClE;AAEO,SAAS,kBAA2C;AACzD,SAAO,sBAAsB,MAAM,mBAAmB,mBAAmB,IAAI;AAC/E;AAEO,SAAS,uBAAuB,WAAgC;AACrE,SAAO,OAAO,mBAAmB;AAAA,IAC/B,iBAAiB,OAAO,iBAAiB;AAAA,MACvC,IAAI,OAAO,YAAY,EAAE,OAAO,UAAU,CAAC;AAAA,IAC7C,CAAC;AAAA,EACH,CAAC;AACH;AAEO,SAAS,qBAAqB,OAAgC,gBAA2C;AAC9G,QAAM,WAAW,QAAQ,MAAM,mBAAmB,KAAK,IAAI,OAAO,iBAAiB;AACnF,QAAM,OAAO,mBAAmB,gBAAgB,GAAG,cAAc;AACjE,MAAI,CAAC,MAAM;AACT,WAAO;AAAA,EACT;AAEA,QAAM,SAAS,MAAM,mBAAmB,IAAI;AAC5C,QAAM,cAAc;AAAA,IAClB,KAAK;AAAA,IACL,SAAS;AAAA,IACT,SAAS,UAAU,SAAY,KAAK,QAAQ;AAAA,EAC9C;AAEA,SAAO,QAAQ,SAAS,SAAS,KAAK;AACtC,SAAO,cAAc,eAAe;AACpC,SAAO,OAAO,CAAC,GAAG,KAAK,MAAM,GAAG,SAAS,IAAI;AAC7C,SAAO,kBAAkB,KAAK,mBAAmB,SAAS;AAC1D,SAAO,mBAAmB,KAAK,oBAAoB,SAAS;AAC5D,SAAO,YAAY,SAAS,aAAa,KAAK;AAC9C,SAAO,UAAU,SAAS,WAAW,KAAK;AAC1C,SAAO,UAAU,SAAS,QAAQ,SAAS,CAAC,GAAG,SAAS,OAAO,IAAI,CAAC,GAAG,KAAK,OAAO;AACnF,SAAO,SAAS,cAAc,CAAC,GAAG,KAAK,QAAQ,GAAG,SAAS,MAAM,CAAC;AAClE,SAAO,UAAU,SAAS,WAAW,KAAK;AAC1C,SAAO,iBAAiB,SAAS,kBAAkB,KAAK;AACxD,SAAO,eAAe,KAAK,gBAAgB,SAAS;AACpD,SAAO,WAAW,KAAK,YAAY,SAAS;AAC5C,SAAO,WAAW,SAAS,YAAY,KAAK;AAC5C,SAAO,UAAU,KAAK,WAAW,SAAS;AAC1C,SAAO,YAAY,cAAc,CAAC,GAAG,KAAK,WAAW,GAAG,SAAS,SAAS,CAAC;AAC3E,SAAO,aAAa,SAAS,cAAc,KAAK;AAChD,SAAO,eAAe,SAAS;AAC/B,SAAO;AACT;AAEA,SAAS,mBAAmB,MAA+B,OAAyD;AAClH,MAAI,CAAC,QAAQ,CAAC,OAAO;AACnB,WAAO;AAAA,EACT;AACA,MAAI,CAAC,MAAM;AACT,WAAO,MAAM,mBAAmB,KAAM;AAAA,EACxC;AACA,MAAI,CAAC,OAAO;AACV,WAAO,MAAM,mBAAmB,IAAI;AAAA,EACtC;AAEA,QAAM,SAAS,MAAM,mBAAmB,IAAI;AAC5C,SAAO,QAAQ,iBAAiB,KAAK,OAAO,MAAM,KAAK,KAAK;AAC5D,SAAO,cAAc,iBAAiB,KAAK,aAAa,MAAM,WAAW,KAAK;AAC9E,SAAO,OAAO,CAAC,GAAG,KAAK,MAAM,GAAG,MAAM,IAAI;AAC1C,SAAO,kBAAkB,MAAM,mBAAmB,KAAK;AACvD,SAAO,mBAAmB,MAAM,oBAAoB,KAAK;AACzD,SAAO,YAAY,MAAM,aAAa,KAAK;AAC3C,SAAO,UAAU,MAAM,WAAW,KAAK;AACvC,SAAO,UAAU,MAAM,QAAQ,SAAS,CAAC,GAAG,MAAM,OAAO,IAAI,CAAC,GAAG,KAAK,OAAO;AAC7E,SAAO,SAAS,cAAc,CAAC,GAAG,KAAK,QAAQ,GAAG,MAAM,MAAM,CAAC;AAC/D,SAAO,UAAU,MAAM,WAAW,KAAK;AACvC,SAAO,iBAAiB,MAAM,kBAAkB,KAAK;AACrD,SAAO,eAAe,KAAK,gBAAgB,MAAM;AACjD,SAAO,WAAW,KAAK,YAAY,MAAM;AACzC,SAAO,WAAW,MAAM,YAAY,KAAK;AACzC,SAAO,UAAU,MAAM,WAAW,KAAK;AACvC,SAAO,YAAY,cAAc,CAAC,GAAG,KAAK,WAAW,GAAG,MAAM,SAAS,CAAC;AACxE,SAAO,aAAa,MAAM,cAAc,KAAK;AAC7C,SAAO,eAAe,MAAM,gBAAgB,KAAK;AACjD,SAAO;AACT;AAEA,SAAS,oBAAoB,QAA2C;AACtE,SAAO,cAAc,OAClB,IAAI,CAAC,UAAU,OAAO,KAAK,CAAC,EAC5B,OAAO,CAAC,UAA2B,QAAQ,KAAK,CAAC,CAAC,EAClD,KAAK,GAAG;AACb;AAEA,SAAS,cAAc,QAA4B;AACjD,SAAO,CAAC,GAAG,IAAI,IAAI,MAAM,CAAC;AAC5B;AAEA,SAAS,cAAc,QAA4B;AACjD,SAAO,CAAC,GAAG,IAAI,IAAI,MAAM,CAAC;AAC5B;","names":[]}
|
package/dist/shop.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import './default-shop-DgX6uy10.js';
|
|
2
|
+
export { e as ShopConfig, q as configureShop } from './shop-BgQhGRzS.js';
|
|
3
|
+
import './registry-CPDecU3g.js';
|
|
4
|
+
import './types-Bjez59Hr.js';
|
|
5
|
+
import '@orderlyshop/core-client';
|
|
6
|
+
import './query.js';
|
|
7
|
+
import '@bufbuild/protobuf';
|
|
8
|
+
import './stores.js';
|