@bridgeline-digital/hawksearch-handlebars-ui 5.2.6 → 5.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/changelog.md +12 -0
- package/dist/components/base.component.d.ts +139 -0
- package/dist/components/content/content-types/base-content.component.d.ts +9 -0
- package/dist/components/content/content-types/custom-content/custom-content.component.d.ts +21 -0
- package/dist/components/content/content-types/featured-items-content/featured-items-content.component.d.ts +22 -0
- package/dist/components/content/content-types/featured-items-content-item/featured-items-content-item.component.d.ts +39 -0
- package/dist/components/content/content-types/image-content/image-content.component.d.ts +22 -0
- package/dist/components/content/content-types/index.d.ts +6 -0
- package/dist/components/content/content-types/popular-queries-content/popular-queries-content.component.d.ts +22 -0
- package/dist/components/content/content-zone/content-zone.component.d.ts +44 -0
- package/dist/components/content/index.d.ts +2 -0
- package/dist/components/general/date-picker/date-picker.component.d.ts +117 -0
- package/dist/components/general/icon/icon.component.d.ts +38 -0
- package/dist/components/general/index.d.ts +5 -0
- package/dist/components/general/range-slider/range-slider.component.d.ts +54 -0
- package/dist/components/general/rating/rating.component.d.ts +39 -0
- package/dist/components/general/tooltip/tooltip.component.d.ts +32 -0
- package/dist/components/index.d.ts +231 -0
- package/dist/components/landing-pages/index.d.ts +1 -0
- package/dist/components/landing-pages/landing-page/landing-page.component.d.ts +32 -0
- package/dist/components/recommendations/index.d.ts +2 -0
- package/dist/components/recommendations/recommendations/recommendations.component.d.ts +87 -0
- package/dist/components/recommendations/recommendations-item/recommendations-item.component.d.ts +40 -0
- package/dist/components/search/autocomplete/autocomplete.component.d.ts +59 -0
- package/dist/components/search/facet-types/base-facet.component.d.ts +44 -0
- package/dist/components/search/facet-types/checkbox-list-facet/checkbox-list-facet.component.d.ts +36 -0
- package/dist/components/search/facet-types/color-facet/color-facet.component.d.ts +24 -0
- package/dist/components/search/facet-types/date-range-facet/date-range-facet.component.d.ts +33 -0
- package/dist/components/search/facet-types/index.d.ts +11 -0
- package/dist/components/search/facet-types/linked-list-facet/link-list-facet.component.d.ts +24 -0
- package/dist/components/search/facet-types/numeric-range-facet/numeric-range-facet.component.d.ts +32 -0
- package/dist/components/search/facet-types/range-slider-facet/range-slider-facet.component.d.ts +34 -0
- package/dist/components/search/facet-types/recent-searches-facet/recent-searches-facet.component.d.ts +29 -0
- package/dist/components/search/facet-types/related-searches-facet/related-searches-facet.component.d.ts +29 -0
- package/dist/components/search/facet-types/search-within-facet/search-within-facet.component.d.ts +29 -0
- package/dist/components/search/facet-types/size-facet/size-facet.component.d.ts +24 -0
- package/dist/components/search/facet-wrapper/facet-wrapper.component.d.ts +47 -0
- package/dist/components/search/facets-list/facets-list.component.d.ts +32 -0
- package/dist/components/search/index.d.ts +15 -0
- package/dist/components/search/modified-query/modified-query.component.d.ts +32 -0
- package/dist/components/search/page-size/page-size.component.d.ts +32 -0
- package/dist/components/search/pagination/pagination.component.d.ts +43 -0
- package/dist/components/search/query-suggestions/query-suggestions.component.d.ts +38 -0
- package/dist/components/search/search-field/search-field.component.d.ts +40 -0
- package/dist/components/search/search-results/search-results.component.d.ts +34 -0
- package/dist/components/search/search-results-item/search-results-item.component.d.ts +38 -0
- package/dist/components/search/search-results-list/search-results-list.component.d.ts +23 -0
- package/dist/components/search/selected-facets/selected-facets.component.d.ts +31 -0
- package/dist/components/search/sorting/sorting.component.d.ts +30 -0
- package/dist/components/search/tabs/dist/tabs.component.spec.d.ts +1 -0
- package/dist/components/search/tabs/tabs.component.d.ts +30 -0
- package/dist/components/variants/index.d.ts +1 -0
- package/dist/components/variants/variant-selector/variant-selector.component.d.ts +23 -0
- package/dist/configuration/configuration.models.d.ts +609 -0
- package/dist/configuration/index.d.ts +4 -0
- package/dist/helpers/helpers.d.ts +221 -0
- package/dist/helpers/index.d.ts +4 -0
- package/dist/index.d.ts +1 -1438
- package/dist/index.html +102 -0
- package/dist/index.js +20108 -0
- package/dist/index.js.map +1 -0
- package/dist/landing-page-custom.html +45 -0
- package/dist/landing-page-products.html +45 -0
- package/dist/models/autocomplete.models.d.ts +85 -0
- package/dist/models/base.models.d.ts +50 -0
- package/dist/models/component.models.d.ts +453 -0
- package/dist/models/content.models.d.ts +94 -0
- package/dist/models/index.d.ts +11 -0
- package/dist/models/raw/index.d.ts +4 -0
- package/dist/models/raw/raw-autocomplete.models.d.ts +51 -0
- package/dist/models/raw/raw-base.models.d.ts +8 -0
- package/dist/models/raw/raw-recommendation.models.d.ts +39 -0
- package/dist/models/raw/raw-search.models.d.ts +191 -0
- package/dist/models/recommendation.models.d.ts +31 -0
- package/dist/models/search.models.d.ts +237 -0
- package/dist/models/tracking.models.d.ts +42 -0
- package/dist/placeholder.c99b7374b9bf579d0fd0.png +0 -0
- package/dist/recommendations.html +45 -0
- package/dist/services/autocomplete.service.d.ts +11 -0
- package/dist/services/base.service.d.ts +63 -0
- package/dist/services/index.d.ts +8 -0
- package/dist/services/recommendations.service.d.ts +10 -0
- package/dist/services/search.service.d.ts +53 -0
- package/dist/services/tracking.service.d.ts +29 -0
- package/dist/styles.328cd3af2ed43ff243ce7ffede0f447c.css +1896 -0
- package/dist/utilities/colors.d.ts +1 -0
- package/dist/utilities/dates.d.ts +4 -0
- package/dist/utilities/decodes.d.ts +1 -0
- package/dist/utilities/formatters.d.ts +4 -0
- package/dist/utilities/index.d.ts +7 -0
- package/dist/variants.html +63 -0
- package/package.json +1 -1
- package/dist/hawksearch-handlebars-ui.cjs +0 -10
- package/dist/hawksearch-handlebars-ui.js +0 -11623
- package/dist/hawksearch-handlebars-ui.min.js +0 -975
- package/dist/hawksearch-handlebars-ui.umd.cjs +0 -10
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { Item, ItemType } from './base.models';
|
|
2
|
+
/**
|
|
3
|
+
* @category Content
|
|
4
|
+
*/
|
|
5
|
+
export interface ContentType {
|
|
6
|
+
id: number;
|
|
7
|
+
campaignId: number;
|
|
8
|
+
type: string;
|
|
9
|
+
title: string;
|
|
10
|
+
trackingEnabled: boolean;
|
|
11
|
+
zone: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* @category Content
|
|
15
|
+
*/
|
|
16
|
+
export interface CustomContent extends ContentType {
|
|
17
|
+
type: 'custom';
|
|
18
|
+
content: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* @category Content
|
|
22
|
+
*/
|
|
23
|
+
export interface CustomWidgetContent extends ContentType {
|
|
24
|
+
type: 'custom-widget';
|
|
25
|
+
data: any;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* @category Content
|
|
29
|
+
*/
|
|
30
|
+
export interface FeaturedItemsContentItem extends Item {
|
|
31
|
+
pinned: boolean;
|
|
32
|
+
score: number;
|
|
33
|
+
type: ItemType;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* @category Content
|
|
37
|
+
*/
|
|
38
|
+
export interface FeaturedItemsContent extends ContentType {
|
|
39
|
+
type: 'featured-items';
|
|
40
|
+
items: Array<FeaturedItemsContentItem>;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* @category Content
|
|
44
|
+
*/
|
|
45
|
+
export interface ImageContent extends ContentType {
|
|
46
|
+
type: 'image';
|
|
47
|
+
image: {
|
|
48
|
+
url: string;
|
|
49
|
+
height?: number;
|
|
50
|
+
width?: number;
|
|
51
|
+
altText?: string;
|
|
52
|
+
title?: string;
|
|
53
|
+
};
|
|
54
|
+
link?: {
|
|
55
|
+
url: string;
|
|
56
|
+
target: string;
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* @category Content
|
|
61
|
+
*/
|
|
62
|
+
export interface PopularQueriesContentItem {
|
|
63
|
+
query: string;
|
|
64
|
+
count: number;
|
|
65
|
+
weight: number;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* @category Content
|
|
69
|
+
*/
|
|
70
|
+
export interface PopularQueriesContent extends ContentType {
|
|
71
|
+
type: 'popular-queries';
|
|
72
|
+
items: Array<PopularQueriesContentItem>;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* @category Content
|
|
76
|
+
*/
|
|
77
|
+
export interface ContentZoneItem {
|
|
78
|
+
mobile: ContentType;
|
|
79
|
+
tablet: ContentType;
|
|
80
|
+
desktop: ContentType;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* @category Content
|
|
84
|
+
*/
|
|
85
|
+
export interface ContentZone {
|
|
86
|
+
name: string;
|
|
87
|
+
items: Array<ContentZoneItem>;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* @category Content
|
|
91
|
+
*/
|
|
92
|
+
export interface ContentZones {
|
|
93
|
+
[zone: string]: ContentZone;
|
|
94
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module Models
|
|
3
|
+
*/
|
|
4
|
+
export * from './autocomplete.models';
|
|
5
|
+
export * from './base.models';
|
|
6
|
+
export * from './component.models';
|
|
7
|
+
export * from './content.models';
|
|
8
|
+
export * from './raw';
|
|
9
|
+
export * from './recommendation.models';
|
|
10
|
+
export * from './search.models';
|
|
11
|
+
export * from './tracking.models';
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { RawSearchResultsItem } from './raw-search.models';
|
|
2
|
+
export interface RawAutocompleteRequest {
|
|
3
|
+
ClientGuid: string;
|
|
4
|
+
IndexName?: string;
|
|
5
|
+
Keyword?: string;
|
|
6
|
+
DisplayFullResponse?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface RawAutocompleteCategory {
|
|
9
|
+
Url: string;
|
|
10
|
+
Value: string;
|
|
11
|
+
FieldQSName: string;
|
|
12
|
+
FieldQSValue: string;
|
|
13
|
+
}
|
|
14
|
+
export interface RawAutocompleteContent {
|
|
15
|
+
Value: string;
|
|
16
|
+
Url: string;
|
|
17
|
+
Results: RawSearchResultsItem;
|
|
18
|
+
}
|
|
19
|
+
export interface RawAutocompleteQuery {
|
|
20
|
+
RawValue: string;
|
|
21
|
+
Url: string;
|
|
22
|
+
Value: string;
|
|
23
|
+
}
|
|
24
|
+
export interface RawAutocompleteProduct {
|
|
25
|
+
ProductName: string;
|
|
26
|
+
Sku: string;
|
|
27
|
+
Thumb?: {
|
|
28
|
+
AltText: string;
|
|
29
|
+
Url: string;
|
|
30
|
+
};
|
|
31
|
+
Url: string;
|
|
32
|
+
Results: RawSearchResultsItem;
|
|
33
|
+
}
|
|
34
|
+
export interface RawAutocompleteResponse {
|
|
35
|
+
Categories: Array<RawAutocompleteCategory>;
|
|
36
|
+
CategoryHeading: string;
|
|
37
|
+
Content: Array<RawAutocompleteContent>;
|
|
38
|
+
ContentCount: number;
|
|
39
|
+
ContentHeading: string;
|
|
40
|
+
Count: number;
|
|
41
|
+
DYMContentHeading: string;
|
|
42
|
+
DymContentSearch?: Array<RawAutocompleteQuery>;
|
|
43
|
+
DYMProductHeading: string;
|
|
44
|
+
DymProductsSearch?: Array<RawAutocompleteQuery>;
|
|
45
|
+
Popular: Array<RawAutocompleteQuery>;
|
|
46
|
+
PopularHeading: string;
|
|
47
|
+
ProductHeading: string;
|
|
48
|
+
ProductCount: number;
|
|
49
|
+
Products: Array<RawAutocompleteProduct>;
|
|
50
|
+
ViewAllButtonLabel: string;
|
|
51
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { RawVariantDocument } from './raw-base.models';
|
|
2
|
+
export interface RawRecommendationsRequest {
|
|
3
|
+
clientGuid: string;
|
|
4
|
+
indexName?: string;
|
|
5
|
+
landingPageUrl?: string;
|
|
6
|
+
visitId: string;
|
|
7
|
+
visitorId: string;
|
|
8
|
+
renderHTML: boolean;
|
|
9
|
+
widgetUids: Array<{
|
|
10
|
+
widgetGuid: string;
|
|
11
|
+
uniqueid?: string;
|
|
12
|
+
}>;
|
|
13
|
+
}
|
|
14
|
+
export type RawRecommendationsItemCustomDict = Record<string, string | Array<string>> & RawVariantDocument;
|
|
15
|
+
export interface RawRecommendationsItem extends Record<string, any> {
|
|
16
|
+
customDict: RawRecommendationsItemCustomDict;
|
|
17
|
+
id: string;
|
|
18
|
+
imageUrl?: string;
|
|
19
|
+
itemName: string;
|
|
20
|
+
url: string;
|
|
21
|
+
price?: string;
|
|
22
|
+
rating?: string;
|
|
23
|
+
salePrice?: string;
|
|
24
|
+
shortDescription?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface RawRecommendationsWidget {
|
|
27
|
+
isCarousel: boolean;
|
|
28
|
+
isVertical: boolean;
|
|
29
|
+
itemsCount: number;
|
|
30
|
+
recommendationItems?: Array<RawRecommendationsItem>;
|
|
31
|
+
widgetCssClass: string;
|
|
32
|
+
widgetGuid: string;
|
|
33
|
+
widgetName: string;
|
|
34
|
+
}
|
|
35
|
+
export interface RawRecommendationsResponse {
|
|
36
|
+
isSuccess: boolean;
|
|
37
|
+
requestId: string;
|
|
38
|
+
widgetItems?: Array<RawRecommendationsWidget>;
|
|
39
|
+
}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import { RawVariantDocument } from './raw-base.models';
|
|
2
|
+
export interface RawFacetValue {
|
|
3
|
+
Count: number;
|
|
4
|
+
Label: string;
|
|
5
|
+
Level?: number;
|
|
6
|
+
Value: string;
|
|
7
|
+
RangeEnd: string;
|
|
8
|
+
RangeMax: string;
|
|
9
|
+
RangeMin: string;
|
|
10
|
+
RangeStart: string;
|
|
11
|
+
Selected?: boolean;
|
|
12
|
+
Children?: Array<RawFacetValue>;
|
|
13
|
+
}
|
|
14
|
+
export interface RawFacetRangeValue {
|
|
15
|
+
AssetFullUrl: string;
|
|
16
|
+
IsNumeric: boolean;
|
|
17
|
+
LBound: string;
|
|
18
|
+
Label: string;
|
|
19
|
+
UBound: string;
|
|
20
|
+
Value: string;
|
|
21
|
+
}
|
|
22
|
+
export interface RawFeaturedItem extends RawMerchandisingItem {
|
|
23
|
+
FeaturedItems?: Array<RawSearchResultsItem>;
|
|
24
|
+
Items?: Array<RawSearchResultsItem>;
|
|
25
|
+
}
|
|
26
|
+
export interface RawFeaturedItems {
|
|
27
|
+
Items: Array<RawFeaturedItem>;
|
|
28
|
+
}
|
|
29
|
+
export interface RawFacetSwatchValue {
|
|
30
|
+
Value: string;
|
|
31
|
+
Color?: string;
|
|
32
|
+
AssetName?: string;
|
|
33
|
+
AssetUrl?: string;
|
|
34
|
+
IsDefault: boolean;
|
|
35
|
+
}
|
|
36
|
+
export interface RawFacet {
|
|
37
|
+
AlwaysVisible: boolean;
|
|
38
|
+
CurrencySymbol: string;
|
|
39
|
+
DataType: string;
|
|
40
|
+
DisplayType: string;
|
|
41
|
+
ExpandSelection: boolean;
|
|
42
|
+
FacetId: number;
|
|
43
|
+
FacetType: string;
|
|
44
|
+
Field: string;
|
|
45
|
+
FieldType: string;
|
|
46
|
+
IsCollapsedDefault?: boolean;
|
|
47
|
+
IsCollapsible?: boolean;
|
|
48
|
+
IsCurrency: boolean;
|
|
49
|
+
IsNumeric: boolean;
|
|
50
|
+
IsSearch: boolean;
|
|
51
|
+
IsVisible: boolean;
|
|
52
|
+
Name: string;
|
|
53
|
+
ParamName?: string;
|
|
54
|
+
Ranges?: Array<RawFacetRangeValue>;
|
|
55
|
+
ScrollHeight?: number;
|
|
56
|
+
ScrollThreshold?: number;
|
|
57
|
+
SearchThreshold?: number;
|
|
58
|
+
ShowFacetCount?: boolean;
|
|
59
|
+
ShowItemsCount?: boolean;
|
|
60
|
+
Tooltip?: string;
|
|
61
|
+
TruncateThreshold?: number;
|
|
62
|
+
Values?: Array<RawFacetValue>;
|
|
63
|
+
SwatchData?: Array<RawFacetSwatchValue>;
|
|
64
|
+
}
|
|
65
|
+
export interface RawMerchandisingItem {
|
|
66
|
+
AltTag?: string;
|
|
67
|
+
BannerId: number;
|
|
68
|
+
CampaignId: number;
|
|
69
|
+
ContentType: string;
|
|
70
|
+
ForwardUrl?: string;
|
|
71
|
+
Height?: number;
|
|
72
|
+
ImageUrl?: string;
|
|
73
|
+
IsMobile: boolean;
|
|
74
|
+
IsTablet: boolean;
|
|
75
|
+
IsTrackingEnabled?: boolean;
|
|
76
|
+
MobileHeight?: number;
|
|
77
|
+
MobileWidth?: number;
|
|
78
|
+
Output?: any;
|
|
79
|
+
TabletHeight?: number;
|
|
80
|
+
TabletWidth?: number;
|
|
81
|
+
Target: string;
|
|
82
|
+
Title: string;
|
|
83
|
+
WidgetType?: string;
|
|
84
|
+
Width?: number;
|
|
85
|
+
Zone: string;
|
|
86
|
+
}
|
|
87
|
+
export interface RawMerchandising {
|
|
88
|
+
Items: Array<RawMerchandisingItem>;
|
|
89
|
+
}
|
|
90
|
+
export interface RawPageContent {
|
|
91
|
+
ZoneName: string;
|
|
92
|
+
Items: Array<RawMerchandisingItem>;
|
|
93
|
+
}
|
|
94
|
+
export interface RawSearchSelectionItem {
|
|
95
|
+
Label: string;
|
|
96
|
+
Value: string;
|
|
97
|
+
}
|
|
98
|
+
export interface RawSearchSelection {
|
|
99
|
+
Label: string;
|
|
100
|
+
Items: Array<RawSearchSelectionItem>;
|
|
101
|
+
}
|
|
102
|
+
export interface RawSearchSelections {
|
|
103
|
+
[field: string]: RawSearchSelection;
|
|
104
|
+
}
|
|
105
|
+
export interface RawSearchPagination {
|
|
106
|
+
CurrentPage: number;
|
|
107
|
+
IsShowFirstLink: boolean;
|
|
108
|
+
IsShowLastLink: boolean;
|
|
109
|
+
MaxPerPage: number;
|
|
110
|
+
NofPages: number;
|
|
111
|
+
NofResults: number;
|
|
112
|
+
NumberOfPageLinks: number;
|
|
113
|
+
Items: Array<{
|
|
114
|
+
Label: string;
|
|
115
|
+
PageSize: number;
|
|
116
|
+
Selected: boolean;
|
|
117
|
+
Default: boolean;
|
|
118
|
+
}>;
|
|
119
|
+
}
|
|
120
|
+
export interface RawSearchSorting {
|
|
121
|
+
Value?: string;
|
|
122
|
+
Items: Array<{
|
|
123
|
+
Label: string;
|
|
124
|
+
Value: string;
|
|
125
|
+
IsDefault: boolean;
|
|
126
|
+
Selected: boolean;
|
|
127
|
+
}>;
|
|
128
|
+
}
|
|
129
|
+
export interface RawSearchRedirect {
|
|
130
|
+
Location: string;
|
|
131
|
+
Target?: string;
|
|
132
|
+
}
|
|
133
|
+
export type RawSearchResultsItemDocument = Record<string, Array<string>> & RawVariantDocument;
|
|
134
|
+
export interface RawSearchResultsItem {
|
|
135
|
+
DocId: string;
|
|
136
|
+
Document: RawSearchResultsItemDocument;
|
|
137
|
+
IsPin: boolean;
|
|
138
|
+
IsVisible: boolean;
|
|
139
|
+
Score: number;
|
|
140
|
+
}
|
|
141
|
+
export interface RawSearchResponse {
|
|
142
|
+
AdjustedKeyword?: string;
|
|
143
|
+
Breadcrumb?: string;
|
|
144
|
+
CustomHtml?: string;
|
|
145
|
+
DidYouMean?: Array<string>;
|
|
146
|
+
Facets?: Array<RawFacet>;
|
|
147
|
+
FeaturedItems?: RawFeaturedItems;
|
|
148
|
+
HeaderTitle?: string;
|
|
149
|
+
Keyword?: string;
|
|
150
|
+
Merchandising?: RawMerchandising;
|
|
151
|
+
MetaDescription?: string;
|
|
152
|
+
MetaKeywords?: string;
|
|
153
|
+
MetaRobots?: string;
|
|
154
|
+
PageContent?: Array<RawPageContent>;
|
|
155
|
+
PageHeading?: string;
|
|
156
|
+
PageLayoutId?: number;
|
|
157
|
+
PageLayoutHtml?: string;
|
|
158
|
+
Pagination?: RawSearchPagination;
|
|
159
|
+
Redirect?: RawSearchRedirect;
|
|
160
|
+
RelCanonical?: string;
|
|
161
|
+
Results?: Array<RawSearchResultsItem>;
|
|
162
|
+
Selections?: RawSearchSelections;
|
|
163
|
+
Sorting?: RawSearchSorting;
|
|
164
|
+
Success: boolean;
|
|
165
|
+
TrackingId: string;
|
|
166
|
+
}
|
|
167
|
+
export interface RawSearchRequest {
|
|
168
|
+
ClientData?: {
|
|
169
|
+
UserAgent?: string;
|
|
170
|
+
VisitorId?: string;
|
|
171
|
+
VisitId?: string;
|
|
172
|
+
};
|
|
173
|
+
ClientGuid: string;
|
|
174
|
+
CustomURL?: string;
|
|
175
|
+
IgnoreSpellcheck?: boolean;
|
|
176
|
+
IndexName?: string;
|
|
177
|
+
IsInPreview?: boolean;
|
|
178
|
+
Keyword?: string;
|
|
179
|
+
FacetSelections?: Record<string, Array<string> | undefined>;
|
|
180
|
+
MaxPerPage?: number;
|
|
181
|
+
PageNo?: number;
|
|
182
|
+
SearchWithin?: string;
|
|
183
|
+
SortBy?: string;
|
|
184
|
+
Variants?: {
|
|
185
|
+
CountFacetHitOnChild?: boolean;
|
|
186
|
+
MaxPerPage?: number;
|
|
187
|
+
PageNo?: number;
|
|
188
|
+
SortBy?: string;
|
|
189
|
+
SortCode?: string;
|
|
190
|
+
};
|
|
191
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Item } from './base.models';
|
|
2
|
+
/**
|
|
3
|
+
* @category Recommendations
|
|
4
|
+
*/
|
|
5
|
+
export interface RecommendationsRequest {
|
|
6
|
+
widgetId: string;
|
|
7
|
+
itemId?: string;
|
|
8
|
+
url?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* @category Recommendations
|
|
12
|
+
*/
|
|
13
|
+
export interface RecommendationsItem extends Item {
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* @category Recommendations
|
|
17
|
+
*/
|
|
18
|
+
export interface RecommendationsWidget {
|
|
19
|
+
id: string;
|
|
20
|
+
requestId: string;
|
|
21
|
+
title: string;
|
|
22
|
+
carousel: boolean;
|
|
23
|
+
items?: Array<RecommendationsItem>;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* @category Recommendations
|
|
27
|
+
*/
|
|
28
|
+
export interface RecommendationsResponse {
|
|
29
|
+
requestId: string;
|
|
30
|
+
widgets?: Array<RecommendationsWidget>;
|
|
31
|
+
}
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
import { Item, ItemType, ItemVariant } from './base.models';
|
|
2
|
+
import { ContentZones } from './content.models';
|
|
3
|
+
/**
|
|
4
|
+
* @category Search
|
|
5
|
+
*/
|
|
6
|
+
export type FacetValueState = {
|
|
7
|
+
toggled?: boolean;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* @category Search
|
|
11
|
+
*/
|
|
12
|
+
export type FacetState = {
|
|
13
|
+
id: number;
|
|
14
|
+
collapsed?: boolean;
|
|
15
|
+
filter?: string;
|
|
16
|
+
toggled?: boolean;
|
|
17
|
+
values?: Record<string, FacetValueState>;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* @category Search
|
|
21
|
+
*/
|
|
22
|
+
export type FacetType = 'checkbox' | 'color' | 'date-range' | 'link' | 'numeric-range' | 'range-slider' | 'recent-searches' | 'related-searches' | 'search' | 'size' | 'tabs' | 'unsupported';
|
|
23
|
+
/**
|
|
24
|
+
* @category Search
|
|
25
|
+
*/
|
|
26
|
+
export interface ContentConfiguration {
|
|
27
|
+
breadcrumbs?: string;
|
|
28
|
+
customHtml?: string;
|
|
29
|
+
heading?: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* @category Search
|
|
33
|
+
*/
|
|
34
|
+
export interface SelectedFacetValue {
|
|
35
|
+
title: string;
|
|
36
|
+
value: string;
|
|
37
|
+
excluded: boolean;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* @category Search
|
|
41
|
+
*/
|
|
42
|
+
export interface SelectedFacet {
|
|
43
|
+
field: string;
|
|
44
|
+
currency: boolean;
|
|
45
|
+
title: string;
|
|
46
|
+
values: Array<SelectedFacetValue>;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* @category Search
|
|
50
|
+
*/
|
|
51
|
+
export interface FacetScrolling {
|
|
52
|
+
height?: number;
|
|
53
|
+
threshold: number;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* @category Search
|
|
57
|
+
*/
|
|
58
|
+
export interface FacetTruncation {
|
|
59
|
+
threshold: number;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* @category Search
|
|
63
|
+
*/
|
|
64
|
+
export interface FacetSearch {
|
|
65
|
+
threshold: number;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* @category Search
|
|
69
|
+
*/
|
|
70
|
+
export interface FacetValueColor {
|
|
71
|
+
name: string;
|
|
72
|
+
hex?: string;
|
|
73
|
+
imageUrl?: string;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* @category Search
|
|
77
|
+
*/
|
|
78
|
+
export interface FacetValue {
|
|
79
|
+
title: string;
|
|
80
|
+
imageUrl?: string;
|
|
81
|
+
value?: string;
|
|
82
|
+
color?: FacetValueColor;
|
|
83
|
+
count?: number;
|
|
84
|
+
level?: number;
|
|
85
|
+
selected?: boolean;
|
|
86
|
+
excluded?: boolean;
|
|
87
|
+
children?: Array<FacetValue>;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* @category Search
|
|
91
|
+
*/
|
|
92
|
+
interface FacetRange<T> {
|
|
93
|
+
type: string;
|
|
94
|
+
min: T;
|
|
95
|
+
max: T;
|
|
96
|
+
start: T;
|
|
97
|
+
end: T;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* @category Search
|
|
101
|
+
*/
|
|
102
|
+
export interface DateFacetRange extends FacetRange<Date> {
|
|
103
|
+
type: 'date';
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* @category Search
|
|
107
|
+
*/
|
|
108
|
+
export interface NumericFacetRange extends FacetRange<number> {
|
|
109
|
+
type: 'numeric';
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* @category Search
|
|
113
|
+
*/
|
|
114
|
+
export interface Facet {
|
|
115
|
+
id: number;
|
|
116
|
+
type: FacetType;
|
|
117
|
+
title: string;
|
|
118
|
+
values?: Array<FacetValue>;
|
|
119
|
+
field: string;
|
|
120
|
+
collapsible: boolean;
|
|
121
|
+
collapsed?: boolean;
|
|
122
|
+
displayCount?: boolean;
|
|
123
|
+
range?: DateFacetRange | NumericFacetRange;
|
|
124
|
+
scrolling?: FacetScrolling;
|
|
125
|
+
search?: FacetSearch;
|
|
126
|
+
searchWithin?: string;
|
|
127
|
+
tooltip?: string;
|
|
128
|
+
truncation?: FacetTruncation;
|
|
129
|
+
visible: boolean;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* @category Search
|
|
133
|
+
*/
|
|
134
|
+
export interface PaginationOption {
|
|
135
|
+
title: string;
|
|
136
|
+
pageSize: number;
|
|
137
|
+
selected: boolean;
|
|
138
|
+
default: boolean;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* @category Search
|
|
142
|
+
*/
|
|
143
|
+
export interface Pagination {
|
|
144
|
+
page: number;
|
|
145
|
+
pageSize: number;
|
|
146
|
+
totalPages: number;
|
|
147
|
+
totalResults: number;
|
|
148
|
+
maxPageLinks?: number;
|
|
149
|
+
displayFirstLink: boolean;
|
|
150
|
+
displayLastLink: boolean;
|
|
151
|
+
options: Array<PaginationOption>;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* @category Search
|
|
155
|
+
*/
|
|
156
|
+
export interface Redirect {
|
|
157
|
+
url: string;
|
|
158
|
+
target?: string;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* @category Search
|
|
162
|
+
*/
|
|
163
|
+
export interface SeoConfiguration {
|
|
164
|
+
canonicalUrl?: string;
|
|
165
|
+
description?: string;
|
|
166
|
+
keywords?: string;
|
|
167
|
+
robots?: string;
|
|
168
|
+
title?: string;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* @category Search
|
|
172
|
+
*/
|
|
173
|
+
export interface SortingOption {
|
|
174
|
+
title: string;
|
|
175
|
+
value: string;
|
|
176
|
+
default: boolean;
|
|
177
|
+
selected: boolean;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* @category Search
|
|
181
|
+
*/
|
|
182
|
+
export interface Sorting {
|
|
183
|
+
value?: string;
|
|
184
|
+
options: Array<SortingOption>;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* @category Search
|
|
188
|
+
*/
|
|
189
|
+
export interface SearchResultsItemVariant extends ItemVariant {
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* @category Search
|
|
193
|
+
*/
|
|
194
|
+
export interface SearchResultsItem extends Item {
|
|
195
|
+
pinned: boolean;
|
|
196
|
+
score: number;
|
|
197
|
+
type: ItemType;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* @category Search
|
|
201
|
+
*/
|
|
202
|
+
export interface SearchResponse {
|
|
203
|
+
content?: ContentConfiguration;
|
|
204
|
+
contentZones?: ContentZones;
|
|
205
|
+
customLayout?: string;
|
|
206
|
+
facets?: Array<Facet>;
|
|
207
|
+
modifiedQuery?: string;
|
|
208
|
+
pagination?: Pagination;
|
|
209
|
+
query?: string;
|
|
210
|
+
querySuggestions?: Array<string>;
|
|
211
|
+
redirect?: Redirect;
|
|
212
|
+
results?: Array<SearchResultsItem>;
|
|
213
|
+
selectedFacets?: Array<SelectedFacet>;
|
|
214
|
+
seo?: SeoConfiguration;
|
|
215
|
+
sorting?: Sorting;
|
|
216
|
+
success: boolean;
|
|
217
|
+
trackingId: string;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* @category Search
|
|
221
|
+
*/
|
|
222
|
+
export type SelectedFacets = Record<string, Array<string> | undefined>;
|
|
223
|
+
/**
|
|
224
|
+
* @category Search
|
|
225
|
+
*/
|
|
226
|
+
export interface SearchRequest {
|
|
227
|
+
disableSpellcheck?: boolean;
|
|
228
|
+
facets?: SelectedFacets;
|
|
229
|
+
newRequest: boolean;
|
|
230
|
+
pageSize?: number;
|
|
231
|
+
page?: number;
|
|
232
|
+
query?: string;
|
|
233
|
+
searchWithin?: string;
|
|
234
|
+
sort?: string;
|
|
235
|
+
url?: string;
|
|
236
|
+
}
|
|
237
|
+
export {};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @category Tracking
|
|
3
|
+
*/
|
|
4
|
+
export declare enum AutocompleteItemType {
|
|
5
|
+
Search = 1,
|
|
6
|
+
Category = 2,
|
|
7
|
+
Product = 3,
|
|
8
|
+
Content = 4
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* @category Tracking
|
|
12
|
+
*/
|
|
13
|
+
export declare enum EventType {
|
|
14
|
+
PageLoad = 1,
|
|
15
|
+
Search = 2,
|
|
16
|
+
Click = 3,
|
|
17
|
+
AddToCart = 4,
|
|
18
|
+
Rate = 5,
|
|
19
|
+
Sale = 6,
|
|
20
|
+
BannerClick = 7,
|
|
21
|
+
BannerImpression = 8,
|
|
22
|
+
RecommendationClick = 10,
|
|
23
|
+
AutocompleteClick = 11,
|
|
24
|
+
AddToCartMultiple = 14
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* @category Tracking
|
|
28
|
+
*/
|
|
29
|
+
export declare enum PageType {
|
|
30
|
+
Item = 1,
|
|
31
|
+
Landing = 2,
|
|
32
|
+
Cart = 3,
|
|
33
|
+
Order = 4,
|
|
34
|
+
Custom = 5
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* @category Tracking
|
|
38
|
+
*/
|
|
39
|
+
export declare enum SearchType {
|
|
40
|
+
Initial = 1,
|
|
41
|
+
Refinement = 2
|
|
42
|
+
}
|
|
Binary file
|