@bridgeline-digital/hawksearch-handlebars-ui 5.2.0 → 5.2.1
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 +1 -1
- 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 +39 -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 +602 -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 -0
- package/dist/index.js +3 -0
- package/dist/index.js.LICENSE.txt +26 -0
- package/dist/index.js.map +1 -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/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.65c0ab8e75ac4bcab10e99f66a160664.css +1 -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/package.json +1 -1
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { Item } from './base.models';
|
|
2
|
+
/**
|
|
3
|
+
* @category Autocomplete
|
|
4
|
+
*/
|
|
5
|
+
export interface AutocompleteRequest {
|
|
6
|
+
query?: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* @category Autocomplete
|
|
10
|
+
*/
|
|
11
|
+
export interface AutocompleteCategory {
|
|
12
|
+
title: string;
|
|
13
|
+
field: string;
|
|
14
|
+
value: string;
|
|
15
|
+
url: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* @category Autocomplete
|
|
19
|
+
*/
|
|
20
|
+
export interface AutocompleteCategories {
|
|
21
|
+
title: string;
|
|
22
|
+
results: Array<AutocompleteCategory>;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* @category Autocomplete
|
|
26
|
+
*/
|
|
27
|
+
export interface AutocompleteContentResult {
|
|
28
|
+
id: string;
|
|
29
|
+
title: string;
|
|
30
|
+
url: string;
|
|
31
|
+
pinned: boolean;
|
|
32
|
+
score: number;
|
|
33
|
+
attributes?: Record<string, Array<string>>;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* @category Autocomplete
|
|
37
|
+
*/
|
|
38
|
+
export interface AutocompleteContent {
|
|
39
|
+
title: string;
|
|
40
|
+
results: Array<AutocompleteContentResult>;
|
|
41
|
+
totalRecords: number;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* @category Autocomplete
|
|
45
|
+
*/
|
|
46
|
+
export interface AutocompleteQuery {
|
|
47
|
+
query: string;
|
|
48
|
+
url: string;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* @category Autocomplete
|
|
52
|
+
*/
|
|
53
|
+
export interface AutocompleteQueries {
|
|
54
|
+
title: string;
|
|
55
|
+
results: Array<AutocompleteQuery>;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* @category Autocomplete
|
|
59
|
+
*/
|
|
60
|
+
export interface AutocompleteProductResult extends Item {
|
|
61
|
+
pinned: boolean;
|
|
62
|
+
score: number;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* @category Autocomplete
|
|
66
|
+
*/
|
|
67
|
+
export interface AutocompleteProducts {
|
|
68
|
+
title: string;
|
|
69
|
+
results: Array<AutocompleteProductResult>;
|
|
70
|
+
totalRecords: number;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* @category Autocomplete
|
|
74
|
+
*/
|
|
75
|
+
export interface AutocompleteResponse {
|
|
76
|
+
query?: string;
|
|
77
|
+
categories: AutocompleteCategories;
|
|
78
|
+
content: AutocompleteContent;
|
|
79
|
+
products: AutocompleteProducts;
|
|
80
|
+
queries: AutocompleteQueries;
|
|
81
|
+
contentSuggestedQueries: AutocompleteQueries;
|
|
82
|
+
productSuggestedQueries: AutocompleteQueries;
|
|
83
|
+
totalRecords: number;
|
|
84
|
+
viewAllText: string;
|
|
85
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @category Base
|
|
3
|
+
*/
|
|
4
|
+
export type ItemType = 'content' | 'product';
|
|
5
|
+
/**
|
|
6
|
+
* @category Base
|
|
7
|
+
*/
|
|
8
|
+
export interface ItemVariant {
|
|
9
|
+
attributes: Record<string, Array<string>>;
|
|
10
|
+
color?: {
|
|
11
|
+
name?: string;
|
|
12
|
+
hex?: string;
|
|
13
|
+
imageUrl?: string;
|
|
14
|
+
};
|
|
15
|
+
description?: string;
|
|
16
|
+
id: string;
|
|
17
|
+
imageUrl?: string;
|
|
18
|
+
price?: number;
|
|
19
|
+
queryMatch: boolean;
|
|
20
|
+
rating?: number;
|
|
21
|
+
salePrice?: number;
|
|
22
|
+
sku?: string;
|
|
23
|
+
title?: string;
|
|
24
|
+
url?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* @category Base
|
|
28
|
+
*/
|
|
29
|
+
export interface Variants {
|
|
30
|
+
items: Array<ItemVariant>;
|
|
31
|
+
selectedItem?: ItemVariant;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* @category Base
|
|
35
|
+
*/
|
|
36
|
+
export interface Item {
|
|
37
|
+
attributes?: Record<string, Array<string>>;
|
|
38
|
+
description?: string;
|
|
39
|
+
id: string;
|
|
40
|
+
imageUrl?: string;
|
|
41
|
+
price?: number;
|
|
42
|
+
rating?: number;
|
|
43
|
+
salePrice?: number;
|
|
44
|
+
selectedVariant?: ItemVariant;
|
|
45
|
+
sku?: string;
|
|
46
|
+
title: string;
|
|
47
|
+
url: string;
|
|
48
|
+
variants?: Array<ItemVariant>;
|
|
49
|
+
visible?: boolean;
|
|
50
|
+
}
|
|
@@ -0,0 +1,453 @@
|
|
|
1
|
+
import { AutocompleteResponse } from './autocomplete.models';
|
|
2
|
+
import { ItemVariant } from './base.models';
|
|
3
|
+
import { ContentType, ContentZone, CustomContent, FeaturedItemsContent, ImageContent, PopularQueriesContent } from './content.models';
|
|
4
|
+
import { RecommendationsItem, RecommendationsWidget } from './recommendation.models';
|
|
5
|
+
import { Facet, FacetValue, PaginationOption, SearchResponse, SearchResultsItem, SortingOption } from './search.models';
|
|
6
|
+
import { AutocompleteItemType } from './tracking.models';
|
|
7
|
+
/**
|
|
8
|
+
* @category Components
|
|
9
|
+
*/
|
|
10
|
+
export interface CalendarDay {
|
|
11
|
+
date: Date;
|
|
12
|
+
value: string;
|
|
13
|
+
currentMonth: boolean;
|
|
14
|
+
enabled: boolean;
|
|
15
|
+
selected: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* @category Components
|
|
19
|
+
*/
|
|
20
|
+
export interface CheckboxListFacetValue extends FacetValue {
|
|
21
|
+
visible: boolean;
|
|
22
|
+
toggled: boolean;
|
|
23
|
+
hasChildren: boolean;
|
|
24
|
+
children?: Array<CheckboxListFacetValue>;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* @category Components
|
|
28
|
+
*/
|
|
29
|
+
export interface ColorFacetValue extends FacetValue {
|
|
30
|
+
visible: boolean;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* @category Components
|
|
34
|
+
*/
|
|
35
|
+
export type IconName = 'chevron-back' | 'chevron-down' | 'chevron-forward' | 'chevron-left' | 'chevron-right' | 'chevron-up' | 'cross' | 'help' | 'minus' | 'plus' | 'star' | 'star-empty' | 'star-half';
|
|
36
|
+
/**
|
|
37
|
+
* @category Components
|
|
38
|
+
*/
|
|
39
|
+
export interface LinkListFacetValue extends FacetValue {
|
|
40
|
+
visible: boolean;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* @category Components
|
|
44
|
+
*/
|
|
45
|
+
export interface ModifiedQueryData {
|
|
46
|
+
display: boolean;
|
|
47
|
+
query?: string;
|
|
48
|
+
modifiedQuery?: string;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* @category Components
|
|
52
|
+
*/
|
|
53
|
+
export interface QuerySuggestionsData {
|
|
54
|
+
display: boolean;
|
|
55
|
+
querySuggestions?: Array<string>;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* @category Components
|
|
59
|
+
*/
|
|
60
|
+
export interface RangeSliderEventData {
|
|
61
|
+
start: number;
|
|
62
|
+
end: number;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* @category Components
|
|
66
|
+
*/
|
|
67
|
+
export type SearchResultsMode = 'landing-page' | 'search-results';
|
|
68
|
+
/**
|
|
69
|
+
* @category Components
|
|
70
|
+
*/
|
|
71
|
+
export interface SizeFacetValue extends FacetValue {
|
|
72
|
+
visible: boolean;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* @category Components
|
|
76
|
+
*/
|
|
77
|
+
export interface BaseComponentModel {
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* @category Components
|
|
81
|
+
*/
|
|
82
|
+
export interface AutocompleteComponentModel extends BaseComponentModel, AutocompleteResponse {
|
|
83
|
+
AutocompleteItemType: typeof AutocompleteItemType;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* @category Components
|
|
87
|
+
*/
|
|
88
|
+
export interface CheckboxListFacetComponentModel extends BaseComponentModel {
|
|
89
|
+
values: Array<CheckboxListFacetValue>;
|
|
90
|
+
excludeEnabled: boolean;
|
|
91
|
+
expanded: boolean;
|
|
92
|
+
displayCount: boolean;
|
|
93
|
+
maxHeight?: number;
|
|
94
|
+
showToggle: boolean;
|
|
95
|
+
strings: {
|
|
96
|
+
collapse: string;
|
|
97
|
+
exclude: string;
|
|
98
|
+
expand: string;
|
|
99
|
+
include: string;
|
|
100
|
+
toggle: string;
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* @category Components
|
|
105
|
+
*/
|
|
106
|
+
export interface ColorFacetComponentModel extends BaseComponentModel {
|
|
107
|
+
values: Array<ColorFacetValue>;
|
|
108
|
+
showToggle: boolean;
|
|
109
|
+
expanded: boolean;
|
|
110
|
+
excludeEnabled: boolean;
|
|
111
|
+
strings: {
|
|
112
|
+
exclude: string;
|
|
113
|
+
include: string;
|
|
114
|
+
toggle: string;
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* @category Components
|
|
119
|
+
*/
|
|
120
|
+
export interface ContentZoneComponentModel extends BaseComponentModel, Omit<ContentZone, 'items'> {
|
|
121
|
+
items: Array<ContentType>;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* @category Components
|
|
125
|
+
*/
|
|
126
|
+
export interface CustomContentComponentModel extends BaseComponentModel, CustomContent {
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* @category Components
|
|
130
|
+
*/
|
|
131
|
+
export interface DatePickerComponentModel extends BaseComponentModel {
|
|
132
|
+
value: string;
|
|
133
|
+
modalVisible: boolean;
|
|
134
|
+
monthSelectorVisible: boolean;
|
|
135
|
+
years: Array<number>;
|
|
136
|
+
months: Array<string>;
|
|
137
|
+
weeks: Array<Array<CalendarDay>>;
|
|
138
|
+
currentYear: number;
|
|
139
|
+
currentMonth: string;
|
|
140
|
+
strings: {
|
|
141
|
+
heading: string;
|
|
142
|
+
label: string;
|
|
143
|
+
next: string;
|
|
144
|
+
previous: string;
|
|
145
|
+
selectMonth: string;
|
|
146
|
+
viewCalendar: string;
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* @category Components
|
|
151
|
+
*/
|
|
152
|
+
export interface DateRangeFacetComponentModel extends BaseComponentModel {
|
|
153
|
+
startValue: string;
|
|
154
|
+
endValue: string;
|
|
155
|
+
minValue: string;
|
|
156
|
+
maxValue: string;
|
|
157
|
+
strings: {
|
|
158
|
+
startDate: string;
|
|
159
|
+
endDate: string;
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* @category Components
|
|
164
|
+
*/
|
|
165
|
+
export interface FacetWrapperComponentModel extends BaseComponentModel, Facet {
|
|
166
|
+
collapsed: boolean;
|
|
167
|
+
filter: string;
|
|
168
|
+
searchable: boolean;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* @category Components
|
|
172
|
+
*/
|
|
173
|
+
export interface FacetsListComponentModel extends BaseComponentModel {
|
|
174
|
+
facets: Array<Facet>;
|
|
175
|
+
expanded: boolean;
|
|
176
|
+
strings: {
|
|
177
|
+
heading: string;
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* @category Components
|
|
182
|
+
*/
|
|
183
|
+
export interface FeaturedItemsContentComponentModel extends BaseComponentModel, FeaturedItemsContent {
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* @category Components
|
|
187
|
+
*/
|
|
188
|
+
export interface FeaturedItemsContentItemComponentModel extends SearchResultsItemComponentModel {
|
|
189
|
+
strings: {
|
|
190
|
+
sale: string;
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* @category Components
|
|
195
|
+
*/
|
|
196
|
+
export interface IconComponentModel extends BaseComponentModel {
|
|
197
|
+
svg: string;
|
|
198
|
+
url: string;
|
|
199
|
+
height: string;
|
|
200
|
+
width: string;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* @category Components
|
|
204
|
+
*/
|
|
205
|
+
export interface ImageContentComponentModel extends BaseComponentModel, ImageContent {
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* @category Components
|
|
209
|
+
*/
|
|
210
|
+
export interface LandingPageComponentModel extends BaseComponentModel, SearchResponse {
|
|
211
|
+
url: string;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* @category Components
|
|
215
|
+
*/
|
|
216
|
+
export interface LinkListFacetComponentModel extends BaseComponentModel {
|
|
217
|
+
values: Array<LinkListFacetValue>;
|
|
218
|
+
displayCount: boolean;
|
|
219
|
+
expanded: boolean;
|
|
220
|
+
maxHeight?: number;
|
|
221
|
+
showToggle: boolean;
|
|
222
|
+
strings: {
|
|
223
|
+
toggle: string;
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* @category Components
|
|
228
|
+
*/
|
|
229
|
+
export interface ModifiedQueryComponentModel extends BaseComponentModel {
|
|
230
|
+
query: string;
|
|
231
|
+
modifiedQuery: string;
|
|
232
|
+
strings: {
|
|
233
|
+
showingResultsFor: string;
|
|
234
|
+
searchInsteadFor: string;
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* @category Components
|
|
239
|
+
*/
|
|
240
|
+
export interface NumericRangeFacetComponentModel extends BaseComponentModel {
|
|
241
|
+
start: number;
|
|
242
|
+
end: number;
|
|
243
|
+
min: number;
|
|
244
|
+
max: number;
|
|
245
|
+
strings: {
|
|
246
|
+
minimum: string;
|
|
247
|
+
maximum: string;
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* @category Components
|
|
252
|
+
*/
|
|
253
|
+
export interface PageSizeComponentModel extends BaseComponentModel {
|
|
254
|
+
options: Array<PaginationOption>;
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* @category Components
|
|
258
|
+
*/
|
|
259
|
+
export interface PaginationComponentModel extends BaseComponentModel {
|
|
260
|
+
page: number;
|
|
261
|
+
pages: Array<number>;
|
|
262
|
+
firstPage: number;
|
|
263
|
+
lastPage: number;
|
|
264
|
+
firstRecord: number;
|
|
265
|
+
lastRecord: number;
|
|
266
|
+
totalRecords: number;
|
|
267
|
+
totalPages: number;
|
|
268
|
+
maxPageLinks: number;
|
|
269
|
+
displayFirstLink: boolean;
|
|
270
|
+
displayPreviousLink: boolean;
|
|
271
|
+
displayNextLink: boolean;
|
|
272
|
+
displayLastLink: boolean;
|
|
273
|
+
strings: {
|
|
274
|
+
first: string;
|
|
275
|
+
last: string;
|
|
276
|
+
next: string;
|
|
277
|
+
previous: string;
|
|
278
|
+
summary: string;
|
|
279
|
+
};
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* @category Components
|
|
283
|
+
*/
|
|
284
|
+
export interface PopularQueriesContentComponentModel extends BaseComponentModel, PopularQueriesContent {
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* @category Components
|
|
288
|
+
*/
|
|
289
|
+
export interface QuerySuggestionsComponentModel extends BaseComponentModel {
|
|
290
|
+
querySuggestions: Array<string>;
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* @category Components
|
|
294
|
+
*/
|
|
295
|
+
export interface RangeSliderComponentModel extends BaseComponentModel {
|
|
296
|
+
start: number;
|
|
297
|
+
end: number;
|
|
298
|
+
strings: {
|
|
299
|
+
start: string;
|
|
300
|
+
end: string;
|
|
301
|
+
};
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* @category Components
|
|
305
|
+
*/
|
|
306
|
+
export interface RangeSliderFacetComponentModel extends BaseComponentModel {
|
|
307
|
+
start: number;
|
|
308
|
+
end: number;
|
|
309
|
+
min: number;
|
|
310
|
+
max: number;
|
|
311
|
+
sliderStart: number;
|
|
312
|
+
sliderEnd: number;
|
|
313
|
+
strings: {
|
|
314
|
+
minimum: string;
|
|
315
|
+
maximum: string;
|
|
316
|
+
};
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* @category Components
|
|
320
|
+
*/
|
|
321
|
+
export interface RatingComponentModel extends BaseComponentModel {
|
|
322
|
+
rating: number;
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* @category Components
|
|
326
|
+
*/
|
|
327
|
+
export interface RecommendationsComponentModel extends BaseComponentModel, RecommendationsWidget {
|
|
328
|
+
buttonsEnabled: boolean;
|
|
329
|
+
carouselPosition: string | undefined;
|
|
330
|
+
headingEnabled: boolean;
|
|
331
|
+
itemWidth: string;
|
|
332
|
+
paginationEnabled: boolean;
|
|
333
|
+
paginationItems: Array<{
|
|
334
|
+
selected: boolean;
|
|
335
|
+
title: string;
|
|
336
|
+
}>;
|
|
337
|
+
strings: {
|
|
338
|
+
next: string;
|
|
339
|
+
previous: string;
|
|
340
|
+
};
|
|
341
|
+
}
|
|
342
|
+
/**
|
|
343
|
+
* @category Components
|
|
344
|
+
*/
|
|
345
|
+
export interface RecommendationsItemComponentModel extends BaseComponentModel, RecommendationsItem {
|
|
346
|
+
strings: {
|
|
347
|
+
sale: string;
|
|
348
|
+
};
|
|
349
|
+
}
|
|
350
|
+
/**
|
|
351
|
+
* @category Components
|
|
352
|
+
*/
|
|
353
|
+
export interface RecentSearchesFacetComponentModel extends BaseComponentModel {
|
|
354
|
+
values: Array<string>;
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* @category Components
|
|
358
|
+
*/
|
|
359
|
+
export interface RelatedSearchesFacetComponentModel extends BaseComponentModel {
|
|
360
|
+
values: Array<string>;
|
|
361
|
+
}
|
|
362
|
+
/**
|
|
363
|
+
* @category Components
|
|
364
|
+
*/
|
|
365
|
+
export interface SearchFieldComponentModel extends BaseComponentModel {
|
|
366
|
+
query?: string;
|
|
367
|
+
strings: {
|
|
368
|
+
placeholder: string;
|
|
369
|
+
};
|
|
370
|
+
}
|
|
371
|
+
/**
|
|
372
|
+
* @category Components
|
|
373
|
+
*/
|
|
374
|
+
export interface SearchResultsComponentModel extends BaseComponentModel, SearchResponse {
|
|
375
|
+
}
|
|
376
|
+
/**
|
|
377
|
+
* @category Components
|
|
378
|
+
*/
|
|
379
|
+
export interface SearchResultsItemComponentModel extends BaseComponentModel, SearchResultsItem {
|
|
380
|
+
strings: {
|
|
381
|
+
sale: string;
|
|
382
|
+
};
|
|
383
|
+
}
|
|
384
|
+
/**
|
|
385
|
+
* @category Components
|
|
386
|
+
*/
|
|
387
|
+
export interface SearchResultsListComponentModel extends BaseComponentModel {
|
|
388
|
+
items: Array<SearchResultsItem>;
|
|
389
|
+
}
|
|
390
|
+
/**
|
|
391
|
+
* @category Components
|
|
392
|
+
*/
|
|
393
|
+
export interface SearchWithinFacetComponentModel extends BaseComponentModel {
|
|
394
|
+
value: string;
|
|
395
|
+
strings: {
|
|
396
|
+
label: string;
|
|
397
|
+
};
|
|
398
|
+
}
|
|
399
|
+
/**
|
|
400
|
+
* @category Components
|
|
401
|
+
*/
|
|
402
|
+
export interface SelectedFacetsComponentModel extends BaseComponentModel {
|
|
403
|
+
selections: Array<{
|
|
404
|
+
field: string;
|
|
405
|
+
title: string;
|
|
406
|
+
selectionTitle: string;
|
|
407
|
+
selectionValue: string;
|
|
408
|
+
excluded: boolean;
|
|
409
|
+
}>;
|
|
410
|
+
strings: {
|
|
411
|
+
remove: string;
|
|
412
|
+
};
|
|
413
|
+
}
|
|
414
|
+
/**
|
|
415
|
+
* @category Components
|
|
416
|
+
*/
|
|
417
|
+
export interface SizeFacetComponentModel extends BaseComponentModel {
|
|
418
|
+
values: Array<SizeFacetValue>;
|
|
419
|
+
showToggle: boolean;
|
|
420
|
+
expanded: boolean;
|
|
421
|
+
excludeEnabled: boolean;
|
|
422
|
+
strings: {
|
|
423
|
+
exclude: string;
|
|
424
|
+
include: string;
|
|
425
|
+
toggle: string;
|
|
426
|
+
};
|
|
427
|
+
}
|
|
428
|
+
/**
|
|
429
|
+
* @category Components
|
|
430
|
+
*/
|
|
431
|
+
export interface SortingComponentModel extends BaseComponentModel {
|
|
432
|
+
options: Array<SortingOption>;
|
|
433
|
+
}
|
|
434
|
+
/**
|
|
435
|
+
* @category Components
|
|
436
|
+
*/
|
|
437
|
+
export interface TabsComponentModel extends BaseComponentModel {
|
|
438
|
+
displayCount: boolean;
|
|
439
|
+
tabs: Array<FacetValue>;
|
|
440
|
+
}
|
|
441
|
+
/**
|
|
442
|
+
* @category Components
|
|
443
|
+
*/
|
|
444
|
+
export interface TooltipComponentModel extends BaseComponentModel {
|
|
445
|
+
text: string;
|
|
446
|
+
}
|
|
447
|
+
/**
|
|
448
|
+
* @category Components
|
|
449
|
+
*/
|
|
450
|
+
export interface VariantSelectorComponentModel extends BaseComponentModel {
|
|
451
|
+
items: Array<ItemVariant>;
|
|
452
|
+
selectedItem?: ItemVariant;
|
|
453
|
+
}
|
|
@@ -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';
|