@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
@@ -0,0 +1,404 @@
1
+ "use strict";
2
+ // AUTO-GENERATED FROM packages/search-contract/src/configs.ts. DO NOT EDIT DIRECTLY.
3
+ /**
4
+ * Search Configuration Library
5
+ * Templates, positions, and style configurations for search module
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.SUGGESTION_STYLE_CONFIGS = exports.SUGGESTION_STYLE_SECTIONS = exports.SUGGESTION_SOURCES = exports.SHADOW_VALUES = exports.DEFAULT_ANIMATION_CONFIG = exports.DEFAULT_RESULT_ITEM_CONFIG = exports.DEFAULT_CATEGORY_CONFIG = exports.SEARCH_STYLE_CONFIGS = exports.STYLE_CONFIGS = exports.TRANSLATION_SECTION = exports.UNIVERSAL_STYLE_SECTIONS = exports.CATEGORY_DISPLAY_MODES = exports.SEARCH_FLOATING_POSITIONS = exports.SEARCH_POSITIONS = void 0;
9
+ exports.getDefaultSearchStyles = getDefaultSearchStyles;
10
+ exports.getDefaultSearchConfig = getDefaultSearchConfig;
11
+ exports.getShadowValue = getShadowValue;
12
+ exports.getPositionConfig = getPositionConfig;
13
+ exports.getDefaultSuggestionStyles = getDefaultSuggestionStyles;
14
+ exports.SEARCH_POSITIONS = [
15
+ {
16
+ value: 'inline',
17
+ label: 'Inline',
18
+ description: 'Insert search box at a specific location using CSS selector',
19
+ icon: 'LayoutTemplate',
20
+ requiresSelector: true,
21
+ },
22
+ {
23
+ value: 'modal',
24
+ label: 'Modal Popup',
25
+ description: 'Centered popup overlay triggered by button or hotkey',
26
+ icon: 'Maximize2',
27
+ },
28
+ {
29
+ value: 'floating',
30
+ label: 'Floating Button',
31
+ description: 'Floating search button in corner of screen',
32
+ icon: 'Circle',
33
+ },
34
+ {
35
+ value: 'sidebar',
36
+ label: 'Sidebar Panel',
37
+ description: 'Full-height sidebar panel slides in from side',
38
+ icon: 'PanelRight',
39
+ },
40
+ {
41
+ value: 'fullscreen',
42
+ label: 'Fullscreen',
43
+ description: 'Full-page overlay with large search experience',
44
+ icon: 'Maximize',
45
+ },
46
+ ];
47
+ exports.SEARCH_FLOATING_POSITIONS = [
48
+ { value: 'bottom-right', label: 'Bottom Right' },
49
+ { value: 'bottom-left', label: 'Bottom Left' },
50
+ { value: 'top-right', label: 'Top Right' },
51
+ { value: 'top-left', label: 'Top Left' },
52
+ ];
53
+ // ===========================================
54
+ // CATEGORY DISPLAY OPTIONS
55
+ // ===========================================
56
+ exports.CATEGORY_DISPLAY_MODES = [
57
+ { value: 'none', label: 'None', description: 'No category filters shown' },
58
+ { value: 'chips', label: 'Filter Chips', description: 'Horizontal chips above results' },
59
+ { value: 'sidebar', label: 'Sidebar', description: 'Category tree in left sidebar' },
60
+ { value: 'dropdown', label: 'Dropdown', description: 'Category dropdown selector' },
61
+ ];
62
+ // ===========================================
63
+ // STYLE CONFIGURATIONS PER TEMPLATE
64
+ // ===========================================
65
+ // ===========================================
66
+ // UNIVERSAL STYLE CONFIGURATION
67
+ // ===========================================
68
+ exports.UNIVERSAL_STYLE_SECTIONS = [
69
+ {
70
+ id: 'colors',
71
+ title: 'Colors',
72
+ icon: 'Palette',
73
+ fields: [
74
+ { key: 'backgroundColor', label: 'Background', type: 'color', default: '#ffffff' },
75
+ { key: 'textColor', label: 'Text Color', type: 'color', default: '#1f2937' },
76
+ { key: 'accentColor', label: 'Accent Color', type: 'color', default: '#6366f1' },
77
+ { key: 'borderColor', label: 'Border Color', type: 'color', default: '#e5e7eb' },
78
+ { key: 'gradientStart', label: 'Gradient Start', type: 'color', default: '#6366f1' },
79
+ { key: 'gradientEnd', label: 'Gradient End', type: 'color', default: '#8b5cf6' },
80
+ { key: 'overlayColor', label: 'Overlay Color', type: 'color', default: 'rgba(0,0,0,0.4)' },
81
+ { key: 'overlayOpacity', label: 'Overlay Opacity %', type: 'range', min: 0, max: 100, default: 50 },
82
+ ],
83
+ },
84
+ {
85
+ id: 'input',
86
+ title: 'Search Input',
87
+ icon: 'Search',
88
+ fields: [
89
+ { key: 'inputBg', label: 'Input Background', type: 'color', default: '#f9fafb' },
90
+ { key: 'inputBorder', label: 'Input Border', type: 'color', default: '#d1d5db' },
91
+ { key: 'inputFocus', label: 'Input Focus', type: 'color', default: '#6366f1' },
92
+ { key: 'inputBorderWidth', label: 'Border Width', type: 'select', options: ['0px', '1px', '2px', '3px', '4px'], default: '2px' },
93
+ { key: 'inputRadius', label: 'Input Radius', type: 'select', options: ['0px', '4px', '8px', '12px', '24px', '9999px'], default: '8px' },
94
+ { key: 'inputHeight', label: 'Input Height', type: 'select', options: ['36px', '40px', '44px', '48px', '52px'], default: '44px' },
95
+ { key: 'inputShadow', label: 'Input Shadow', type: 'select', options: ['none', 'sm', 'md', 'lg'], default: 'sm' },
96
+ { key: 'inputIcon', label: 'Show Icon', type: 'toggle', default: true },
97
+ { key: 'inputSize', label: 'Input Styles', type: 'select', options: ['normal', 'large', 'xlarge'], default: 'normal' },
98
+ ],
99
+ },
100
+ {
101
+ id: 'results',
102
+ title: 'Results Container',
103
+ icon: 'Layout',
104
+ fields: [
105
+ { key: 'maxHeight', label: 'Max Height', type: 'select', options: ['auto', '300px', '400px', '500px', '600px', '80vh'], default: '400px' },
106
+ { key: 'containerRadius', label: 'Container Radius', type: 'select', options: ['0px', '8px', '12px', '16px', '24px'], default: '12px' },
107
+ { key: 'containerShadow', label: 'Container Shadow', type: 'select', options: ['none', 'sm', 'md', 'lg', 'xl', '2xl'], default: 'lg' },
108
+ { key: 'containerBorder', label: 'Container Border', type: 'toggle', default: true },
109
+ { key: 'sidebarWidth', label: 'Sidebar Width (if applicable)', type: 'select', options: ['300px', '400px', '480px', '600px'], default: '480px' },
110
+ { key: 'sidebarBg', label: 'Sidebar Background', type: 'color', default: '#ffffff' },
111
+ ],
112
+ },
113
+ {
114
+ id: 'items',
115
+ title: 'Result Items',
116
+ icon: 'Grid',
117
+ fields: [
118
+ { key: 'gridColumns', label: 'Grid Columns', type: 'select', options: ['1', '2', '3', '4'], default: '1' },
119
+ { key: 'itemGap', label: 'Item Gap', type: 'select', options: ['0px', '4px', '8px', '12px', '16px', '20px', '24px'], default: '12px' },
120
+ { key: 'itemPadding', label: 'Item Padding', type: 'select', options: ['8px', '12px', '16px', '20px', '24px'], default: '12px' },
121
+ { key: 'itemRadius', label: 'Item Radius', type: 'select', options: ['0px', '4px', '8px', '12px', '16px'], default: '8px' },
122
+ { key: 'itemHoverBg', label: 'Hover Background', type: 'color', default: '#f9fafb' },
123
+ { key: 'itemShadow', label: 'Item Shadow', type: 'select', options: ['none', 'sm', 'md', 'lg'], default: 'none' },
124
+ { key: 'itemHoverShadow', label: 'Hover Shadow', type: 'select', options: ['none', 'sm', 'md', 'lg', 'xl'], default: 'none' },
125
+ { key: 'resultDivider', label: 'Show Dividers', type: 'toggle', default: true },
126
+ { key: 'itemHoverScale', label: 'Hover Scale Effect', type: 'toggle', default: false },
127
+ { key: 'cardAspect', label: 'Card Aspect Ratio', type: 'select', options: ['auto', '1/1', '4/3', '3/4', '16/9'], default: 'auto' },
128
+ ],
129
+ },
130
+ {
131
+ id: 'images',
132
+ title: 'Images',
133
+ icon: 'Image',
134
+ fields: [
135
+ { key: 'imageSize', label: 'Image Size', type: 'select', options: ['32px', '40px', '48px', '56px', '64px', '72px', '80px', '100%'], default: '56px' },
136
+ { key: 'imageHeight', label: 'Image Height (Fixed)', type: 'select', options: ['auto', '100px', '120px', '150px', '180px', '200px'], default: 'auto' },
137
+ { key: 'imageRadius', label: 'Image Radius', type: 'select', options: ['0px', '4px', '8px', '12px', '50%'], default: '8px' },
138
+ { key: 'imageObjectFit', label: 'Object Fit', type: 'select', options: ['cover', 'contain', 'fill'], default: 'cover' },
139
+ { key: 'imageOverlay', label: 'Dark Overlay', type: 'toggle', default: false },
140
+ { key: 'imageBorder', label: 'Image Border', type: 'toggle', default: false },
141
+ ],
142
+ },
143
+ {
144
+ id: 'typography',
145
+ title: 'Typography',
146
+ icon: 'Type',
147
+ fields: [
148
+ { key: 'fontFamily', label: 'Font Family', type: 'font', default: 'inherit' },
149
+ { key: 'titleSize', label: 'Title Size', type: 'select', options: ['12px', '13px', '14px', '15px', '16px', '18px', '20px', '24px'], default: '14px' },
150
+ { key: 'titleWeight', label: 'Title Weight', type: 'select', options: ['normal', 'medium', 'semibold', 'bold'], default: 'medium' },
151
+ { key: 'descSize', label: 'Description Size', type: 'select', options: ['10px', '11px', '12px', '13px', '14px'], default: '12px' },
152
+ { key: 'priceSize', label: 'Price Size', type: 'select', options: ['12px', '13px', '14px', '15px', '16px', '18px', '20px'], default: '14px' },
153
+ { key: 'priceColor', label: 'Price Color', type: 'color', default: '#059669' },
154
+ { key: 'oldPriceColor', label: 'Old Price Color', type: 'color', default: '#9ca3af' },
155
+ { key: 'showOverlay', label: 'Text Overlay on Image', type: 'toggle', default: false },
156
+ { key: 'overlayPosition', label: 'Overlay Position', type: 'select', options: ['bottom', 'center', 'full'], default: 'bottom' },
157
+ ],
158
+ },
159
+ {
160
+ id: 'badges',
161
+ title: 'Badges & Highlights',
162
+ icon: 'Tag',
163
+ fields: [
164
+ { key: 'discountBadgeBg', label: 'Discount Badge Bg', type: 'color', default: '#dc2626' },
165
+ { key: 'discountBadgeText', label: 'Discount Badge Text', type: 'color', default: '#ffffff' },
166
+ { key: 'badgeRadius', label: 'Badge Radius', type: 'select', options: ['0px', '2px', '4px', '8px', '9999px'], default: '4px' },
167
+ { key: 'highlightBg', label: 'Highlight Match Bg', type: 'color', default: '#fef08a' },
168
+ { key: 'highlightText', label: 'Highlight Match Text', type: 'color', default: '#1f2937' },
169
+ { key: 'highlightRadius', label: 'Highlight Radius', type: 'select', options: ['0px', '2px', '4px'], default: '2px' },
170
+ { key: 'showDiscountBadge', label: 'Show Discount', type: 'toggle', default: true },
171
+ { key: 'showStockBadge', label: 'Show Stock', type: 'toggle', default: false },
172
+ ],
173
+ },
174
+ {
175
+ id: 'animation',
176
+ title: 'Animations',
177
+ icon: 'Zap',
178
+ fields: [
179
+ { key: 'animationType', label: 'Animation Type', type: 'select', options: ['none', 'fade', 'slide', 'scale'], default: 'fade' },
180
+ { key: 'transitionDuration', label: 'Duration', type: 'select', options: ['100ms', '200ms', '300ms', '400ms'], default: '200ms' },
181
+ { key: 'staggerDelay', label: 'Stagger Delay', type: 'select', options: ['0ms', '30ms', '50ms', '80ms'], default: '30ms' },
182
+ ],
183
+ },
184
+ {
185
+ id: 'category_style',
186
+ title: 'Category Styling',
187
+ icon: 'FolderTree',
188
+ fields: [
189
+ { key: 'categoryActiveBg', label: 'Active Category Bg', type: 'color', default: '#6366f1' },
190
+ { key: 'categoryActiveText', label: 'Active Category Text', type: 'color', default: '#ffffff' },
191
+ { key: 'categoryPadding', label: 'Category Padding', type: 'select', options: ['8px', '12px', '16px'], default: '12px' },
192
+ { key: 'categorySidebarWidth', label: 'Sidebar Width', type: 'select', options: ['120px', '150px', '180px', '200px', '250px'], default: '120px' },
193
+ { key: 'categoryNaming', label: 'Category Naming', type: 'select', options: ['full_path', 'last_part', 'first_part'], default: 'full_path' },
194
+ { key: 'categoryRadius', label: 'Category Radius', type: 'select', options: ['4px', '8px', '12px'], default: '8px' },
195
+ ]
196
+ },
197
+ {
198
+ id: 'localization',
199
+ title: 'Currency & Localization',
200
+ icon: 'Languages',
201
+ fields: [
202
+ { key: 'currencySymbol', label: 'Currency Symbol', type: 'text', default: '$', placeholder: '$ or €' },
203
+ { key: 'currencyPosition', label: 'Currency Position', type: 'select', options: ['left', 'right', 'left-space', 'right-space'], default: 'left' },
204
+ { key: 'priceDecimals', label: 'Decimals', type: 'select', options: ['0', '2'], default: '2' },
205
+ { key: 'decimalSeparator', label: 'Decimal Separator', type: 'text', default: '.', placeholder: '.' },
206
+ { key: 'thousandSeparator', label: 'Thousand Separator', type: 'text', default: ',', placeholder: ',' },
207
+ ]
208
+ },
209
+ {
210
+ id: 'custom_css',
211
+ title: 'Custom CSS',
212
+ icon: 'Code',
213
+ fields: [
214
+ { key: 'customCss', label: 'Custom CSS', type: 'textarea', default: '', placeholder: '.ws-search-item { background: red; }' },
215
+ ]
216
+ },
217
+ ];
218
+ exports.TRANSLATION_SECTION = {
219
+ id: 'translations',
220
+ title: 'Text & Translations',
221
+ icon: 'Languages',
222
+ fields: [
223
+ { key: 'textSearchHeader', label: 'Header Title', type: 'text', default: 'Search', placeholder: 'Search' },
224
+ { key: 'textPlaceholder', label: 'Input Placeholder', type: 'text', default: 'Search products...', placeholder: 'Search products...' },
225
+ { key: 'textLoading', label: 'Loading Text', type: 'text', default: 'Searching...', placeholder: 'Searching...' },
226
+ { key: 'textEmpty', label: 'No Results Text', type: 'text', default: 'No products found', placeholder: 'No products found' },
227
+ { key: 'textInStock', label: 'In Stock Text', type: 'text', default: 'In Stock', placeholder: 'In Stock' },
228
+ { key: 'textOutOfStock', label: 'Out of Stock Text', type: 'text', default: 'Out of Stock', placeholder: 'Out of Stock' },
229
+ { key: 'textCategories', label: 'Categories Title', type: 'text', default: 'Categories', placeholder: 'Categories' },
230
+ { key: 'textAll', label: '"All" Label', type: 'text', default: 'All', placeholder: 'All' },
231
+ { key: 'textFooter', label: 'Footer Text', type: 'text', default: '{total} products found in {time}ms', placeholder: '{total} products found in {time}ms' },
232
+ ]
233
+ };
234
+ exports.STYLE_CONFIGS = exports.UNIVERSAL_STYLE_SECTIONS;
235
+ exports.SEARCH_STYLE_CONFIGS = exports.UNIVERSAL_STYLE_SECTIONS;
236
+ // ===========================================
237
+ // DEFAULT CONFIGURATIONS
238
+ // ===========================================
239
+ exports.DEFAULT_CATEGORY_CONFIG = {
240
+ displayMode: 'none',
241
+ showCount: true,
242
+ maxVisible: 10,
243
+ expandable: true,
244
+ hierarchical: false,
245
+ };
246
+ exports.DEFAULT_RESULT_ITEM_CONFIG = {
247
+ layout: 'list',
248
+ showImage: true,
249
+ showDescription: false,
250
+ showPrice: true,
251
+ showOldPrice: true,
252
+ showDiscount: true,
253
+ showStock: false,
254
+ showCategory: false,
255
+ showRating: false,
256
+ imageSize: 'medium',
257
+ imagePosition: 'left',
258
+ truncateTitle: 60,
259
+ truncateDescription: 100,
260
+ };
261
+ exports.DEFAULT_ANIMATION_CONFIG = {
262
+ type: 'fade',
263
+ duration: 200,
264
+ easing: 'ease-out',
265
+ };
266
+ // Get default styles
267
+ function getDefaultSearchStyles() {
268
+ const sections = exports.SEARCH_STYLE_CONFIGS;
269
+ const defaults = {};
270
+ sections.forEach((section) => {
271
+ section.fields.forEach((field) => {
272
+ defaults[field.key] = field.default;
273
+ });
274
+ });
275
+ return defaults;
276
+ }
277
+ // Get full default config
278
+ function getDefaultSearchConfig() {
279
+ return {
280
+ isEnabled: false,
281
+ styles: getDefaultSearchStyles(),
282
+ searchOnFocus: false,
283
+ keepOpen: false,
284
+ mobileFullscreen: true,
285
+ };
286
+ }
287
+ // Shadow values (shared with widget-config)
288
+ exports.SHADOW_VALUES = {
289
+ none: 'none',
290
+ sm: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',
291
+ md: '0 4px 6px -1px rgba(0, 0, 0, 0.1)',
292
+ lg: '0 10px 15px -3px rgba(0, 0, 0, 0.1)',
293
+ xl: '0 20px 25px -5px rgba(0, 0, 0, 0.1)',
294
+ '2xl': '0 25px 50px -12px rgba(0, 0, 0, 0.25)',
295
+ };
296
+ // Helper to get shadow CSS value
297
+ function getShadowValue(shadow) {
298
+ return exports.SHADOW_VALUES[shadow] || 'none';
299
+ }
300
+ // Get position config by value
301
+ function getPositionConfig(position) {
302
+ return exports.SEARCH_POSITIONS.find(p => p.value === position);
303
+ }
304
+ // ========== NEW: Suggestion Source Options ==========
305
+ exports.SUGGESTION_SOURCES = [
306
+ { value: 'manual', label: 'Manual Only', description: 'Only show items you manually add' },
307
+ { value: 'dynamic', label: 'Dynamic Only', description: 'Automatically show based on search analytics' },
308
+ { value: 'both', label: 'Both', description: 'Show both manual and dynamic items' },
309
+ ];
310
+ // ========== Suggestion Style Configuration ==========
311
+ exports.SUGGESTION_STYLE_SECTIONS = [
312
+ {
313
+ id: 'suggestion_general',
314
+ title: 'General',
315
+ icon: 'Layout',
316
+ fields: [
317
+ { key: 'sectionHeaderColor', label: 'Header Color', type: 'color', default: '#9ca3af' },
318
+ { key: 'sectionHeaderSize', label: 'Header Size', type: 'select', options: ['10px', '11px', '12px', '13px'], default: '11px' },
319
+ { key: 'sectionHeaderWeight', label: 'Header Weight', type: 'select', options: ['400', '500', '600', '700'], default: '600' },
320
+ { key: 'sectionSpacing', label: 'Section Spacing', type: 'select', options: ['12px', '16px', '20px', '24px'], default: '16px' },
321
+ { key: 'sectionDivider', label: 'Show Dividers', type: 'toggle', default: true },
322
+ { key: 'sectionDividerColor', label: 'Divider Color', type: 'color', default: '#f3f4f6' },
323
+ ],
324
+ },
325
+ {
326
+ id: 'suggestion_recent',
327
+ title: 'Recent Searches',
328
+ icon: 'History',
329
+ fields: [
330
+ { key: 'recentIconColor', label: 'Icon Color', type: 'color', default: '#d1d5db' },
331
+ { key: 'recentTextColor', label: 'Text Color', type: 'color', default: '#374151' },
332
+ { key: 'recentHoverBg', label: 'Hover Background', type: 'color', default: '#f8fafc' },
333
+ { key: 'recentClearColor', label: 'Clear Button Color', type: 'color', default: '#6366f1' },
334
+ { key: 'textRecentSearches', label: 'Section Title', type: 'text', default: 'Recent Searches', placeholder: 'Recent Searches' },
335
+ { key: 'textClearRecent', label: 'Clear Button Text', type: 'text', default: 'Clear', placeholder: 'Clear' },
336
+ ],
337
+ },
338
+ {
339
+ id: 'suggestion_popular_searches',
340
+ title: 'Popular Searches',
341
+ icon: 'TrendingUp',
342
+ fields: [
343
+ { key: 'popularSearchIconColor', label: 'Icon Color', type: 'color', default: '#fbbf24' },
344
+ { key: 'popularSearchTextColor', label: 'Text Color', type: 'color', default: '#374151' },
345
+ { key: 'popularSearchHoverBg', label: 'Hover Background', type: 'color', default: '#f8fafc' },
346
+ { key: 'textPopularSearches', label: 'Section Title', type: 'text', default: 'Popular Searches', placeholder: 'Popular Searches' },
347
+ ],
348
+ },
349
+ {
350
+ id: 'suggestion_categories',
351
+ title: 'Popular Categories',
352
+ icon: 'Tags',
353
+ fields: [
354
+ { key: 'categoryCardBg', label: 'Card Background', type: 'color', default: '#f8fafc' },
355
+ { key: 'categoryCardBorder', label: 'Card Border', type: 'color', default: 'transparent' },
356
+ { key: 'categoryCardRadius', label: 'Card Radius', type: 'select', options: ['8px', '10px', '12px', '16px'], default: '12px' },
357
+ { key: 'categoryCardHoverBg', label: 'Card Hover Bg', type: 'color', default: '#f1f5f9' },
358
+ { key: 'categoryCardHoverBorder', label: 'Card Hover Border', type: 'color', default: '#6366f1' },
359
+ { key: 'categoryImageSize', label: 'Image Size', type: 'select', options: ['36px', '40px', '48px', '56px', '64px'], default: '48px' },
360
+ { key: 'categoryImageRadius', label: 'Image Radius', type: 'select', options: ['6px', '8px', '10px', '12px', '50%'], default: '10px' },
361
+ { key: 'categoryImageBg', label: 'Image Background', type: 'color', default: '#e2e8f0' },
362
+ { key: 'categoryNameColor', label: 'Name Color', type: 'color', default: '#475569' },
363
+ { key: 'categoryNameSize', label: 'Name Size', type: 'select', options: ['11px', '12px', '13px', '14px'], default: '12px' },
364
+ { key: 'categoryColumns', label: 'Columns', type: 'select', options: ['auto', '2', '3', '4', '5', '6'], default: 'auto' },
365
+ { key: 'categoryGap', label: 'Gap', type: 'select', options: ['8px', '10px', '12px', '16px'], default: '10px' },
366
+ { key: 'textPopularCategories', label: 'Section Title', type: 'text', default: 'Popular Categories', placeholder: 'Popular Categories' },
367
+ ],
368
+ },
369
+ {
370
+ id: 'suggestion_products',
371
+ title: 'Popular Products',
372
+ icon: 'Package',
373
+ fields: [
374
+ { key: 'productCardBg', label: 'Card Background', type: 'color', default: '#ffffff' },
375
+ { key: 'productCardBorder', label: 'Card Border', type: 'color', default: '#e2e8f0' },
376
+ { key: 'productCardRadius', label: 'Card Radius', type: 'select', options: ['8px', '10px', '12px', '16px'], default: '12px' },
377
+ { key: 'productCardHoverBorder', label: 'Hover Border', type: 'color', default: '#6366f1' },
378
+ { key: 'productCardShadow', label: 'Card Shadow', type: 'select', options: ['none', '0 1px 3px rgba(0,0,0,0.04)', '0 2px 8px rgba(0,0,0,0.08)', '0 4px 12px rgba(0,0,0,0.1)'], default: '0 1px 3px rgba(0,0,0,0.04)' },
379
+ { key: 'productCardHoverShadow', label: 'Hover Shadow', type: 'select', options: ['none', '0 4px 12px rgba(0,0,0,0.08)', '0 8px 24px rgba(0,0,0,0.12)', '0 12px 32px rgba(0,0,0,0.15)'], default: '0 8px 24px rgba(0,0,0,0.12)' },
380
+ { key: 'productImageHeight', label: 'Image Height', type: 'select', options: ['80px', '100px', '120px', '140px'], default: '100px' },
381
+ { key: 'productImageBg', label: 'Image Background', type: 'color', default: '#f8fafc' },
382
+ { key: 'productNameColor', label: 'Name Color', type: 'color', default: '#1e293b' },
383
+ { key: 'productNameSize', label: 'Name Size', type: 'select', options: ['12px', '13px', '14px', '15px'], default: '13px' },
384
+ { key: 'productPriceColor', label: 'Price Color', type: 'color', default: '#059669' },
385
+ { key: 'productPriceSize', label: 'Price Size', type: 'select', options: ['13px', '14px', '15px', '16px'], default: '15px' },
386
+ { key: 'productOldPriceColor', label: 'Old Price Color', type: 'color', default: '#9ca3af' },
387
+ { key: 'productColumns', label: 'Columns', type: 'select', options: ['auto', '2', '3', '4'], default: 'auto' },
388
+ { key: 'productGap', label: 'Gap', type: 'select', options: ['8px', '12px', '16px', '20px'], default: '12px' },
389
+ { key: 'textPopularProducts', label: 'Section Title', type: 'text', default: 'Popular Products', placeholder: 'Popular Products' },
390
+ ],
391
+ },
392
+ ];
393
+ exports.SUGGESTION_STYLE_CONFIGS = exports.SUGGESTION_STYLE_SECTIONS;
394
+ // Get default suggestion styles
395
+ function getDefaultSuggestionStyles() {
396
+ const defaults = {};
397
+ exports.SUGGESTION_STYLE_SECTIONS.forEach((section) => {
398
+ section.fields.forEach((field) => {
399
+ defaults[field.key] = field.default;
400
+ });
401
+ });
402
+ return defaults;
403
+ }
404
+ //# sourceMappingURL=configs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configs.js","sourceRoot":"","sources":["../../../../../../../src/modules/contract/vendor/search-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/search-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/search-contract/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mFAAmF;AACnF,0CAAwB;AACxB,4CAA0B;AAC1B,+CAA6B"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ // AUTO-GENERATED FROM packages/search-contract/src/types.ts. DO NOT EDIT DIRECTLY.
3
+ /**
4
+ * Search Configuration Type Definitions
5
+ * Single source of truth for all search configuration types
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../../src/modules/contract/vendor/search-contract/types.ts"],"names":[],"mappings":";AAAA,mFAAmF;AACnF;;;GAGG"}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAllowedSearchStyleKeys = getAllowedSearchStyleKeys;
4
+ exports.getAllowedSuggestionStyleKeys = getAllowedSuggestionStyleKeys;
5
+ exports.validateSearchStyles = validateSearchStyles;
6
+ exports.sanitizeSearchStyles = sanitizeSearchStyles;
7
+ exports.sanitizeSuggestionStyles = sanitizeSuggestionStyles;
8
+ exports.validateSearchConfig = validateSearchConfig;
9
+ // AUTO-GENERATED FROM packages/search-contract/src/validators.ts. DO NOT EDIT DIRECTLY.
10
+ const configs_1 = require("./configs");
11
+ const RESULT_LAYOUTS = ['list', 'grid', 'compact', 'large'];
12
+ const IMAGE_SIZES = new Set(['small', 'medium', 'large']);
13
+ const IMAGE_POSITIONS = new Set(['left', 'top', 'right']);
14
+ const ANIMATION_TYPES = new Set(['none', 'fade', 'slide', 'scale']);
15
+ const SEARCH_POSITION_SET = new Set(configs_1.SEARCH_POSITIONS.map((position) => position.value));
16
+ const SEARCH_FLOATING_POSITION_SET = new Set(configs_1.SEARCH_FLOATING_POSITIONS.map((position) => position.value));
17
+ const CATEGORY_DISPLAY_MODE_SET = new Set(configs_1.CATEGORY_DISPLAY_MODES.map((mode) => mode.value));
18
+ function isRecord(value) {
19
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
20
+ }
21
+ function getAllowedSearchStyleKeys() {
22
+ return configs_1.SEARCH_STYLE_CONFIGS.flatMap((section) => section.fields.map((field) => field.key));
23
+ }
24
+ function getAllowedSuggestionStyleKeys() {
25
+ return configs_1.SUGGESTION_STYLE_CONFIGS.flatMap((section) => section.fields.map((field) => field.key));
26
+ }
27
+ function validateSearchStyles(styles, suggestionStyles) {
28
+ if (styles !== undefined) {
29
+ if (!isRecord(styles)) {
30
+ return { valid: false, message: 'invalid search style payload' };
31
+ }
32
+ const allowedStyleKeys = new Set(getAllowedSearchStyleKeys());
33
+ const invalidStyleKeys = Object.keys(styles).filter((key) => !allowedStyleKeys.has(key));
34
+ if (invalidStyleKeys.length > 0) {
35
+ return {
36
+ valid: false,
37
+ message: `invalid style key: ${invalidStyleKeys.join(', ')}`,
38
+ invalidKeys: invalidStyleKeys,
39
+ };
40
+ }
41
+ }
42
+ if (suggestionStyles !== undefined) {
43
+ if (!isRecord(suggestionStyles)) {
44
+ return { valid: false, message: 'invalid suggestion style payload' };
45
+ }
46
+ const allowedSuggestionStyleKeys = new Set(getAllowedSuggestionStyleKeys());
47
+ const invalidSuggestionStyleKeys = Object.keys(suggestionStyles).filter((key) => !allowedSuggestionStyleKeys.has(key));
48
+ if (invalidSuggestionStyleKeys.length > 0) {
49
+ return {
50
+ valid: false,
51
+ message: `invalid style key: ${invalidSuggestionStyleKeys.join(', ')}`,
52
+ invalidKeys: invalidSuggestionStyleKeys,
53
+ };
54
+ }
55
+ }
56
+ return { valid: true };
57
+ }
58
+ function sanitizeSearchStyles(styles) {
59
+ const defaults = (0, configs_1.getDefaultSearchStyles)();
60
+ if (!isRecord(styles)) {
61
+ return defaults;
62
+ }
63
+ const allowed = new Set(getAllowedSearchStyleKeys());
64
+ const sanitized = { ...defaults };
65
+ for (const [styleKey, styleValue] of Object.entries(styles)) {
66
+ if (allowed.has(styleKey)) {
67
+ sanitized[styleKey] = styleValue;
68
+ }
69
+ }
70
+ return sanitized;
71
+ }
72
+ function sanitizeSuggestionStyles(styles) {
73
+ const defaults = (0, configs_1.getDefaultSuggestionStyles)();
74
+ if (!isRecord(styles)) {
75
+ return defaults;
76
+ }
77
+ const allowed = new Set(getAllowedSuggestionStyleKeys());
78
+ const sanitized = { ...defaults };
79
+ for (const [styleKey, styleValue] of Object.entries(styles)) {
80
+ if (allowed.has(styleKey)) {
81
+ sanitized[styleKey] = styleValue;
82
+ }
83
+ }
84
+ return sanitized;
85
+ }
86
+ function validateSearchConfig(config) {
87
+ if (config.position !== undefined) {
88
+ if (typeof config.position !== 'string' || !SEARCH_POSITION_SET.has(config.position)) {
89
+ return { valid: false, message: 'invalid search position' };
90
+ }
91
+ }
92
+ if (config.floatingPosition !== undefined) {
93
+ if (typeof config.floatingPosition !== 'string' ||
94
+ !SEARCH_FLOATING_POSITION_SET.has(config.floatingPosition)) {
95
+ return { valid: false, message: 'invalid floating position' };
96
+ }
97
+ }
98
+ if (config.categoryDisplayMode !== undefined) {
99
+ if (typeof config.categoryDisplayMode !== 'string' ||
100
+ !CATEGORY_DISPLAY_MODE_SET.has(config.categoryDisplayMode)) {
101
+ return { valid: false, message: 'invalid category display mode' };
102
+ }
103
+ }
104
+ if (config.resultLayout !== undefined) {
105
+ if (typeof config.resultLayout !== 'string' || !RESULT_LAYOUTS.includes(config.resultLayout)) {
106
+ return { valid: false, message: 'invalid result layout' };
107
+ }
108
+ }
109
+ if (config.imageSize !== undefined) {
110
+ if (typeof config.imageSize !== 'string' || !IMAGE_SIZES.has(config.imageSize)) {
111
+ return { valid: false, message: 'invalid image size' };
112
+ }
113
+ }
114
+ if (config.imagePosition !== undefined) {
115
+ if (typeof config.imagePosition !== 'string' || !IMAGE_POSITIONS.has(config.imagePosition)) {
116
+ return { valid: false, message: 'invalid image position' };
117
+ }
118
+ }
119
+ if (config.animationType !== undefined) {
120
+ if (typeof config.animationType !== 'string' || !ANIMATION_TYPES.has(config.animationType)) {
121
+ return { valid: false, message: 'invalid animation type' };
122
+ }
123
+ }
124
+ return validateSearchStyles(config.stylesJson, config.suggestionStylesJson);
125
+ }
126
+ //# sourceMappingURL=validators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../../../../../src/modules/contract/vendor/search-contract/validators.ts"],"names":[],"mappings":"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"}