@bridgeline-digital/hawksearch-handlebars-ui 5.2.6 → 5.2.7

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 (92) hide show
  1. package/changelog.md +3 -0
  2. package/dist/components/base.component.d.ts +139 -0
  3. package/dist/components/content/content-types/base-content.component.d.ts +9 -0
  4. package/dist/components/content/content-types/custom-content/custom-content.component.d.ts +21 -0
  5. package/dist/components/content/content-types/featured-items-content/featured-items-content.component.d.ts +22 -0
  6. package/dist/components/content/content-types/featured-items-content-item/featured-items-content-item.component.d.ts +39 -0
  7. package/dist/components/content/content-types/image-content/image-content.component.d.ts +22 -0
  8. package/dist/components/content/content-types/index.d.ts +6 -0
  9. package/dist/components/content/content-types/popular-queries-content/popular-queries-content.component.d.ts +22 -0
  10. package/dist/components/content/content-zone/content-zone.component.d.ts +44 -0
  11. package/dist/components/content/index.d.ts +2 -0
  12. package/dist/components/general/date-picker/date-picker.component.d.ts +117 -0
  13. package/dist/components/general/icon/icon.component.d.ts +38 -0
  14. package/dist/components/general/index.d.ts +5 -0
  15. package/dist/components/general/range-slider/range-slider.component.d.ts +54 -0
  16. package/dist/components/general/rating/rating.component.d.ts +39 -0
  17. package/dist/components/general/tooltip/tooltip.component.d.ts +32 -0
  18. package/dist/components/index.d.ts +231 -0
  19. package/dist/components/landing-pages/index.d.ts +1 -0
  20. package/dist/components/landing-pages/landing-page/landing-page.component.d.ts +32 -0
  21. package/dist/components/recommendations/index.d.ts +2 -0
  22. package/dist/components/recommendations/recommendations/recommendations.component.d.ts +87 -0
  23. package/dist/components/recommendations/recommendations-item/recommendations-item.component.d.ts +40 -0
  24. package/dist/components/search/autocomplete/autocomplete.component.d.ts +59 -0
  25. package/dist/components/search/facet-types/base-facet.component.d.ts +44 -0
  26. package/dist/components/search/facet-types/checkbox-list-facet/checkbox-list-facet.component.d.ts +36 -0
  27. package/dist/components/search/facet-types/color-facet/color-facet.component.d.ts +24 -0
  28. package/dist/components/search/facet-types/date-range-facet/date-range-facet.component.d.ts +33 -0
  29. package/dist/components/search/facet-types/index.d.ts +11 -0
  30. package/dist/components/search/facet-types/linked-list-facet/link-list-facet.component.d.ts +24 -0
  31. package/dist/components/search/facet-types/numeric-range-facet/numeric-range-facet.component.d.ts +32 -0
  32. package/dist/components/search/facet-types/range-slider-facet/range-slider-facet.component.d.ts +34 -0
  33. package/dist/components/search/facet-types/recent-searches-facet/recent-searches-facet.component.d.ts +29 -0
  34. package/dist/components/search/facet-types/related-searches-facet/related-searches-facet.component.d.ts +29 -0
  35. package/dist/components/search/facet-types/search-within-facet/search-within-facet.component.d.ts +29 -0
  36. package/dist/components/search/facet-types/size-facet/size-facet.component.d.ts +24 -0
  37. package/dist/components/search/facet-wrapper/facet-wrapper.component.d.ts +47 -0
  38. package/dist/components/search/facets-list/facets-list.component.d.ts +32 -0
  39. package/dist/components/search/index.d.ts +15 -0
  40. package/dist/components/search/modified-query/modified-query.component.d.ts +32 -0
  41. package/dist/components/search/page-size/page-size.component.d.ts +32 -0
  42. package/dist/components/search/pagination/pagination.component.d.ts +43 -0
  43. package/dist/components/search/query-suggestions/query-suggestions.component.d.ts +38 -0
  44. package/dist/components/search/search-field/search-field.component.d.ts +40 -0
  45. package/dist/components/search/search-results/search-results.component.d.ts +34 -0
  46. package/dist/components/search/search-results-item/search-results-item.component.d.ts +38 -0
  47. package/dist/components/search/search-results-list/search-results-list.component.d.ts +23 -0
  48. package/dist/components/search/selected-facets/selected-facets.component.d.ts +31 -0
  49. package/dist/components/search/sorting/sorting.component.d.ts +30 -0
  50. package/dist/components/search/tabs/dist/tabs.component.spec.d.ts +1 -0
  51. package/dist/components/search/tabs/tabs.component.d.ts +30 -0
  52. package/dist/components/variants/index.d.ts +1 -0
  53. package/dist/components/variants/variant-selector/variant-selector.component.d.ts +23 -0
  54. package/dist/configuration/configuration.models.d.ts +609 -0
  55. package/dist/configuration/index.d.ts +4 -0
  56. package/dist/helpers/helpers.d.ts +221 -0
  57. package/dist/helpers/index.d.ts +4 -0
  58. package/dist/index.d.ts +1 -1438
  59. package/dist/index.js +3 -0
  60. package/dist/index.js.LICENSE.txt +28 -0
  61. package/dist/index.js.map +1 -0
  62. package/dist/models/autocomplete.models.d.ts +85 -0
  63. package/dist/models/base.models.d.ts +50 -0
  64. package/dist/models/component.models.d.ts +453 -0
  65. package/dist/models/content.models.d.ts +94 -0
  66. package/dist/models/index.d.ts +11 -0
  67. package/dist/models/raw/index.d.ts +4 -0
  68. package/dist/models/raw/raw-autocomplete.models.d.ts +51 -0
  69. package/dist/models/raw/raw-base.models.d.ts +8 -0
  70. package/dist/models/raw/raw-recommendation.models.d.ts +39 -0
  71. package/dist/models/raw/raw-search.models.d.ts +191 -0
  72. package/dist/models/recommendation.models.d.ts +31 -0
  73. package/dist/models/search.models.d.ts +237 -0
  74. package/dist/models/tracking.models.d.ts +42 -0
  75. package/dist/placeholder.c99b7374b9bf579d0fd0.png +0 -0
  76. package/dist/services/autocomplete.service.d.ts +11 -0
  77. package/dist/services/base.service.d.ts +63 -0
  78. package/dist/services/index.d.ts +8 -0
  79. package/dist/services/recommendations.service.d.ts +10 -0
  80. package/dist/services/search.service.d.ts +53 -0
  81. package/dist/services/tracking.service.d.ts +29 -0
  82. package/dist/styles.65c0ab8e75ac4bcab10e99f66a160664.css +1 -0
  83. package/dist/utilities/colors.d.ts +1 -0
  84. package/dist/utilities/dates.d.ts +4 -0
  85. package/dist/utilities/decodes.d.ts +1 -0
  86. package/dist/utilities/formatters.d.ts +4 -0
  87. package/dist/utilities/index.d.ts +7 -0
  88. package/package.json +1 -1
  89. package/dist/hawksearch-handlebars-ui.cjs +0 -10
  90. package/dist/hawksearch-handlebars-ui.js +0 -11623
  91. package/dist/hawksearch-handlebars-ui.min.js +0 -975
  92. package/dist/hawksearch-handlebars-ui.umd.cjs +0 -10
