@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.
Files changed (71) hide show
  1. package/AGENTS.md +110 -0
  2. package/README.md +685 -0
  3. package/bin/orderly-build-category-pages.mjs +160 -0
  4. package/bin/orderly-generate-category-pages.mjs +308 -0
  5. package/bin/orderly-hydrate-static-pages.mjs +595 -0
  6. package/bin/orderly-init-navigation.mjs +327 -0
  7. package/bin/orderly-init-shop.mjs +876 -0
  8. package/bin/orderly-init-taxonomy.mjs +2 -0
  9. package/bin/orderly-publish-site.mjs +342 -0
  10. package/custom-elements.json +505 -0
  11. package/dist/browser/orderly-web-components.define.global.js +3551 -0
  12. package/dist/browser/orderly-web-components.define.global.js.map +1 -0
  13. package/dist/browser/orderly-web-components.global.js +3551 -0
  14. package/dist/browser/orderly-web-components.global.js.map +1 -0
  15. package/dist/default-shop-DgX6uy10.d.ts +221 -0
  16. package/dist/default-shop.d.ts +6 -0
  17. package/dist/default-shop.js +762 -0
  18. package/dist/default-shop.js.map +1 -0
  19. package/dist/define-BNMhl19n.d.ts +9 -0
  20. package/dist/define.d.ts +2 -0
  21. package/dist/define.js +11094 -0
  22. package/dist/define.js.map +1 -0
  23. package/dist/index.d.ts +683 -0
  24. package/dist/index.js +11417 -0
  25. package/dist/index.js.map +1 -0
  26. package/dist/navigation.d.ts +61 -0
  27. package/dist/navigation.js +1125 -0
  28. package/dist/navigation.js.map +1 -0
  29. package/dist/query.d.ts +31 -0
  30. package/dist/query.js +115 -0
  31. package/dist/query.js.map +1 -0
  32. package/dist/registry-CPDecU3g.d.ts +6 -0
  33. package/dist/shop-BgQhGRzS.d.ts +173 -0
  34. package/dist/shop-query.d.ts +8 -0
  35. package/dist/shop-query.js +100 -0
  36. package/dist/shop-query.js.map +1 -0
  37. package/dist/shop.d.ts +8 -0
  38. package/dist/shop.js +11187 -0
  39. package/dist/shop.js.map +1 -0
  40. package/dist/stores.d.ts +46 -0
  41. package/dist/stores.js +145 -0
  42. package/dist/stores.js.map +1 -0
  43. package/dist/taxonomy.d.ts +35 -0
  44. package/dist/taxonomy.js +247 -0
  45. package/dist/taxonomy.js.map +1 -0
  46. package/dist/types-Bjez59Hr.d.ts +96 -0
  47. package/docs/components/README.md +708 -0
  48. package/docs/components/product-grid.md +182 -0
  49. package/docs/components/product-rail.md +174 -0
  50. package/examples/shop/README.md +72 -0
  51. package/examples/shop/package.json +28 -0
  52. package/examples/shop/src/category.html +20 -0
  53. package/examples/shop/src/checkout.html +21 -0
  54. package/examples/shop/src/forretningsbetingelser.html +81 -0
  55. package/examples/shop/src/includes/body-end.html +1 -0
  56. package/examples/shop/src/includes/body-start.html +3 -0
  57. package/examples/shop/src/includes/head.html +32 -0
  58. package/examples/shop/src/index.html +25 -0
  59. package/examples/shop/src/navigation.ts +154 -0
  60. package/examples/shop/src/product.html +24 -0
  61. package/examples/shop/src/templates/page-layouts.html +162 -0
  62. package/examples/shop/src/templates/shop-footer.html +76 -0
  63. package/examples/shop/tsconfig.json +32 -0
  64. package/examples/shop/vite.config.mjs +190 -0
  65. package/html-custom-data.json +279 -0
  66. package/package.json +118 -0
  67. package/server/README.md +111 -0
  68. package/server/apache/.htaccess +18 -0
  69. package/server/nginx/orderly-products.conf +24 -0
  70. package/server/node/product-snapshot-server.mjs +133 -0
  71. 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":"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","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';