@selwise/widget 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +71 -0
  3. package/dist/npm/cjs/modules/contract/recommendation-contract.js +1 -1
  4. package/dist/npm/cjs/modules/contract/search-contract.js +1 -1
  5. package/dist/npm/cjs/modules/contract/tracking-contract.js +1 -1
  6. package/dist/npm/cjs/modules/contract/vendor/recommendation-contract/configs.js +164 -0
  7. package/dist/npm/cjs/modules/contract/vendor/recommendation-contract/configs.js.map +1 -0
  8. package/dist/npm/cjs/modules/contract/vendor/recommendation-contract/index.js +21 -0
  9. package/dist/npm/cjs/modules/contract/vendor/recommendation-contract/index.js.map +1 -0
  10. package/dist/npm/cjs/modules/contract/vendor/recommendation-contract/types.js +3 -0
  11. package/dist/npm/cjs/modules/contract/vendor/recommendation-contract/types.js.map +1 -0
  12. package/dist/npm/cjs/modules/contract/vendor/recommendation-contract/validators.js +107 -0
  13. package/dist/npm/cjs/modules/contract/vendor/recommendation-contract/validators.js.map +1 -0
  14. package/dist/npm/cjs/modules/contract/vendor/search-contract/configs.js +404 -0
  15. package/dist/npm/cjs/modules/contract/vendor/search-contract/configs.js.map +1 -0
  16. package/dist/npm/cjs/modules/contract/vendor/search-contract/index.js +21 -0
  17. package/dist/npm/cjs/modules/contract/vendor/search-contract/index.js.map +1 -0
  18. package/dist/npm/cjs/modules/contract/vendor/search-contract/types.js +8 -0
  19. package/dist/npm/cjs/modules/contract/vendor/search-contract/types.js.map +1 -0
  20. package/dist/npm/cjs/modules/contract/vendor/search-contract/validators.js +126 -0
  21. package/dist/npm/cjs/modules/contract/vendor/search-contract/validators.js.map +1 -0
  22. package/dist/npm/cjs/modules/contract/vendor/tracking-contract/configs.js +133 -0
  23. package/dist/npm/cjs/modules/contract/vendor/tracking-contract/configs.js.map +1 -0
  24. package/dist/npm/cjs/modules/contract/vendor/tracking-contract/index.js +21 -0
  25. package/dist/npm/cjs/modules/contract/vendor/tracking-contract/index.js.map +1 -0
  26. package/dist/npm/cjs/modules/contract/vendor/tracking-contract/types.js +3 -0
  27. package/dist/npm/cjs/modules/contract/vendor/tracking-contract/types.js.map +1 -0
  28. package/dist/npm/cjs/modules/contract/vendor/tracking-contract/validators.js +154 -0
  29. package/dist/npm/cjs/modules/contract/vendor/tracking-contract/validators.js.map +1 -0
  30. package/dist/npm/cjs/modules/contract/vendor/widget-contract/configs.js +1481 -0
  31. package/dist/npm/cjs/modules/contract/vendor/widget-contract/configs.js.map +1 -0
  32. package/dist/npm/cjs/modules/contract/vendor/widget-contract/index.js +22 -0
  33. package/dist/npm/cjs/modules/contract/vendor/widget-contract/index.js.map +1 -0
  34. package/dist/npm/cjs/modules/contract/vendor/widget-contract/layout.js +21 -0
  35. package/dist/npm/cjs/modules/contract/vendor/widget-contract/layout.js.map +1 -0
  36. package/dist/npm/cjs/modules/contract/vendor/widget-contract/types.js +8 -0
  37. package/dist/npm/cjs/modules/contract/vendor/widget-contract/types.js.map +1 -0
  38. package/dist/npm/cjs/modules/contract/vendor/widget-contract/validators.js +139 -0
  39. package/dist/npm/cjs/modules/contract/vendor/widget-contract/validators.js.map +1 -0
  40. package/dist/npm/cjs/modules/contract/widget-contract.js +1 -1
  41. package/dist/npm/esm/modules/contract/recommendation-contract.d.ts +2 -2
  42. package/dist/npm/esm/modules/contract/recommendation-contract.js +1 -1
  43. package/dist/npm/esm/modules/contract/search-contract.d.ts +1 -1
  44. package/dist/npm/esm/modules/contract/search-contract.js +1 -1
  45. package/dist/npm/esm/modules/contract/tracking-contract.d.ts +1 -1
  46. package/dist/npm/esm/modules/contract/tracking-contract.js +1 -1
  47. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/configs.d.ts +8 -0
  48. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/configs.js +160 -0
  49. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/configs.js.map +1 -0
  50. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/index.d.ts +3 -0
  51. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/index.js +5 -0
  52. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/index.js.map +1 -0
  53. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/types.d.ts +56 -0
  54. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/types.js +2 -0
  55. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/types.js.map +1 -0
  56. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/validators.d.ts +3 -0
  57. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/validators.js +103 -0
  58. package/dist/npm/esm/modules/contract/vendor/recommendation-contract/validators.js.map +1 -0
  59. package/dist/npm/esm/modules/contract/vendor/search-contract/configs.d.ts +35 -0
  60. package/dist/npm/esm/modules/contract/vendor/search-contract/configs.js +396 -0
  61. package/dist/npm/esm/modules/contract/vendor/search-contract/configs.js.map +1 -0
  62. package/dist/npm/esm/modules/contract/vendor/search-contract/index.d.ts +3 -0
  63. package/dist/npm/esm/modules/contract/vendor/search-contract/index.js +5 -0
  64. package/dist/npm/esm/modules/contract/vendor/search-contract/index.js.map +1 -0
  65. package/dist/npm/esm/modules/contract/vendor/search-contract/types.d.ts +119 -0
  66. package/dist/npm/esm/modules/contract/vendor/search-contract/types.js +7 -0
  67. package/dist/npm/esm/modules/contract/vendor/search-contract/types.js.map +1 -0
  68. package/dist/npm/esm/modules/contract/vendor/search-contract/validators.d.ts +22 -0
  69. package/dist/npm/esm/modules/contract/vendor/search-contract/validators.js +118 -0
  70. package/dist/npm/esm/modules/contract/vendor/search-contract/validators.js.map +1 -0
  71. package/dist/npm/esm/modules/contract/vendor/tracking-contract/configs.d.ts +7 -0
  72. package/dist/npm/esm/modules/contract/vendor/tracking-contract/configs.js +130 -0
  73. package/dist/npm/esm/modules/contract/vendor/tracking-contract/configs.js.map +1 -0
  74. package/dist/npm/esm/modules/contract/vendor/tracking-contract/index.d.ts +3 -0
  75. package/dist/npm/esm/modules/contract/vendor/tracking-contract/index.js +5 -0
  76. package/dist/npm/esm/modules/contract/vendor/tracking-contract/index.js.map +1 -0
  77. package/dist/npm/esm/modules/contract/vendor/tracking-contract/types.d.ts +37 -0
  78. package/dist/npm/esm/modules/contract/vendor/tracking-contract/types.js +2 -0
  79. package/dist/npm/esm/modules/contract/vendor/tracking-contract/types.js.map +1 -0
  80. package/dist/npm/esm/modules/contract/vendor/tracking-contract/validators.d.ts +6 -0
  81. package/dist/npm/esm/modules/contract/vendor/tracking-contract/validators.js +147 -0
  82. package/dist/npm/esm/modules/contract/vendor/tracking-contract/validators.js.map +1 -0
  83. package/dist/npm/esm/modules/contract/vendor/widget-contract/configs.d.ts +22 -0
  84. package/dist/npm/esm/modules/contract/vendor/widget-contract/configs.js +1472 -0
  85. package/dist/npm/esm/modules/contract/vendor/widget-contract/configs.js.map +1 -0
  86. package/dist/npm/esm/modules/contract/vendor/widget-contract/index.d.ts +4 -0
  87. package/dist/npm/esm/modules/contract/vendor/widget-contract/index.js +6 -0
  88. package/dist/npm/esm/modules/contract/vendor/widget-contract/index.js.map +1 -0
  89. package/dist/npm/esm/modules/contract/vendor/widget-contract/layout.d.ts +14 -0
  90. package/dist/npm/esm/modules/contract/vendor/widget-contract/layout.js +18 -0
  91. package/dist/npm/esm/modules/contract/vendor/widget-contract/layout.js.map +1 -0
  92. package/dist/npm/esm/modules/contract/vendor/widget-contract/types.d.ts +128 -0
  93. package/dist/npm/esm/modules/contract/vendor/widget-contract/types.js +7 -0
  94. package/dist/npm/esm/modules/contract/vendor/widget-contract/types.js.map +1 -0
  95. package/dist/npm/esm/modules/contract/vendor/widget-contract/validators.d.ts +11 -0
  96. package/dist/npm/esm/modules/contract/vendor/widget-contract/validators.js +132 -0
  97. package/dist/npm/esm/modules/contract/vendor/widget-contract/validators.js.map +1 -0
  98. package/dist/npm/esm/modules/contract/widget-contract.d.ts +1 -1
  99. package/dist/npm/esm/modules/contract/widget-contract.js +1 -1
  100. package/dist/npm/esm/selwise.js +2 -2
  101. package/package.json +25 -9
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Selwise
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,71 @@
1
+ # @selwise/widget
2
+
3
+ Selwise storefront widget runtime for e-commerce personalization and tracking.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @selwise/widget
9
+ ```
10
+
11
+ ## Quick Start (npm)
12
+
13
+ ```ts
14
+ import Selwise from '@selwise/widget';
15
+
16
+ const widget = new Selwise();
17
+ await widget.init({
18
+ siteKey: 'YOUR_SITE_KEY',
19
+ apiUrl: 'https://api.selwise.com/api/v1',
20
+ });
21
+ ```
22
+
23
+ Important:
24
+
25
+ - Package import is side-effect free.
26
+ - `window.Selwise` is auto-bound after `init()`.
27
+
28
+ ## CDN Script Tag
29
+
30
+ ```html
31
+ <script
32
+ src="https://widget.selwise.com/client.js"
33
+ data-site-key="YOUR_SITE_KEY"
34
+ data-api-url="https://api.selwise.com/api/v1"
35
+ ></script>
36
+ ```
37
+
38
+ ## Public API
39
+
40
+ Instance and `window.Selwise` after initialization:
41
+
42
+ - `init(config)`
43
+ - `destroy()`
44
+ - `track(name, args?)`
45
+ - `trackOrder(order)`
46
+ - `identify(userId, metadata?)`
47
+ - `setTraits(traits)`
48
+ - `getVisitorId()`
49
+ - `getSessionId()`
50
+ - `getJourneyId()`
51
+ - `getJourneyState()`
52
+ - `endJourney()`
53
+ - `getVariant(experimentId)`
54
+ - `getExperimentVariant(experimentId)`
55
+ - `getActiveExperiments()`
56
+ - `pushDataLayer(data)`
57
+ - `getDataLayer()`
58
+ - `getConsentState()`
59
+ - `grantConsent(categories?)`
60
+ - `revokeConsent(categories?)`
61
+
62
+ ## Docs
63
+
64
+ - https://docs.selwise.com/getting-started/npm-integration/
65
+ - https://docs.selwise.com/client-api/public-api/
66
+ - https://docs.selwise.com/client-api/data-layer/
67
+ - https://docs.selwise.com/client-api/consent-management/
68
+
69
+ ## License
70
+
71
+ MIT, see [LICENSE](./LICENSE).
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.sanitizeRecommendationConfig = exports.validateRecommendationConfig = exports.getDefaultRecommendationConfig = exports.RECOMMENDATION_STYLE_CONFIGS = exports.RECOMMENDATION_PLATFORMS = exports.RECOMMENDATION_INSERT_POSITIONS = exports.RECOMMENDATION_TRIGGERS = exports.RECOMMENDATION_DISPLAY_TYPES = exports.RECOMMENDATION_STRATEGIES = void 0;
4
4
  exports.resolveRecommendationConfig = resolveRecommendationConfig;
5
- const recommendation_contract_1 = require("@selwise/recommendation-contract");
5
+ const recommendation_contract_1 = require("./vendor/recommendation-contract");
6
6
  Object.defineProperty(exports, "RECOMMENDATION_STRATEGIES", { enumerable: true, get: function () { return recommendation_contract_1.RECOMMENDATION_STRATEGIES; } });
7
7
  Object.defineProperty(exports, "RECOMMENDATION_DISPLAY_TYPES", { enumerable: true, get: function () { return recommendation_contract_1.RECOMMENDATION_DISPLAY_TYPES; } });
8
8
  Object.defineProperty(exports, "RECOMMENDATION_TRIGGERS", { enumerable: true, get: function () { return recommendation_contract_1.RECOMMENDATION_TRIGGERS; } });
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.sanitizeSuggestionStyles = exports.sanitizeSearchStyles = exports.validateSearchStyles = exports.validateSearchConfig = exports.getAllowedSuggestionStyleKeys = exports.getAllowedSearchStyleKeys = exports.getDefaultSuggestionStyles = exports.getDefaultSearchStyles = exports.SUGGESTION_STYLE_CONFIGS = exports.SEARCH_STYLE_CONFIGS = exports.CATEGORY_DISPLAY_MODES = exports.SEARCH_FLOATING_POSITIONS = exports.SEARCH_POSITIONS = void 0;
4
- var search_contract_1 = require("@selwise/search-contract");
4
+ var search_contract_1 = require("./vendor/search-contract");
5
5
  Object.defineProperty(exports, "SEARCH_POSITIONS", { enumerable: true, get: function () { return search_contract_1.SEARCH_POSITIONS; } });
6
6
  Object.defineProperty(exports, "SEARCH_FLOATING_POSITIONS", { enumerable: true, get: function () { return search_contract_1.SEARCH_FLOATING_POSITIONS; } });
7
7
  Object.defineProperty(exports, "CATEGORY_DISPLAY_MODES", { enumerable: true, get: function () { return search_contract_1.CATEGORY_DISPLAY_MODES; } });
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validateFrequencyCapPayload = exports.validateFrequencyInterval = exports.sanitizeDataLayerConfig = exports.validateDataLayerConfig = exports.validateCanonicalEvent = exports.FREQUENCY_CAP_INTERVALS = exports.COOKIE_CONSENT_DEFAULTS = exports.TRACKING_MODULES = exports.DEFAULT_PAGE_TYPE_PATTERNS = exports.EVENT_CATEGORIES = exports.CANONICAL_EVENTS = void 0;
4
- var tracking_contract_1 = require("@selwise/tracking-contract");
4
+ var tracking_contract_1 = require("./vendor/tracking-contract");
5
5
  Object.defineProperty(exports, "CANONICAL_EVENTS", { enumerable: true, get: function () { return tracking_contract_1.CANONICAL_EVENTS; } });
6
6
  Object.defineProperty(exports, "EVENT_CATEGORIES", { enumerable: true, get: function () { return tracking_contract_1.EVENT_CATEGORIES; } });
7
7
  Object.defineProperty(exports, "DEFAULT_PAGE_TYPE_PATTERNS", { enumerable: true, get: function () { return tracking_contract_1.DEFAULT_PAGE_TYPE_PATTERNS; } });
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RECOMMENDATION_STYLE_CONFIGS = exports.RECOMMENDATION_PLATFORMS = exports.RECOMMENDATION_INSERT_POSITIONS = exports.RECOMMENDATION_TRIGGERS = exports.RECOMMENDATION_DISPLAY_TYPES = exports.RECOMMENDATION_STRATEGIES = void 0;
4
+ exports.getDefaultRecommendationConfig = getDefaultRecommendationConfig;
5
+ exports.RECOMMENDATION_STRATEGIES = [
6
+ 'manual',
7
+ 'category_based',
8
+ 'bestsellers',
9
+ 'new_arrivals',
10
+ 'on_sale',
11
+ 'viewed_together',
12
+ 'bought_together',
13
+ 'user_history',
14
+ 'similar_products',
15
+ 'trending',
16
+ 'ai_personalized',
17
+ 'custom_query',
18
+ ];
19
+ exports.RECOMMENDATION_DISPLAY_TYPES = [
20
+ 'slider',
21
+ 'grid',
22
+ 'carousel',
23
+ 'list',
24
+ 'masonry',
25
+ ];
26
+ exports.RECOMMENDATION_TRIGGERS = [
27
+ 'page_load',
28
+ 'scroll',
29
+ 'exit_intent',
30
+ 'time_delay',
31
+ 'add_to_cart',
32
+ 'custom',
33
+ ];
34
+ exports.RECOMMENDATION_INSERT_POSITIONS = [
35
+ 'append',
36
+ 'prepend',
37
+ 'before',
38
+ 'after',
39
+ 'replace',
40
+ ];
41
+ exports.RECOMMENDATION_PLATFORMS = [
42
+ 'custom',
43
+ 'shopify',
44
+ 'woocommerce',
45
+ 'magento',
46
+ 'prestashop',
47
+ 'akinon',
48
+ 'custom_api',
49
+ ];
50
+ exports.RECOMMENDATION_STYLE_CONFIGS = {
51
+ arrowStyles: {
52
+ id: 'arrowStyles',
53
+ title: 'Arrows',
54
+ fields: [
55
+ { key: 'enabled', label: 'Enabled', type: 'toggle', default: true },
56
+ { key: 'style', label: 'Style', type: 'select', default: 'circle', options: ['circle', 'square', 'minimal'] },
57
+ { key: 'size', label: 'Size', type: 'number', default: 40, min: 20, max: 120 },
58
+ { key: 'color', label: 'Color', type: 'color', default: '#333333' },
59
+ { key: 'backgroundColor', label: 'Background', type: 'color', default: '#ffffff' },
60
+ { key: 'borderColor', label: 'Border Color', type: 'color', default: '#e5e5e5' },
61
+ { key: 'borderWidth', label: 'Border Width', type: 'number', default: 1, min: 0, max: 10 },
62
+ { key: 'borderRadius', label: 'Border Radius', type: 'number', default: 50, min: 0, max: 200 },
63
+ { key: 'iconSize', label: 'Icon Size', type: 'number', default: 16, min: 8, max: 64 },
64
+ { key: 'hoverColor', label: 'Hover Color', type: 'color', default: '#000000' },
65
+ { key: 'hoverBackgroundColor', label: 'Hover Background', type: 'color', default: '#f5f5f5' },
66
+ { key: 'position', label: 'Position', type: 'select', default: 'outside', options: ['inside', 'outside'] },
67
+ { key: 'offset', label: 'Offset', type: 'number', default: -20, min: -200, max: 200 },
68
+ ],
69
+ },
70
+ dotStyles: {
71
+ id: 'dotStyles',
72
+ title: 'Dots',
73
+ fields: [
74
+ { key: 'enabled', label: 'Enabled', type: 'toggle', default: true },
75
+ { key: 'style', label: 'Style', type: 'select', default: 'circle', options: ['circle', 'bar', 'line'] },
76
+ { key: 'size', label: 'Size', type: 'number', default: 10, min: 2, max: 40 },
77
+ { key: 'color', label: 'Color', type: 'color', default: '#cccccc' },
78
+ { key: 'activeColor', label: 'Active Color', type: 'color', default: '#333333' },
79
+ { key: 'gap', label: 'Gap', type: 'number', default: 8, min: 0, max: 64 },
80
+ { key: 'position', label: 'Position', type: 'select', default: 'bottom', options: ['bottom', 'below'] },
81
+ { key: 'offset', label: 'Offset', type: 'number', default: 20, min: -200, max: 200 },
82
+ ],
83
+ },
84
+ titleStyles: {
85
+ id: 'titleStyles',
86
+ title: 'Title',
87
+ fields: [
88
+ { key: 'enabled', label: 'Enabled', type: 'toggle', default: true },
89
+ { key: 'fontSize', label: 'Font Size', type: 'number', default: 24, min: 8, max: 96 },
90
+ { key: 'fontWeight', label: 'Font Weight', type: 'select', default: 'bold', options: ['normal', 'medium', 'semibold', 'bold'] },
91
+ { key: 'color', label: 'Color', type: 'color', default: '#111111' },
92
+ { key: 'textAlign', label: 'Text Align', type: 'select', default: 'left', options: ['left', 'center', 'right'] },
93
+ { key: 'marginBottom', label: 'Margin Bottom', type: 'number', default: 16, min: 0, max: 200 },
94
+ ],
95
+ },
96
+ subtitleStyles: {
97
+ id: 'subtitleStyles',
98
+ title: 'Subtitle',
99
+ fields: [
100
+ { key: 'enabled', label: 'Enabled', type: 'toggle', default: false },
101
+ { key: 'fontSize', label: 'Font Size', type: 'number', default: 14, min: 8, max: 96 },
102
+ { key: 'fontWeight', label: 'Font Weight', type: 'select', default: 'normal', options: ['normal', 'medium', 'semibold', 'bold'] },
103
+ { key: 'color', label: 'Color', type: 'color', default: '#666666' },
104
+ { key: 'textAlign', label: 'Text Align', type: 'select', default: 'left', options: ['left', 'center', 'right'] },
105
+ { key: 'marginBottom', label: 'Margin Bottom', type: 'number', default: 24, min: 0, max: 200 },
106
+ ],
107
+ },
108
+ containerStyles: {
109
+ id: 'containerStyles',
110
+ title: 'Container',
111
+ fields: [
112
+ { key: 'backgroundColor', label: 'Background', type: 'color', default: 'transparent' },
113
+ { key: 'padding', label: 'Padding', type: 'text', default: '40px 20px' },
114
+ { key: 'borderRadius', label: 'Border Radius', type: 'number', default: 0, min: 0, max: 120 },
115
+ { key: 'maxWidth', label: 'Max Width', type: 'text', default: '1200px' },
116
+ { key: 'margin', label: 'Margin', type: 'text', default: '0 auto' },
117
+ ],
118
+ },
119
+ };
120
+ function getDefaultStyleBlock(sectionKey) {
121
+ const section = exports.RECOMMENDATION_STYLE_CONFIGS[sectionKey];
122
+ if (!section) {
123
+ return {};
124
+ }
125
+ return section.fields.reduce((acc, field) => {
126
+ acc[field.key] = field.default;
127
+ return acc;
128
+ }, {});
129
+ }
130
+ function getDefaultRecommendationConfig() {
131
+ return {
132
+ strategy: 'bestsellers',
133
+ displayType: 'slider',
134
+ trigger: 'page_load',
135
+ insertPosition: 'append',
136
+ cartPlatform: 'custom',
137
+ maxProducts: 12,
138
+ productsPerRow: 4,
139
+ autoplay: false,
140
+ autoplaySpeed: 3000,
141
+ loop: true,
142
+ pauseOnHover: true,
143
+ slidesPerView: 4,
144
+ slidesPerViewTablet: 3,
145
+ slidesPerViewMobile: 2,
146
+ slideGap: 16,
147
+ title: 'Recommended for You',
148
+ subtitle: '',
149
+ excludeOutOfStock: true,
150
+ showOnAllPages: true,
151
+ includeUrls: [],
152
+ excludeUrls: [],
153
+ containerSelector: '',
154
+ addToCartEnabled: false,
155
+ addToCartConfig: {},
156
+ triggerConfig: {},
157
+ arrowStyles: getDefaultStyleBlock('arrowStyles'),
158
+ dotStyles: getDefaultStyleBlock('dotStyles'),
159
+ titleStyles: getDefaultStyleBlock('titleStyles'),
160
+ subtitleStyles: getDefaultStyleBlock('subtitleStyles'),
161
+ containerStyles: getDefaultStyleBlock('containerStyles'),
162
+ };
163
+ }
164
+ //# sourceMappingURL=configs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configs.js","sourceRoot":"","sources":["../../../../../../../src/modules/contract/vendor/recommendation-contract/configs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ // AUTO-GENERATED FROM packages/recommendation-contract/src/index.ts. DO NOT EDIT DIRECTLY.
18
+ __exportStar(require("./types"), exports);
19
+ __exportStar(require("./configs"), exports);
20
+ __exportStar(require("./validators"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/modules/contract/vendor/recommendation-contract/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2FAA2F;AAC3F,0CAAwB;AACxB,4CAA0B;AAC1B,+CAA6B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../../src/modules/contract/vendor/recommendation-contract/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateRecommendationConfig = validateRecommendationConfig;
4
+ exports.sanitizeRecommendationConfig = sanitizeRecommendationConfig;
5
+ // AUTO-GENERATED FROM packages/recommendation-contract/src/validators.ts. DO NOT EDIT DIRECTLY.
6
+ const configs_1 = require("./configs");
7
+ function isRecord(value) {
8
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
9
+ }
10
+ function sanitizeUrlPatterns(value) {
11
+ if (!Array.isArray(value))
12
+ return [];
13
+ const seen = new Set();
14
+ const patterns = [];
15
+ for (const raw of value) {
16
+ if (typeof raw !== 'string')
17
+ continue;
18
+ const pattern = raw.trim();
19
+ if (!pattern)
20
+ continue;
21
+ if (seen.has(pattern))
22
+ continue;
23
+ seen.add(pattern);
24
+ patterns.push(pattern);
25
+ }
26
+ return patterns;
27
+ }
28
+ function validateStyleBlock(blockName, value) {
29
+ if (value === undefined) {
30
+ return { valid: true };
31
+ }
32
+ if (!isRecord(value)) {
33
+ return { valid: false, message: `invalid ${blockName} payload` };
34
+ }
35
+ const section = configs_1.RECOMMENDATION_STYLE_CONFIGS[blockName];
36
+ const allowedKeys = new Set(section.fields.map((field) => field.key));
37
+ const invalidKeys = Object.keys(value).filter((key) => !allowedKeys.has(key));
38
+ if (invalidKeys.length > 0) {
39
+ return {
40
+ valid: false,
41
+ message: `invalid style key: ${invalidKeys.join(', ')}`,
42
+ invalidKeys,
43
+ };
44
+ }
45
+ return { valid: true };
46
+ }
47
+ function validateRecommendationConfig(config) {
48
+ if (!isRecord(config)) {
49
+ return { valid: false, message: 'invalid recommendation payload' };
50
+ }
51
+ if (config.strategy !== undefined && !configs_1.RECOMMENDATION_STRATEGIES.includes(config.strategy)) {
52
+ return { valid: false, message: 'invalid recommendation strategy' };
53
+ }
54
+ if (config.displayType !== undefined && !configs_1.RECOMMENDATION_DISPLAY_TYPES.includes(config.displayType)) {
55
+ return { valid: false, message: 'invalid display type' };
56
+ }
57
+ if (config.trigger !== undefined && !configs_1.RECOMMENDATION_TRIGGERS.includes(config.trigger)) {
58
+ return { valid: false, message: 'invalid trigger type' };
59
+ }
60
+ if (config.insertPosition !== undefined &&
61
+ !configs_1.RECOMMENDATION_INSERT_POSITIONS.includes(config.insertPosition)) {
62
+ return { valid: false, message: 'invalid insert position' };
63
+ }
64
+ if (config.cartPlatform !== undefined && !configs_1.RECOMMENDATION_PLATFORMS.includes(config.cartPlatform)) {
65
+ return { valid: false, message: 'invalid cart platform' };
66
+ }
67
+ const blocks = ['arrowStyles', 'dotStyles', 'titleStyles', 'subtitleStyles', 'containerStyles'];
68
+ for (const block of blocks) {
69
+ const validation = validateStyleBlock(block, config[block]);
70
+ if (!validation.valid) {
71
+ return validation;
72
+ }
73
+ }
74
+ return { valid: true };
75
+ }
76
+ function sanitizeRecommendationConfig(config) {
77
+ const defaults = (0, configs_1.getDefaultRecommendationConfig)();
78
+ if (!isRecord(config)) {
79
+ return defaults;
80
+ }
81
+ const styleBlockNames = ['arrowStyles', 'dotStyles', 'titleStyles', 'subtitleStyles', 'containerStyles'];
82
+ const sanitized = {
83
+ ...defaults,
84
+ ...config,
85
+ };
86
+ sanitized.showOnAllPages =
87
+ config.showOnAllPages === undefined ? defaults.showOnAllPages : Boolean(config.showOnAllPages);
88
+ sanitized.includeUrls = sanitizeUrlPatterns(config.includeUrls);
89
+ sanitized.excludeUrls = sanitizeUrlPatterns(config.excludeUrls);
90
+ for (const blockName of styleBlockNames) {
91
+ const section = configs_1.RECOMMENDATION_STYLE_CONFIGS[blockName];
92
+ const base = section.fields.reduce((acc, field) => {
93
+ acc[field.key] = field.default;
94
+ return acc;
95
+ }, {});
96
+ const input = isRecord(config[blockName]) ? config[blockName] : {};
97
+ const allowed = new Set(section.fields.map((field) => field.key));
98
+ for (const [key, value] of Object.entries(input)) {
99
+ if (allowed.has(key)) {
100
+ base[key] = value;
101
+ }
102
+ }
103
+ sanitized[blockName] = base;
104
+ }
105
+ return sanitized;
106
+ }
107
+ //# sourceMappingURL=validators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../../../../../src/modules/contract/vendor/recommendation-contract/validators.ts"],"names":[],"mappings":"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"}