@bridgeline-digital/hawksearch-handlebars-ui 5.2.0 → 5.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/changelog.md +7 -1
  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 -0
  59. package/dist/index.js +3 -0
  60. package/dist/index.js.LICENSE.txt +26 -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
@@ -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';
@@ -0,0 +1,4 @@
1
+ export * from './raw-autocomplete.models';
2
+ export * from './raw-base.models';
3
+ export * from './raw-recommendation.models';
4
+ export * from './raw-search.models';