package/dist/index.d.ts CHANGED
@@ -1,1438 +1 @@
1
- import * as Handlebars_2 from 'handlebars';
2
-
3
- /**
4
- * @category Autocomplete
5
- */
6
- declare interface AutocompleteCategories {
7
- title: string;
8
- results: Array<AutocompleteCategory>;
9
- }
10
-
11
- /**
12
- * @category Autocomplete
13
- */
14
- declare interface AutocompleteCategory {
15
- title: string;
16
- field: string;
17
- value: string;
18
- url: string;
19
- }
20
-
21
- declare interface AutocompleteComponentConfig extends BaseComponentConfig {
22
- }
23
-
24
- /**
25
- * @category Autocomplete
26
- */
27
- declare interface AutocompleteContent {
28
- title: string;
29
- results: Array<AutocompleteContentResult>;
30
- totalRecords: number;
31
- }
32
-
33
- /**
34
- * @category Autocomplete
35
- */
36
- declare interface AutocompleteContentResult {
37
- id: string;
38
- title: string;
39
- url: string;
40
- pinned: boolean;
41
- score: number;
42
- attributes?: Record<string, Array<string>>;
43
- }
44
-
45
- /**
46
- * @category Tracking
47
- */
48
- declare enum AutocompleteItemType {
49
- Search = 1,
50
- Category = 2,
51
- Product = 3,
52
- Content = 4
53
- }
54
-
55
- /**
56
- * @category Autocomplete
57
- */
58
- declare interface AutocompleteProductResult extends Item {
59
- pinned: boolean;
60
- score: number;
61
- }
62
-
63
- /**
64
- * @category Autocomplete
65
- */
66
- declare interface AutocompleteProducts {
67
- title: string;
68
- results: Array<AutocompleteProductResult>;
69
- totalRecords: number;
70
- }
71
-
72
- /**
73
- * @category Autocomplete
74
- */
75
- declare interface AutocompleteQueries {
76
- title: string;
77
- results: Array<AutocompleteQuery>;
78
- }
79
-
80
- /**
81
- * @category Autocomplete
82
- */
83
- declare interface AutocompleteQuery {
84
- query: string;
85
- url: string;
86
- }
87
-
88
- /**
89
- * @category Autocomplete
90
- */
91
- declare interface AutocompleteResponse {
92
- query?: string;
93
- categories: AutocompleteCategories;
94
- content: AutocompleteContent;
95
- products: AutocompleteProducts;
96
- queries: AutocompleteQueries;
97
- contentSuggestedQueries: AutocompleteQueries;
98
- productSuggestedQueries: AutocompleteQueries;
99
- totalRecords: number;
100
- viewAllText: string;
101
- }
102
-
103
- declare class AutocompleteService extends BaseService {
104
- protected baseUrl: string;
105
- private decodeQuery;
106
- query(query?: string): Promise<AutocompleteResponse>;
107
- private executeAutocomplete;
108
- private convertResponse;
109
- bindComponent(autocompleteResponse: AutocompleteResponse): void;
110
- }
111
-
112
- declare interface BaseComponentConfig {
113
- /**
114
- * Specifies whether the component should be rendered in the [Shadow DOM](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_shadow_DOM). This is highly recommended to avoid CSS conflicts.
115
- *
116
- * #### Default Value
117
- * `true`
118
- */
119
- shadowDom?: boolean;
120
- /**
121
- * Specifies a custom template to be used instead of the default template.
122
- *
123
- * *For more information, see {@link Components}.*
124
- */
125
- template?: string;
126
- }
127
-
128
- declare abstract class BaseService {
129
- protected abstract baseUrl: string;
130
- protected fieldMappings: ServiceFieldMappings;
131
- protected variantFieldMappings: ServiceVariantFieldMappings;
132
- queryStringParams: {
133
- disableSpellcheck: string;
134
- page: string;
135
- pageSize: string;
136
- query: string;
137
- searchWithin: string;
138
- sort: string;
139
- requestType: string;
140
- };
141
- searchUrl: string;
142
- protected get onSearchPage(): boolean;
143
- constructor();
144
- protected httpPost<T>(relativeUrl: string, body?: any, customHeaders?: any, isAbsoluteUrl?: boolean): Promise<T>;
145
- private getHeaders;
146
- private getFieldMappings;
147
- protected getVisitorId(): string;
148
- protected getVisitId(): string;
149
- protected generateGuid(): string;
150
- protected stripHtml(input: string): string;
151
- protected getValue(data: object, fieldMappings: Array<string>): Array<string> | undefined;
152
- protected getString(data: object, fieldMappings: Array<string>, defaultValue?: string): string | undefined;
153
- protected getNumber(data: object, fieldMappings: Array<string>, defaultValue?: number): number | undefined;
154
- protected getUrl(data: object, fieldMappings: Array<string>, prefix?: string | undefined): string | undefined;
155
- protected getFullUrl(url: string | undefined, prefix: string | undefined): string | undefined;
156
- protected getVariants(document: RawVariantDocument): {
157
- items: Array<ItemVariant> | undefined;
158
- selectedItem?: ItemVariant;
159
- };
160
- protected triggerBindEvent<T>(component: keyof HawkSearchComponents, data: T, filter?: string): void;
161
- protected triggerEvent<T>(name: string, data: T): void;
162
- }
163
-
164
- declare interface Breakpoints<TValue> extends Record<DisplayType, TValue> {
165
- }
166
-
167
- declare interface CheckboxListFacetComponentConfig extends BaseComponentConfig {
168
- excludeEnabled?: boolean;
169
- strings?: {
170
- collapse?: string;
171
- exclude?: string;
172
- expand?: string;
173
- include?: string;
174
- showFewer?: string;
175
- showMore?: string;
176
- };
177
- }
178
-
179
- declare interface ColorFacetComponentConfig extends BaseComponentConfig {
180
- excludeEnabled?: boolean;
181
- strings?: {
182
- exclude?: string;
183
- include?: string;
184
- showFewer?: string;
185
- showMore?: string;
186
- };
187
- }
188
-
189
- /**
190
- * @category Search
191
- */
192
- declare interface ContentConfiguration {
193
- breadcrumbs?: string;
194
- customHtml?: string;
195
- heading?: string;
196
- }
197
-
198
- /**
199
- * @category Content
200
- */
201
- declare interface ContentType {
202
- id: number;
203
- campaignId: number;
204
- type: string;
205
- title: string;
206
- trackingEnabled: boolean;
207
- zone: string;
208
- }
209
-
210
- /**
211
- * @category Content
212
- */
213
- declare interface ContentZone {
214
- name: string;
215
- items: Array<ContentZoneItem>;
216
- }
217
-
218
- declare interface ContentZoneComponentConfig extends BaseComponentConfig {
219
- }
220
-
221
- /**
222
- * @category Content
223
- */
224
- declare interface ContentZoneItem {
225
- mobile: ContentType;
226
- tablet: ContentType;
227
- desktop: ContentType;
228
- }
229
-
230
- /**
231
- * @category Content
232
- */
233
- declare interface ContentZones {
234
- [zone: string]: ContentZone;
235
- }
236
-
237
- declare interface ConversationalSearchComponentConfig extends BaseComponentConfig {
238
- query?: string;
239
- strings?: {
240
- placeholder?: string;
241
- resetLabel?: string;
242
- sendLabel?: string;
243
- };
244
- prompt?: {
245
- instructions?: string;
246
- schema?: object;
247
- onRequest?: any;
248
- onResponse?: any;
249
- };
250
- }
251
-
252
- declare class ConversationalService extends BaseService {
253
- protected baseUrl: string;
254
- protected API_KEY: string;
255
- query(query?: MessageItemList, options?: object): Promise<any | void>;
256
- private executeSearch;
257
- private convertResponse;
258
- bindComponents(conversationResponse: any): void;
259
- }
260
-
261
- declare interface CustomContentComponentConfig extends BaseComponentConfig {
262
- }
263
-
264
- /**
265
- * @category Search
266
- */
267
- declare interface DateFacetRange extends FacetRange<Date> {
268
- type: 'date';
269
- }
270
-
271
- declare interface DatePickerComponentConfig extends BaseComponentConfig {
272
- strings?: {
273
- defaultLabel?: string;
274
- next?: string;
275
- previous?: string;
276
- selectMonth?: string;
277
- viewCalendar?: string;
278
- };
279
- }
280
-
281
- declare interface DateRangeFacetComponentConfig extends BaseComponentConfig {
282
- strings?: {
283
- endDate?: string;
284
- startDate?: string;
285
- };
286
- }
287
-
288
- declare type DisplayType = 'mobile' | 'tablet' | 'desktop';
289
-
290
- /**
291
- * @category Tracking
292
- */
293
- declare enum EventType {
294
- PageLoad = 1,
295
- Search = 2,
296
- Click = 3,
297
- AddToCart = 4,
298
- Rate = 5,
299
- Sale = 6,
300
- BannerClick = 7,
301
- BannerImpression = 8,
302
- RecommendationClick = 10,
303
- AutocompleteClick = 11,
304
- AddToCartMultiple = 14
305
- }
306
-
307
- /**
308
- * @category Search
309
- */
310
- declare interface Facet {
311
- id: number;
312
- type: FacetType;
313
- title: string;
314
- values?: Array<FacetValue>;
315
- field: string;
316
- collapsible: boolean;
317
- collapsed?: boolean;
318
- displayCount?: boolean;
319
- range?: DateFacetRange | NumericFacetRange;
320
- scrolling?: FacetScrolling;
321
- search?: FacetSearch;
322
- searchWithin?: string;
323
- tooltip?: string;
324
- truncation?: FacetTruncation;
325
- visible: boolean;
326
- }
327
-
328
- /**
329
- * @category Search
330
- */
331
- declare interface FacetRange<T> {
332
- type: string;
333
- min: T;
334
- max: T;
335
- start: T;
336
- end: T;
337
- }
338
-
339
- /**
340
- * @category Search
341
- */
342
- declare interface FacetScrolling {
343
- height?: number;
344
- threshold: number;
345
- }
346
-
347
- /**
348
- * @category Search
349
- */
350
- declare interface FacetSearch {
351
- threshold: number;
352
- }
353
-
354
- declare interface FacetsListComponentConfig extends BaseComponentConfig {
355
- strings?: {
356
- heading?: string;
357
- };
358
- }
359
-
360
- /**
361
- * @category Search
362
- */
363
- declare interface FacetTruncation {
364
- threshold: number;
365
- }
366
-
367
- /**
368
- * @category Search
369
- */
370
- declare type FacetType = 'checkbox' | 'color' | 'date-range' | 'link' | 'numeric-range' | 'range-slider' | 'recent-searches' | 'related-searches' | 'search' | 'size' | 'tabs' | 'unsupported';
371
-
372
- /**
373
- * @category Search
374
- */
375
- declare interface FacetValue {
376
- title: string;
377
- imageUrl?: string;
378
- value?: string;
379
- color?: FacetValueColor;
380
- count?: number;
381
- level?: number;
382
- selected?: boolean;
383
- excluded?: boolean;
384
- children?: Array<FacetValue>;
385
- }
386
-
387
- /**
388
- * @category Search
389
- */
390
- declare interface FacetValueColor {
391
- name: string;
392
- hex?: string;
393
- imageUrl?: string;
394
- }
395
-
396
- declare interface FacetWrapperComponentConfig extends BaseComponentConfig {
397
- }
398
-
399
- declare interface FeaturedItemsContentComponentConfig extends BaseComponentConfig {
400
- }
401
-
402
- declare interface FeaturedItemsContentItemComponentConfig extends BaseComponentConfig {
403
- strings?: {
404
- sale?: string;
405
- };
406
- }
407
-
408
- declare interface FieldMappings {
409
- /**
410
- * #### Default Value
411
- * `['description', 'longdescription']`
412
- */
413
- description?: string | Array<string>;
414
- /**
415
- * #### Default Value
416
- * `['imageurl', 'image']`
417
- */
418
- imageUrl?: string | Array<string>;
419
- /**
420
- * #### Default Value
421
- * `'price'`
422
- */
423
- price?: string | Array<string>;
424
- /**
425
- * #### Default Value
426
- * `'rating'`
427
- */
428
- rating?: string | Array<string>;
429
- /**
430
- * #### Default Value
431
- * `['saleprice']`
432
- */
433
- salePrice?: string | Array<string>;
434
- /**
435
- * #### Default Value
436
- * `['sku']`
437
- */
438
- sku?: string | Array<string>;
439
- /**
440
- * #### Default Value
441
- * `['title', 'name', 'itemname']`
442
- */
443
- title?: string | Array<string>;
444
- /**
445
- * #### Default Value
446
- * `'type'`
447
- */
448
- type?: string | Array<string>;
449
- /**
450
- * #### Default Value
451
- * `'url'`
452
- */
453
- url?: string;
454
- }
455
-
456
- declare const HawkSearch: HawkSearchGlobal;
457
- export default HawkSearch;
458
-
459
- declare interface HawkSearchComponents {
460
- 'autocomplete'?: AutocompleteComponentConfig;
461
- 'checkbox-list-facet'?: CheckboxListFacetComponentConfig;
462
- 'color-facet'?: ColorFacetComponentConfig;
463
- 'conversationalsearch'?: ConversationalSearchComponentConfig;
464
- 'conceptsearch-field'?: SmartSearchFieldComponentConfig;
465
- 'content-zone'?: ContentZoneComponentConfig;
466
- 'custom-content'?: CustomContentComponentConfig;
467
- 'date-picker'?: DatePickerComponentConfig;
468
- 'date-range-facet'?: DateRangeFacetComponentConfig;
469
- 'facet-wrapper'?: FacetWrapperComponentConfig;
470
- 'facets-list'?: FacetsListComponentConfig;
471
- 'featured-items-content'?: FeaturedItemsContentComponentConfig;
472
- 'featured-items-content-item'?: FeaturedItemsContentItemComponentConfig;
473
- 'icon'?: IconComponentConfig;
474
- 'image-content'?: ImageContentComponentConfig;
475
- 'imagesearch-field'?: SmartSearchFieldComponentConfig;
476
- 'landing-page'?: LandingPageComponentConfig;
477
- 'link-list-facet'?: LinkListFacetComponentConfig;
478
- 'modified-query'?: ModifiedQueryComponentConfig;
479
- 'numeric-range-facet'?: NumericRangeFacetComponentConfig;
480
- 'page-size'?: PageSizeComponentConfig;
481
- 'pagination'?: PaginationComponentConfig;
482
- 'popular-queries-content'?: PopularQueriesContentComponentConfig;
483
- 'query-suggestions'?: QuerySuggestionsComponentConfig;
484
- 'range-slider'?: RangeSliderComponentConfig;
485
- 'range-slider-facet'?: RangeSliderFacetComponentConfig;
486
- 'rating'?: RatingComponentConfig;
487
- 'recommendations'?: RecommendationsComponentConfig;
488
- 'recommendations-item'?: RecommendationsItemComponentConfig;
489
- 'recent-searches-facet'?: RecentSearchesFacetComponentConfig;
490
- 'related-searches-facet'?: RelatedSearchesFacetComponentConfig;
491
- 'search-field'?: SearchFieldComponentConfig;
492
- 'search-results'?: SearchResultsComponentConfig;
493
- 'search-results-item'?: SearchResultsItemComponentConfig;
494
- 'search-results-list'?: SearchResultsListComponentConfig;
495
- 'search-within-facet'?: SearchWithinFacetComponentConfig;
496
- 'selected-facets'?: SelectedFacetsComponentConfig;
497
- 'size-facet'?: SizeFacetComponentConfig;
498
- 'smartresponse'?: SmartResponseComponentConfig;
499
- 'sorting'?: SortingComponentConfig;
500
- 'tabs'?: TabsComponentConfig;
501
- 'tooltip'?: TooltipComponentConfig;
502
- 'variant-selector'?: VariantSelectorComponentConfig;
503
- 'visualsearch-field'?: VisualSearchFieldComponentConfig;
504
- }
505
-
506
- declare interface HawkSearchConfig {
507
- /**
508
- * The unique ID for your installation found in the HawkSearch admin
509
- */
510
- clientId: string;
511
- /**
512
- * Specify an index to query rather than the default
513
- */
514
- index?: string;
515
- /**
516
- * Map item attributes to common object properties
517
- */
518
- fieldMappings?: FieldMappings;
519
- autocomplete?: {
520
- /**
521
- * The API used to retrieve search results
522
- *
523
- * #### Default Value
524
- * `'https://searchapi-dev.hawksearch.net'`
525
- */
526
- endpointUrl?: string;
527
- /**
528
- * Specifies whether autocomplete recommendations (autocomplete without entering a query - "instant engage") is enabled
529
- *
530
- * #### Default Value
531
- * `false`
532
- */
533
- recommendationsEnabled?: boolean;
534
- /**
535
- * Whether to automatically URI decode the search query value. Runs recursively until value is fully decoded. For example, `Test%2520Value` would become `Test Value`.
536
- *
537
- * #### Default Value
538
- * `true`
539
- */
540
- decodeQuery?: boolean;
541
- /**
542
- * Specifies the minimum length for a query to trigger an autocomplete recommendations request.
543
- *
544
- * #### Default Value
545
- * `1`
546
- */
547
- minCharacterCount?: number;
548
- };
549
- search?: {
550
- /**
551
- * The API used to retrieve search results
552
- *
553
- * #### Default Value
554
- * `'https://searchapi-dev.hawksearch.net'`
555
- */
556
- endpointUrl?: string;
557
- /**
558
- * The URL of your search results page. This is used to redirect users after performing a search.
559
- *
560
- * #### Default Value
561
- * `'/search'`
562
- */
563
- url?: string;
564
- /**
565
- * The prefix for values sent to the API when excluding a facet. This is only modified in rare circumstances where the project has facet values starting with a hyphen.
566
- *
567
- * #### Default Value
568
- * `'-'`
569
- */
570
- facetExclusionPrefix?: string;
571
- /**
572
- * Specifies how search results should be classified
573
- */
574
- itemTypes?: {
575
- /**
576
- * If the value a search result item is missing a value for the field mapped to {@link HawkSearchConfig.search | fieldMappings.type}, this value will be assumed.
577
- *
578
- * #### Default Value
579
- * `'content'`
580
- */
581
- default: ItemType;
582
- /**
583
- * List of values that will be considered a `product` result.
584
- *
585
- * #### Default Value
586
- * `['item', 'product']`
587
- */
588
- productValues?: Array<string>;
589
- };
590
- /**
591
- * Specifies which query string parameters are used
592
- */
593
- queryStringMappings?: {
594
- /**
595
- * #### Default Value
596
- * `'disableSpellcheck'`
597
- */
598
- disableSpellcheck?: string;
599
- /**
600
- * #### Default Value
601
- * `'page'`
602
- */
603
- page?: string;
604
- /**
605
- * #### Default Value
606
- * `'pageSize'`
607
- */
608
- pageSize?: string;
609
- /**
610
- * #### Default Value
611
- * `'query'`
612
- */
613
- query?: string;
614
- /**
615
- * #### Default Value
616
- * `'searchWithin'`
617
- */
618
- searchWithin?: string;
619
- /**
620
- * #### Default Value
621
- * `'sort'`
622
- */
623
- sort?: string;
624
- /**
625
- * Sets RequestType field to toggle between Keyword search, Image search or Concept search
626
- *
627
- * #### Default Value
628
- * `'DefaultSearch'`
629
- */
630
- requestType?: RequestType;
631
- };
632
- /**
633
- * Whether to automatically URI decode the search query value. Runs recursively until value is fully decoded. For example, `Test%2520Value` would become `Test Value`.
634
- *
635
- * #### Default Value
636
- * `true`
637
- */
638
- decodeQuery?: boolean;
639
- /**
640
- * Whether to automatically URI decode facet selection values. Runs recursively until value is fully decoded. For example, `Test%2520Value` would become `Test Value`.
641
- *
642
- * #### Default Value
643
- * `true`
644
- */
645
- decodeFacetValues?: boolean;
646
- /**
647
- * Specifies a kValue for Concept and Image search
648
- */
649
- kValue?: number;
650
- };
651
- recommendations?: {
652
- /**
653
- * The API used to retrieve product recommendations
654
- *
655
- * #### Default Value
656
- * `'https://recs-dev.hawksearch.net'`
657
- */
658
- endpointUrl?: string;
659
- };
660
- tracking?: {
661
- /**
662
- * Specifies whether user actions should be tracked to provide valuable insights on your search engine performance
663
- *
664
- * #### Default Value
665
- *
666
- * `true`
667
- */
668
- enabled?: boolean;
669
- /**
670
- * The API used to track user interactions
671
- *
672
- * #### Default Value
673
- * `'https://tracking-dev.hawksearch.net'`
674
- */
675
- endpointUrl?: string;
676
- };
677
- variants?: {
678
- /**
679
- * When `true`, specifies that facet counts should be calculated based on the number of child items rather than the number of parent items
680
- *
681
- * #### Default Value
682
- *
683
- * `false`
684
- */
685
- baseFacetCountOnVariants?: boolean;
686
- /**
687
- * Specifies whether variant logic should be used if data is available
688
- *
689
- * #### Default Value
690
- *
691
- * `true`
692
- */
693
- enabled?: boolean;
694
- /**
695
- * When specified, this prefix is removed from the `attributes` collection on variant items. For example, if a value of `'child_'` is used and HawkSearch returns a field named `'child_color'`, it will be transformed to `'color'`.
696
- */
697
- fieldPrefix?: string;
698
- /**
699
- * Map item attributes to common object properties
700
- */
701
- fieldMappings?: VariantFieldMappings;
702
- /**
703
- * When `true`, specifies that tracking should use the ID of the selected variant rather than the ID of the parent
704
- *
705
- * #### Default Value
706
- *
707
- * `false`
708
- */
709
- trackUsingVariant?: boolean;
710
- };
711
- /**
712
- * Specifies the minimum window widths that correspond to each breakpoint. This is used determine when certain content items are displayed.
713
- *
714
- * #### Default Value
715
- * ```js
716
- * {
717
- * mobile: undefined,
718
- * tablet: 740,
719
- * desktop: 990
720
- * }
721
- * ```
722
- */
723
- breakpoints?: Breakpoints<number>;
724
- /**
725
- * Specifies component-specific configuration options
726
- */
727
- components?: HawkSearchComponents;
728
- /**
729
- * Specifies which styles should be loaded for each component
730
- */
731
- css?: {
732
- /**
733
- * One or more style sets to be loaded. This can be either a URL to an external stylesheet, the ID of a `template` element wrapping around a `style` element, or a string containing CSS rules.
734
- */
735
- customStyles?: string | Array<string>;
736
- /**
737
- * Specifies whether the default stylesheet should be loaded. This should generally be true except for with completely custom interfaces.
738
- */
739
- defaultStyles?: boolean;
740
- };
741
- /**
742
- * Specifies how values should be formatted for different cultures
743
- */
744
- formatting?: {
745
- /**
746
- * #### Default Value
747
- * `'en-US'`
748
- */
749
- cultureIsoCode?: string;
750
- /**
751
- * #### Default Value
752
- * `'USD'`
753
- */
754
- currencyIsoCode?: string;
755
- };
756
- /**
757
- * The URL of an image to be loaded whenever an image fails to load for a search result item
758
- */
759
- placeholderImageUrl?: string;
760
- seo?: {
761
- title?: {
762
- /**
763
- * Value prepended to title returned from API
764
- */
765
- prefix?: string;
766
- /**
767
- * Value appended to title returned from API
768
- */
769
- suffix?: string;
770
- };
771
- };
772
- /**
773
- * Specifies whether components should be rendered in the [Shadow DOM](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_shadow_DOM). This is highly recommended to avoid CSS conflicts.
774
- *
775
- * #### Default Value
776
- * `true`
777
- */
778
- shadowDom?: boolean;
779
- /**
780
- * If your data contains relative URLs, these values can be prepended to the values to convert them to absolute URLs
781
- */
782
- urlPrefixes?: {
783
- assets?: string;
784
- content?: string;
785
- };
786
- /**
787
- * Specifies whether search queries should be displayed on console
788
- *
789
- * #### Default Value
790
- * `false`
791
- */
792
- debug?: boolean;
793
- }
794
-
795
- declare interface HawkSearchGlobal {
796
- config: HawkSearchConfig;
797
- handlebars: typeof Handlebars_2;
798
- recommendationsResponses?: {
799
- [widgetId: string]: RecommendationsResponse;
800
- };
801
- searchRequest?: SearchRequest;
802
- searchResponse?: SearchResponse;
803
- services: {
804
- autocomplete: AutocompleteService;
805
- conversational: ConversationalService;
806
- recommendations: RecommendationsService;
807
- search: SearchService;
808
- tracking: TrackingService;
809
- };
810
- init: (config: HawkSearchConfig) => void;
811
- }
812
-
813
- declare interface IconComponentConfig extends BaseComponentConfig {
814
- }
815
-
816
- declare interface ImageContentComponentConfig extends BaseComponentConfig {
817
- }
818
-
819
- /**
820
- * @category Base
821
- */
822
- declare interface Item {
823
- attributes?: Record<string, Array<string>>;
824
- description?: string;
825
- id: string;
826
- imageUrl?: string;
827
- price?: number;
828
- rating?: number;
829
- salePrice?: number;
830
- selectedVariant?: ItemVariant;
831
- sku?: string;
832
- title: string;
833
- url: string;
834
- variants?: Array<ItemVariant>;
835
- visible?: boolean;
836
- }
837
-
838
- /**
839
- * @category Base
840
- */
841
- declare type ItemType = 'content' | 'product';
842
-
843
- /**
844
- * @category Base
845
- */
846
- declare interface ItemVariant {
847
- attributes: Record<string, Array<string>>;
848
- color?: {
849
- name?: string;
850
- hex?: string;
851
- imageUrl?: string;
852
- };
853
- description?: string;
854
- id: string;
855
- imageUrl?: string;
856
- price?: number;
857
- queryMatch: boolean;
858
- rating?: number;
859
- salePrice?: number;
860
- sku?: string;
861
- title?: string;
862
- url?: string;
863
- }
864
-
865
- declare interface LandingPageComponentConfig extends BaseComponentConfig {
866
- }
867
-
868
- declare interface LinkListFacetComponentConfig extends BaseComponentConfig {
869
- strings?: {
870
- showFewer?: string;
871
- showMore?: string;
872
- };
873
- }
874
-
875
- /**
876
- * @category Base
877
- */
878
- declare interface MessageItem {
879
- role: MessageRole;
880
- content: string;
881
- }
882
-
883
- /**
884
- * @category Base
885
- */
886
- declare interface MessageItemList extends Array<MessageItem> {
887
- }
888
-
889
- /**
890
- * @category Base
891
- */
892
- declare type MessageRole = 'system' | 'user' | 'assistant';
893
-
894
- declare interface ModifiedQueryComponentConfig extends BaseComponentConfig {
895
- strings?: {
896
- showingResultsFor?: string;
897
- searchInsteadFor?: string;
898
- };
899
- }
900
-
901
- /**
902
- * @category Search
903
- */
904
- declare interface NumericFacetRange extends FacetRange<number> {
905
- type: 'numeric';
906
- }
907
-
908
- declare interface NumericRangeFacetComponentConfig extends BaseComponentConfig {
909
- strings?: {
910
- maximum?: string;
911
- minimum?: string;
912
- };
913
- }
914
-
915
- declare interface PageSizeComponentConfig extends BaseComponentConfig {
916
- }
917
-
918
- /**
919
- * @category Tracking
920
- */
921
- declare enum PageType {
922
- Item = 1,
923
- Landing = 2,
924
- Cart = 3,
925
- Order = 4,
926
- Custom = 5
927
- }
928
-
929
- /**
930
- * @category Search
931
- */
932
- declare interface Pagination {
933
- page: number;
934
- pageSize: number;
935
- totalPages: number;
936
- totalResults: number;
937
- maxPageLinks?: number;
938
- displayFirstLink: boolean;
939
- displayLastLink: boolean;
940
- options: Array<PaginationOption>;
941
- }
942
-
943
- declare interface PaginationComponentConfig extends BaseComponentConfig {
944
- strings?: {
945
- first?: string;
946
- last?: string;
947
- next?: string;
948
- previous?: string;
949
- summary?: string;
950
- };
951
- }
952
-
953
- /**
954
- * @category Search
955
- */
956
- declare interface PaginationOption {
957
- title: string;
958
- pageSize: number;
959
- selected: boolean;
960
- default: boolean;
961
- }
962
-
963
- declare interface PopularQueriesContentComponentConfig extends BaseComponentConfig {
964
- }
965
-
966
- declare interface QuerySuggestionsComponentConfig extends BaseComponentConfig {
967
- strings?: {
968
- orDelimeter?: string;
969
- prompt?: string;
970
- };
971
- }
972
-
973
- declare interface RangeSliderComponentConfig extends BaseComponentConfig {
974
- strings?: {
975
- end?: string;
976
- start?: string;
977
- };
978
- }
979
-
980
- declare interface RangeSliderFacetComponentConfig extends BaseComponentConfig {
981
- strings?: {
982
- maximum?: string;
983
- minimum?: string;
984
- };
985
- }
986
-
987
- declare interface RatingComponentConfig extends BaseComponentConfig {
988
- }
989
-
990
- declare interface RawVariantDocument {
991
- hawk_child_attributes?: Array<Record<string, Array<string>>>;
992
- hawk_child_attributes_hits?: Array<{
993
- Items: Array<Record<string, Array<string>>>;
994
- NofPages: number;
995
- NofResults: number;
996
- }>;
997
- }
998
-
999
- declare interface RecentSearchesFacetComponentConfig extends BaseComponentConfig {
1000
- }
1001
-
1002
- declare interface RecommendationsComponentConfig extends BaseComponentConfig {
1003
- carousel?: {
1004
- autorotation?: {
1005
- enabled?: boolean;
1006
- interval?: number;
1007
- };
1008
- buttonsEnabled?: boolean;
1009
- enabled?: boolean;
1010
- paginationEnabled?: boolean;
1011
- paginationSelectedCssClass?: string;
1012
- };
1013
- headingEnabled?: boolean;
1014
- itemsToDisplay?: Breakpoints<number>;
1015
- strings?: {
1016
- next?: string;
1017
- previous?: string;
1018
- };
1019
- }
1020
-
1021
- /**
1022
- * @category Recommendations
1023
- */
1024
- declare interface RecommendationsItem extends Item {
1025
- }
1026
-
1027
- declare interface RecommendationsItemComponentConfig extends BaseComponentConfig {
1028
- strings?: {
1029
- sale?: string;
1030
- };
1031
- }
1032
-
1033
- /**
1034
- * @category Recommendations
1035
- */
1036
- declare interface RecommendationsRequest {
1037
- widgetId: string;
1038
- itemId?: string;
1039
- url?: string;
1040
- }
1041
-
1042
- /**
1043
- * @category Recommendations
1044
- */
1045
- declare interface RecommendationsResponse {
1046
- requestId: string;
1047
- widgets?: Array<RecommendationsWidget>;
1048
- }
1049
-
1050
- declare class RecommendationsService extends BaseService {
1051
- protected baseUrl: string;
1052
- getItems(recommendationsRequest: RecommendationsRequest): Promise<RecommendationsResponse>;
1053
- private executeRecommendations;
1054
- private convertResponse;
1055
- bindComponents(recommendationsResponse: RecommendationsResponse): void;
1056
- }
1057
-
1058
- /**
1059
- * @category Recommendations
1060
- */
1061
- declare interface RecommendationsWidget {
1062
- id: string;
1063
- requestId: string;
1064
- title: string;
1065
- carousel: boolean;
1066
- items?: Array<RecommendationsItem>;
1067
- }
1068
-
1069
- /**
1070
- * @category Search
1071
- */
1072
- declare interface Redirect {
1073
- url: string;
1074
- target?: string;
1075
- }
1076
-
1077
- declare interface RelatedSearchesFacetComponentConfig extends BaseComponentConfig {
1078
- }
1079
-
1080
- /**
1081
- * @category Search
1082
- */
1083
- declare type RequestType = 'ConceptSearch' | 'ImageSearch' | 'DefaultSearch';
1084
-
1085
- declare interface SearchFieldComponentConfig extends BaseComponentConfig {
1086
- strings?: {
1087
- placeholder?: string;
1088
- };
1089
- /**
1090
- * Specifies whether the input element should be pre-populared if "query" parameter exists on the URL.
1091
- *
1092
- * #### Default Value
1093
- * `false`
1094
- */
1095
- disableAutofill?: boolean;
1096
- }
1097
-
1098
- /**
1099
- * @category Search
1100
- */
1101
- declare interface SearchRequest {
1102
- disableSpellcheck?: boolean;
1103
- facets?: SelectedFacets;
1104
- newRequest: boolean;
1105
- pageSize?: number;
1106
- page?: number;
1107
- query?: string;
1108
- requestType?: string;
1109
- searchWithin?: string;
1110
- sort?: string;
1111
- url?: string;
1112
- }
1113
-
1114
- /**
1115
- * @category Search
1116
- */
1117
- declare interface SearchResponse {
1118
- content?: ContentConfiguration;
1119
- contentZones?: ContentZones;
1120
- customLayout?: string;
1121
- facets?: Array<Facet>;
1122
- modifiedQuery?: string;
1123
- pagination?: Pagination;
1124
- query?: string;
1125
- querySuggestions?: Array<string>;
1126
- redirect?: Redirect;
1127
- results?: Array<SearchResultsItem>;
1128
- selectedFacets?: Array<SelectedFacet>;
1129
- seo?: SeoConfiguration;
1130
- sorting?: Sorting;
1131
- success: boolean;
1132
- trackingId: string;
1133
- }
1134
-
1135
- declare interface SearchResultsComponentConfig extends BaseComponentConfig {
1136
- }
1137
-
1138
- /**
1139
- * @category Search
1140
- */
1141
- declare interface SearchResultsItem extends Item {
1142
- pinned: boolean;
1143
- score: number;
1144
- type: ItemType;
1145
- }
1146
-
1147
- declare interface SearchResultsItemComponentConfig extends BaseComponentConfig {
1148
- strings?: {
1149
- sale?: string;
1150
- };
1151
- }
1152
-
1153
- declare interface SearchResultsListComponentConfig extends BaseComponentConfig {
1154
- }
1155
-
1156
- declare class SearchService extends BaseService {
1157
- protected baseUrl: string;
1158
- private facetExclusionPrefix;
1159
- private decodeQuery;
1160
- private decodeFacetValues;
1161
- private shouldRenderUI;
1162
- search(searchRequest: SearchRequest): Promise<SearchResponse>;
1163
- query(query?: SearchTypes, selectedFacets?: SelectedFacets | undefined, disableSpellcheck?: boolean): Promise<SearchResponse | void>;
1164
- addFacetValue(field: string, value: string): Promise<SearchResponse>;
1165
- removeFacetValue(field: string, value: string): Promise<SearchResponse>;
1166
- includeFacetValue(field: string, value: string): Promise<SearchResponse>;
1167
- excludeFacetValue(field: string, value: string): Promise<SearchResponse>;
1168
- private clearExistingFacetValue;
1169
- setFacetValue(field: string, value: string): Promise<SearchResponse>;
1170
- searchWithin(value: string): Promise<SearchResponse>;
1171
- selectTab(value?: string): Promise<SearchResponse>;
1172
- paginate(page: number): Promise<SearchResponse>;
1173
- setPageSize(pageSize: number): Promise<SearchResponse>;
1174
- sort(value?: string): Promise<SearchResponse>;
1175
- private executeSearch;
1176
- private ensureSearchRequest;
1177
- private convertResponse;
1178
- bindComponents(searchResponse: SearchResponse): void;
1179
- bindFacetsListComponent(searchResponse: SearchResponse | undefined): void;
1180
- bindLandingPageComponent(searchResponse: SearchResponse | undefined): void;
1181
- bindModifiedQueryComponent(searchResponse: SearchResponse | undefined): void;
1182
- bindPageSizeComponent(searchResponse: SearchResponse | undefined): void;
1183
- bindPaginationComponent(searchResponse: SearchResponse | undefined): void;
1184
- bindSearchFieldComponent(searchResponse: SearchResponse | undefined): void;
1185
- bindConceptSearchFieldComponent(searchResponse: SearchResponse | undefined): void;
1186
- bindImageSearchFieldComponent(searchResponse: SearchResponse | undefined): void;
1187
- bindSearchResultsComponent(searchResponse: SearchResponse | undefined): void;
1188
- bindSearchResultsListComponent(searchResponse: SearchResponse | undefined): void;
1189
- bindQuerySuggestionsComponent(searchResponse: SearchResponse | undefined): void;
1190
- bindSmartResponseComponent(searchResponse: SearchResponse | undefined): void;
1191
- bindSortingComponent(searchResponse: SearchResponse | undefined): void;
1192
- bindSelectedFacetsComponent(searchResponse: SearchResponse | undefined): void;
1193
- bindTabsComponent(searchResponse: SearchResponse | undefined): void;
1194
- bindZoneComponent(searchResponse: SearchResponse | undefined): void;
1195
- getRequestFromUrl(): SearchRequest;
1196
- private setQueryString;
1197
- private getSearchUrl;
1198
- private getBooleanParameter;
1199
- private getPositiveIntegerParameter;
1200
- private getStringParameter;
1201
- private getRecentQueries;
1202
- private saveRecentQueries;
1203
- protected setSeoElements(searchResponse: SearchResponse): void;
1204
- private removeElement;
1205
- private setLinkTag;
1206
- private setMetaTag;
1207
- private setTitle;
1208
- }
1209
-
1210
- /**
1211
- * @category Search
1212
- */
1213
- declare type SearchTypes = string | {
1214
- queryString: string;
1215
- requestType: string;
1216
- } | undefined;
1217
-
1218
- declare interface SearchWithinFacetComponentConfig extends BaseComponentConfig {
1219
- strings?: {
1220
- label?: string;
1221
- };
1222
- }
1223
-
1224
- /**
1225
- * @category Search
1226
- */
1227
- declare interface SelectedFacet {
1228
- field: string;
1229
- currency: boolean;
1230
- title: string;
1231
- values: Array<SelectedFacetValue>;
1232
- }
1233
-
1234
- /**
1235
- * @category Search
1236
- */
1237
- declare type SelectedFacets = Record<string, Array<string> | undefined>;
1238
-
1239
- declare interface SelectedFacetsComponentConfig extends BaseComponentConfig {
1240
- strings?: {
1241
- remove?: string;
1242
- };
1243
- }
1244
-
1245
- /**
1246
- * @category Search
1247
- */
1248
- declare interface SelectedFacetValue {
1249
- title: string;
1250
- value: string;
1251
- excluded: boolean;
1252
- }
1253
-
1254
- /**
1255
- * @category Search
1256
- */
1257
- declare interface SeoConfiguration {
1258
- canonicalUrl?: string;
1259
- description?: string;
1260
- keywords?: string;
1261
- robots?: string;
1262
- title?: string;
1263
- }
1264
-
1265
- declare interface ServiceFieldMappings {
1266
- description: Array<string>;
1267
- imageUrl: Array<string>;
1268
- price: Array<string>;
1269
- rating: Array<string>;
1270
- salePrice: Array<string>;
1271
- sku: Array<string>;
1272
- title: Array<string>;
1273
- type: Array<string>;
1274
- url: Array<string>;
1275
- }
1276
-
1277
- declare interface ServiceVariantFieldMappings {
1278
- color: {
1279
- name: Array<string>;
1280
- hex: Array<string>;
1281
- imageUrl: Array<string>;
1282
- };
1283
- description: Array<string>;
1284
- id: Array<string>;
1285
- imageUrl: Array<string>;
1286
- price: Array<string>;
1287
- rating: Array<string>;
1288
- salePrice: Array<string>;
1289
- sku: Array<string>;
1290
- title: Array<string>;
1291
- url: Array<string>;
1292
- }
1293
-
1294
- declare interface SizeFacetComponentConfig extends BaseComponentConfig {
1295
- excludeEnabled?: boolean;
1296
- strings?: {
1297
- exclude?: string;
1298
- include?: string;
1299
- showFewer?: string;
1300
- showMore?: string;
1301
- };
1302
- }
1303
-
1304
- declare interface SmartResponseComponentConfig extends BaseComponentConfig {
1305
- strings?: {
1306
- header?: string;
1307
- noresults?: string;
1308
- };
1309
- prompt?: {
1310
- instructions?: string;
1311
- schema?: object;
1312
- onRequest?: any;
1313
- onResponse?: any;
1314
- };
1315
- }
1316
-
1317
- declare interface SmartSearchFieldComponentConfig extends BaseComponentConfig {
1318
- strings?: {
1319
- placeholder?: string;
1320
- };
1321
- /**
1322
- * Specifies if a request is triggered on keypress.
1323
- *
1324
- * #### Default Value
1325
- * `false`
1326
- * *For more information, see {@link Components}.*
1327
- */
1328
- searchOnKeyPress?: boolean;
1329
- /**
1330
- * Specifies the minimum length for a query to trigger a request.
1331
- *
1332
- * #### Default Value
1333
- * `10`
1334
- * *For more information, see {@link Components}.*
1335
- */
1336
- searchMinCharacterCount?: number;
1337
- /**
1338
- * Specifies the debounce value between fetching data and keypress (ms)
1339
- *
1340
- * #### Default Value
1341
- * `350`
1342
- * *For more information, see {@link Components}.*
1343
- */
1344
- searchDebounceValue?: number;
1345
- }
1346
-
1347
- /**
1348
- * @category Search
1349
- */
1350
- declare interface Sorting {
1351
- value?: string;
1352
- options: Array<SortingOption>;
1353
- }
1354
-
1355
- declare interface SortingComponentConfig extends BaseComponentConfig {
1356
- }
1357
-
1358
- /**
1359
- * @category Search
1360
- */
1361
- declare interface SortingOption {
1362
- title: string;
1363
- value: string;
1364
- default: boolean;
1365
- selected: boolean;
1366
- }
1367
-
1368
- declare interface TabsComponentConfig extends BaseComponentConfig {
1369
- }
1370
-
1371
- declare interface TooltipComponentConfig extends BaseComponentConfig {
1372
- }
1373
-
1374
- declare class TrackingService extends BaseService {
1375
- protected baseUrl: string;
1376
- trackAddToCart(productId: string, quantity: number, price: number, currencyIsoCode: string): Promise<void>;
1377
- trackAddToCartMultiple(items: Array<{
1378
- productId: string;
1379
- quantity: number;
1380
- price: number;
1381
- currencyIsoCode: string;
1382
- }>): Promise<void>;
1383
- trackAutocompleteClick(query: string | undefined, itemType: AutocompleteItemType, title: string, url: string): Promise<void>;
1384
- trackBannerClick(bannerId: number, campaignId: number): Promise<void>;
1385
- trackBannerImpression(bannerId: number, campaignId: number): Promise<void>;
1386
- trackOrder(orderId: string, items: Array<{
1387
- productId: string;
1388
- quantity: number;
1389
- price: number;
1390
- }>, subTotal: number, tax: number, total: number, currencyIsoCode: string): Promise<void>;
1391
- trackPageLoad(pageType: PageType, productId?: string): Promise<void>;
1392
- trackRating(productId: string, rating: number): Promise<void>;
1393
- trackRecommendationClick(widgetId: string, requestId: string, productId: string): Promise<void>;
1394
- trackSearchResultClick(id: string, url: string, event?: PointerEvent): Promise<void>;
1395
- trackSearch(query: string | undefined, newSearch: boolean): Promise<void>;
1396
- trackEvent(type: EventType, data: any): Promise<void>;
1397
- private getQueryId;
1398
- private setNewQueryId;
1399
- }
1400
-
1401
- declare interface VariantFieldMappings extends FieldMappings {
1402
- /**
1403
- * #### Default Value
1404
- * `['id']`
1405
- */
1406
- id?: string | Array<string>;
1407
- color?: {
1408
- /**
1409
- * #### Default Value
1410
- * `['colorname', 'color']`
1411
- */
1412
- name?: string | Array<string>;
1413
- /**
1414
- * #### Default Value
1415
- * `['colorhex', 'colorvalue']`
1416
- */
1417
- hex?: string | Array<string>;
1418
- /**
1419
- * #### Default Value
1420
- * `['colorimageurl', 'colorimage']`
1421
- */
1422
- imageUrl?: string | Array<string>;
1423
- };
1424
- }
1425
-
1426
- declare interface VariantSelectorComponentConfig extends BaseComponentConfig {
1427
- }
1428
-
1429
- declare interface VisualSearchFieldComponentConfig extends BaseComponentConfig {
1430
- strings?: {
1431
- dragImageMessage?: string;
1432
- uploadImageMessage?: string;
1433
- dropImageMessage?: string;
1434
- errorMessage?: string;
1435
- };
1436
- }
1437
-
1438
- export { }
1
+ export {};