@fast-simon/shopify-hydrogen 1.0.4 → 1.0.6

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 (141) hide show
  1. package/README.md +186 -179
  2. package/dist/esnext/@types/Tab.d.ts +9 -9
  3. package/dist/esnext/@types/Tab.js +5 -5
  4. package/dist/esnext/@types/appServerProps.d.ts +12 -12
  5. package/dist/esnext/@types/appServerProps.js +1 -1
  6. package/dist/esnext/@types/articles.d.ts +12 -12
  7. package/dist/esnext/@types/articles.js +1 -1
  8. package/dist/esnext/@types/categories.d.ts +10 -10
  9. package/dist/esnext/@types/categories.js +1 -1
  10. package/dist/esnext/@types/currency.d.ts +1 -1
  11. package/dist/esnext/@types/currency.js +1 -1
  12. package/dist/esnext/@types/device.d.ts +1 -1
  13. package/dist/esnext/@types/device.js +1 -1
  14. package/dist/esnext/@types/editor.d.ts +418 -416
  15. package/dist/esnext/@types/editor.js +6 -6
  16. package/dist/esnext/@types/facets.d.ts +37 -37
  17. package/dist/esnext/@types/facets.js +16 -16
  18. package/dist/esnext/@types/ispOptions.d.ts +6 -6
  19. package/dist/esnext/@types/ispOptions.js +1 -1
  20. package/dist/esnext/@types/narrow.d.ts +7 -7
  21. package/dist/esnext/@types/narrow.js +1 -1
  22. package/dist/esnext/@types/product.d.ts +134 -134
  23. package/dist/esnext/@types/product.js +7 -7
  24. package/dist/esnext/@types/promoTile.d.ts +11 -11
  25. package/dist/esnext/@types/promoTile.js +1 -1
  26. package/dist/esnext/@types/results.d.ts +38 -36
  27. package/dist/esnext/@types/results.js +1 -1
  28. package/dist/esnext/@types/routing.d.ts +11 -11
  29. package/dist/esnext/@types/routing.js +1 -1
  30. package/dist/esnext/@types/siteSetup.d.ts +52 -52
  31. package/dist/esnext/@types/siteSetup.js +1 -1
  32. package/dist/esnext/@types/siteStatus.d.ts +5 -5
  33. package/dist/esnext/@types/siteStatus.js +1 -1
  34. package/dist/esnext/@types/sortBy.d.ts +12 -12
  35. package/dist/esnext/@types/sortBy.js +1 -1
  36. package/dist/esnext/@types/translations.d.ts +12 -12
  37. package/dist/esnext/@types/translations.js +6 -6
  38. package/dist/esnext/components/FastSimonApp.server.d.ts +9 -9
  39. package/dist/esnext/components/FastSimonApp.server.js +45 -45
  40. package/dist/esnext/components/FastSimonProvider.server.d.ts +10 -10
  41. package/dist/esnext/components/FastSimonProvider.server.js +9 -9
  42. package/dist/esnext/components/Filters/DesktopFilters/DesktopFilters.server.d.ts +8 -8
  43. package/dist/esnext/components/Filters/DesktopFilters/DesktopFilters.server.js +5 -5
  44. package/dist/esnext/components/Filters/FacetOption.client.d.ts +9 -9
  45. package/dist/esnext/components/Filters/FacetOption.client.js +39 -39
  46. package/dist/esnext/components/Filters/Filters.server.d.ts +12 -12
  47. package/dist/esnext/components/Filters/Filters.server.js +11 -11
  48. package/dist/esnext/components/Filters/FiltersList.server.d.ts +8 -8
  49. package/dist/esnext/components/Filters/FiltersList.server.js +11 -11
  50. package/dist/esnext/components/Filters/FiltersSkeleton.d.ts +3 -3
  51. package/dist/esnext/components/Filters/FiltersSkeleton.js +32 -32
  52. package/dist/esnext/components/Filters/MobileFilters/MobileFilters.client.d.ts +6 -6
  53. package/dist/esnext/components/Filters/MobileFilters/MobileFilters.client.js +20 -20
  54. package/dist/esnext/components/Filters/RemovableTags/RemovableTag.client.d.ts +8 -8
  55. package/dist/esnext/components/Filters/RemovableTags/RemovableTag.client.js +11 -11
  56. package/dist/esnext/components/Filters/RemovableTags/RemovableTags.client.d.ts +8 -8
  57. package/dist/esnext/components/Filters/RemovableTags/RemovableTags.client.js +51 -51
  58. package/dist/esnext/components/PageTitle/PageTitle.server.d.ts +7 -7
  59. package/dist/esnext/components/PageTitle/PageTitle.server.js +4 -4
  60. package/dist/esnext/components/Pagination/Pagination.client.d.ts +9 -9
  61. package/dist/esnext/components/Pagination/Pagination.client.js +43 -43
  62. package/dist/esnext/components/Pagination/utils.d.ts +1 -1
  63. package/dist/esnext/components/Pagination/utils.js +4 -4
  64. package/dist/esnext/components/ProductCard/ProductCard.d.ts +10 -10
  65. package/dist/esnext/components/ProductCard/ProductCard.js +31 -31
  66. package/dist/esnext/components/ProductCard/components/AddToCart/AddToCart.client.d.ts +10 -10
  67. package/dist/esnext/components/ProductCard/components/AddToCart/AddToCart.client.js +23 -23
  68. package/dist/esnext/components/ProductCard/components/Compare/Compare.d.ts +6 -6
  69. package/dist/esnext/components/ProductCard/components/Compare/Compare.js +6 -6
  70. package/dist/esnext/components/ProductCard/components/Info/ProductInfo.d.ts +9 -9
  71. package/dist/esnext/components/ProductCard/components/Info/ProductInfo.js +11 -11
  72. package/dist/esnext/components/ProductCard/components/Price/Price.d.ts +7 -7
  73. package/dist/esnext/components/ProductCard/components/Price/Price.js +6 -6
  74. package/dist/esnext/components/ProductCard/components/ProductImage/ProductImage.d.ts +8 -8
  75. package/dist/esnext/components/ProductCard/components/ProductImage/ProductImage.js +7 -7
  76. package/dist/esnext/components/ProductCard/components/Title/Title.d.ts +7 -7
  77. package/dist/esnext/components/ProductCard/components/Title/Title.js +4 -4
  78. package/dist/esnext/components/ProductGrid/ProductGrid.server.d.ts +10 -10
  79. package/dist/esnext/components/ProductGrid/ProductGrid.server.js +10 -10
  80. package/dist/esnext/components/ProductGrid/stylesUtil.d.ts +138 -138
  81. package/dist/esnext/components/ProductGrid/stylesUtil.js +122 -122
  82. package/dist/esnext/components/ResultsSummary/ResultsSummary.server.d.ts +7 -7
  83. package/dist/esnext/components/ResultsSummary/ResultsSummary.server.js +8 -8
  84. package/dist/esnext/components/SortBy/SortBy.client.d.ts +10 -10
  85. package/dist/esnext/components/SortBy/SortBy.client.js +8 -8
  86. package/dist/esnext/components/SortBy/components/DesktopSortBy.client.d.ts +8 -8
  87. package/dist/esnext/components/SortBy/components/DesktopSortBy.client.js +30 -30
  88. package/dist/esnext/components/SortBy/utils.d.ts +8 -8
  89. package/dist/esnext/components/SortBy/utils.js +28 -28
  90. package/dist/esnext/components/index.d.ts +2 -2
  91. package/dist/esnext/components/index.js +2 -2
  92. package/dist/esnext/context/setRoutingContext.d.ts +2 -2
  93. package/dist/esnext/context/setRoutingContext.js +14 -14
  94. package/dist/esnext/context/setSiteContext.d.ts +6 -6
  95. package/dist/esnext/context/setSiteContext.js +18 -18
  96. package/dist/esnext/hooks/ResizeDetect.client.d.ts +2 -2
  97. package/dist/esnext/hooks/ResizeDetect.client.js +6 -6
  98. package/dist/esnext/hooks/useClickOutside.d.ts +1 -1
  99. package/dist/esnext/hooks/useClickOutside.js +12 -12
  100. package/dist/esnext/hooks/useScreenSize.d.ts +1 -1
  101. package/dist/esnext/hooks/useScreenSize.js +19 -19
  102. package/dist/esnext/icons/DownArrowIcon.d.ts +9 -9
  103. package/dist/esnext/icons/DownArrowIcon.js +5 -5
  104. package/dist/esnext/icons/LeftArrowIcon.d.ts +8 -8
  105. package/dist/esnext/icons/LeftArrowIcon.js +5 -5
  106. package/dist/esnext/icons/RejectIcon.d.ts +8 -8
  107. package/dist/esnext/icons/RejectIcon.js +5 -5
  108. package/dist/esnext/icons/RightArrowIcon.d.ts +8 -8
  109. package/dist/esnext/icons/RightArrowIcon.js +5 -5
  110. package/dist/esnext/icons/Spinner.d.ts +11 -11
  111. package/dist/esnext/icons/Spinner.js +6 -6
  112. package/dist/esnext/index.d.ts +1 -1
  113. package/dist/esnext/index.js +1 -1
  114. package/dist/esnext/services/__tests__/categories_navigation.test.d.ts +1 -0
  115. package/dist/esnext/services/__tests__/categories_navigation.test.js +90 -0
  116. package/dist/esnext/services/categories_navigation.d.ts +69 -48
  117. package/dist/esnext/services/categories_navigation.js +53 -51
  118. package/dist/esnext/services/search.d.ts +47 -47
  119. package/dist/esnext/services/search.js +51 -51
  120. package/dist/esnext/services/site_setup.d.ts +7 -7
  121. package/dist/esnext/services/site_setup.js +69 -69
  122. package/dist/esnext/utils/DynamicStyle.d.ts +7 -7
  123. package/dist/esnext/utils/DynamicStyle.js +5 -5
  124. package/dist/esnext/utils/defaults.d.ts +8 -8
  125. package/dist/esnext/utils/defaults.js +9 -9
  126. package/dist/esnext/utils/getDynamicStylesVar.d.ts +1 -1
  127. package/dist/esnext/utils/getDynamicStylesVar.js +5 -5
  128. package/dist/esnext/utils/getRoutingState.d.ts +9 -9
  129. package/dist/esnext/utils/getRoutingState.js +13 -13
  130. package/dist/esnext/utils/makeServingRequests.d.ts +6 -6
  131. package/dist/esnext/utils/makeServingRequests.js +32 -32
  132. package/dist/node/plugin/extendOptimizeDeps.d.ts +2 -2
  133. package/dist/node/plugin/extendOptimizeDeps.js +14 -14
  134. package/dist/node/plugin/index.d.ts +3 -3
  135. package/dist/node/plugin/index.js +13 -13
  136. package/dist/node/plugin/injectCSS.d.ts +2 -2
  137. package/dist/node/plugin/injectCSS.js +25 -25
  138. package/dist/node/plugin/suppressWarnings.d.ts +2 -2
  139. package/dist/node/plugin/suppressWarnings.js +21 -21
  140. package/package.json +37 -34
  141. package/dist/esnext/styles/fast-simon.css +0 -622
@@ -1,416 +1,418 @@
1
- import type { SortBy } from "./sortBy";
2
- export interface GridPosition {
3
- row: number;
4
- numOfCols: number;
5
- areaName: string;
6
- }
7
- export interface FontSettings {
8
- fontSize: string;
9
- fontWeight: string;
10
- font: string;
11
- textAlign: string;
12
- lineHeight: string;
13
- letterSpacing: string;
14
- }
15
- export interface DimensionsSettings {
16
- x: string;
17
- y: string;
18
- width: string;
19
- height: string;
20
- }
21
- export interface ProductTitleSettings {
22
- isActive: boolean;
23
- font: FontSettings;
24
- dimensions: DimensionsSettings;
25
- margin: string;
26
- gridPosition: GridPosition;
27
- numberOfLines: string;
28
- color: string;
29
- saveSpaceForLineClamp: boolean;
30
- }
31
- export interface ProductPriceSettings {
32
- isActive: boolean;
33
- font: FontSettings;
34
- dimensions: DimensionsSettings;
35
- margin: string;
36
- gridPosition: GridPosition;
37
- colorIfCompareEnable: string;
38
- color: string;
39
- shadow: string;
40
- alignIfCompare: 'left' | 'center' | 'right';
41
- currency: string;
42
- }
43
- export interface ProductComparePriceSettings {
44
- isActive: boolean;
45
- font: FontSettings;
46
- dimensions: DimensionsSettings;
47
- margin: string;
48
- gridPosition: GridPosition;
49
- color: string;
50
- shadow: string;
51
- }
52
- export interface ProductReviewsSettings {
53
- isActive: boolean;
54
- font: FontSettings;
55
- size: string;
56
- margin: string;
57
- color: string;
58
- gridPosition: GridPosition;
59
- dimensions: DimensionsSettings;
60
- reviewsCount: boolean;
61
- shadow: string;
62
- widgetForNoReview: boolean;
63
- noReviewsStarsColor: string;
64
- }
65
- export interface ProductAddToCartSettings {
66
- isActive: boolean;
67
- margin: string;
68
- gridPosition: GridPosition;
69
- addToCartType: 'product level' | 'variant level';
70
- font: FontSettings;
71
- text: string;
72
- dimensions: DimensionsSettings;
73
- ajaxAnimation: boolean;
74
- backgroundColor: string;
75
- color: string;
76
- border: string;
77
- borderRadius: string;
78
- shadow: string;
79
- showOnHover: boolean;
80
- changeColorsOnHover: boolean;
81
- backgroundColorOnHover: string;
82
- textColorsOnHover: string;
83
- borderColorOnHover: string;
84
- addToCartPosition: 'product bottom' | 'image bottom';
85
- quantitySelector: boolean;
86
- }
87
- export interface ProductBackInStockSettings {
88
- isActive: boolean;
89
- margin: string;
90
- gridPosition: GridPosition;
91
- font: FontSettings;
92
- text: string;
93
- dimensions: DimensionsSettings;
94
- backgroundColor: string;
95
- color: string;
96
- border: string;
97
- borderRadius: string;
98
- shadow: string;
99
- showOnHover: boolean;
100
- changeColorsOnHover: boolean;
101
- backgroundColorOnHover: string;
102
- textColorsOnHover: string;
103
- borderColorOnHover: string;
104
- backInStockPosition: 'product bottom' | 'image bottom';
105
- }
106
- export interface ProductSKUSettings {
107
- isActive: boolean;
108
- font: FontSettings;
109
- margin: string;
110
- gridPosition: GridPosition;
111
- dimensions: DimensionsSettings;
112
- color: string;
113
- shadow: string;
114
- }
115
- export interface ProductDescriptionSettings {
116
- isActive: boolean;
117
- font: FontSettings;
118
- margin: string;
119
- gridPosition: GridPosition;
120
- dimensions: DimensionsSettings;
121
- numberOfLines: string;
122
- color: string;
123
- shadow: string;
124
- saveSpaceForLineClamp: boolean;
125
- }
126
- export interface ProductStockBadgeSettings {
127
- isActive: boolean;
128
- font: FontSettings;
129
- margin: string;
130
- gridPosition: GridPosition;
131
- text: string;
132
- border: string;
133
- borderRadius: string;
134
- dimensions: DimensionsSettings;
135
- color: string;
136
- backgroundColor: string;
137
- shadow: string;
138
- }
139
- export interface ProductVendorSettings {
140
- isActive: boolean;
141
- font: FontSettings;
142
- margin: string;
143
- gridPosition: GridPosition;
144
- dimensions: DimensionsSettings;
145
- color: string;
146
- shadow: string;
147
- }
148
- export interface ProductWishlistSettings {
149
- isActive: boolean;
150
- size: string;
151
- margin: string;
152
- gridPosition: GridPosition;
153
- dimensions: DimensionsSettings;
154
- location: 'on-image' | 'in-info';
155
- position: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
156
- padding: string;
157
- notCheckedColor: string;
158
- checkedColor: string;
159
- isCustomIcon: boolean;
160
- checkedIconName: string;
161
- notCheckedIconName: string;
162
- }
163
- export interface ProductQuickViewSettings {
164
- isActive: boolean;
165
- font: FontSettings;
166
- margin: string;
167
- gridPosition: GridPosition;
168
- text: string;
169
- border: string;
170
- borderRadius: string;
171
- dimensions: DimensionsSettings;
172
- theme: 'modern' | 'classic';
173
- color: string;
174
- backgroundColor: string;
175
- }
176
- export interface ProductLookALikeSettings {
177
- isActive: boolean;
178
- font: FontSettings;
179
- margin: string;
180
- gridPosition: GridPosition;
181
- text: string;
182
- border: string;
183
- borderRadius: string;
184
- dimensions: DimensionsSettings;
185
- color: string;
186
- backgroundColor: string;
187
- }
188
- export declare enum SwatchType {
189
- Color = 0,
190
- Image = 1,
191
- Text = 2
192
- }
193
- export interface ProductColorSwatchesSettings {
194
- isActive: boolean;
195
- margin: string;
196
- gridPosition: GridPosition;
197
- dimensions: DimensionsSettings;
198
- maxSwatches: number;
199
- swatchesType: SwatchType;
200
- changeVariantOnHover: boolean;
201
- }
202
- export interface ProductStyles {
203
- border: string;
204
- backgroundColor: string;
205
- shadow: string;
206
- }
207
- export interface PageTitleSettings {
208
- isActive: boolean;
209
- font: FontSettings;
210
- margin: string;
211
- dimensions: DimensionsSettings;
212
- numberOfLines: string;
213
- color: string;
214
- }
215
- export interface ProductInfo {
216
- padding: string;
217
- gridAreas: string;
218
- }
219
- export interface ProductSettings {
220
- border: string;
221
- borderRadius: string;
222
- backgroundColor: string;
223
- shadow: string;
224
- imageRatio: number;
225
- imageFit: string;
226
- padding: string;
227
- imageLoadingType: string;
228
- imageCarousel: 'auto' | 'arrows' | false;
229
- isCustomCarouselIcons: boolean;
230
- leftArrowIconName: string;
231
- leftArrowSlideDirection: 'left' | 'right';
232
- rightArrowSlideDirection: 'left' | 'right';
233
- rightArrowIconName: string;
234
- showBorderOnHover: boolean;
235
- info: ProductInfo;
236
- dimensions: DimensionsSettings;
237
- title: ProductTitleSettings;
238
- price: ProductPriceSettings;
239
- compare: ProductComparePriceSettings;
240
- reviews: ProductReviewsSettings;
241
- addToCart: ProductAddToCartSettings;
242
- description: ProductDescriptionSettings;
243
- inStock: ProductStockBadgeSettings;
244
- outOfStock: ProductStockBadgeSettings;
245
- vendor: ProductVendorSettings;
246
- wishList: ProductWishlistSettings;
247
- quickView: ProductQuickViewSettings;
248
- lookALike: ProductLookALikeSettings;
249
- colorSwatches: ProductColorSwatchesSettings;
250
- sku: ProductSKUSettings;
251
- backInStock: ProductBackInStockSettings;
252
- }
253
- export interface Pagination {
254
- paginationType: 'pagination' | 'infinite scroll';
255
- loadMore: boolean;
256
- loadMoreAfter: number;
257
- paginationProgress: boolean;
258
- progressBarColor: string;
259
- isCustomIcon: boolean;
260
- leftArrowIcon: string;
261
- rightArrowIcon: string;
262
- }
263
- export interface ScrollToTopSettings {
264
- active: boolean;
265
- text: string;
266
- backgroundColor: string;
267
- textColor: string;
268
- fontFamily: string;
269
- fontSize: string;
270
- fontWeight: string;
271
- isCustomIcon: boolean;
272
- iconName: string;
273
- iconPosition: 'left' | 'right';
274
- }
275
- export interface ProductsGridSettings {
276
- product: ProductSettings;
277
- pageTitle: PageTitleSettings;
278
- pagination: Pagination;
279
- quickViewModal: QuickViewModalSettings;
280
- numberOfColumns: string;
281
- numberOfRows: string;
282
- backgroundColor: string;
283
- font: FontSettings;
284
- gridColumnGap: string;
285
- gridRowGap: string;
286
- pagePadding: string;
287
- gridViewButton: boolean;
288
- isGridViewCustomIcon: boolean;
289
- gridViewIcon: string;
290
- listViewIcon: string;
291
- scrollToTopSettings?: ScrollToTopSettings;
292
- }
293
- export interface RemovableTagsSettings {
294
- isActive: boolean;
295
- font: FontSettings;
296
- dimensions: DimensionsSettings;
297
- color: string;
298
- backgroundColor: string;
299
- shadow: string;
300
- border: string;
301
- borderRadius: string;
302
- onTopPage: boolean;
303
- inFilters: boolean;
304
- }
305
- export interface SearchWithinFiltersSettings {
306
- isActive: boolean;
307
- border: string;
308
- borderRadius: string;
309
- placeHolder: string;
310
- dimensions: DimensionsSettings;
311
- color: string;
312
- backgroundColor: string;
313
- shadow: string;
314
- }
315
- export interface SearchWithinResultsSettings {
316
- isActive: boolean;
317
- border: string;
318
- borderRadius: string;
319
- placeHolder: string;
320
- dimensions: DimensionsSettings;
321
- color: string;
322
- backgroundColor: string;
323
- shadow: string;
324
- }
325
- export interface ShowHideFiltersButtonSettings {
326
- isActive: boolean;
327
- border: string;
328
- borderRadius: string;
329
- text: string;
330
- color: string;
331
- dimensions: DimensionsSettings;
332
- backgroundColor: string;
333
- shadow: string;
334
- font: FontSettings;
335
- }
336
- export declare type FiltersLayout = 'classic' | 'modern' | 'vertical' | 'dropdown' | 'collapsed';
337
- export interface FiltersSettings {
338
- isActive: boolean;
339
- layout: FiltersLayout;
340
- optionsColor: string;
341
- titlesColor: string;
342
- optionsFont: FontSettings;
343
- titlesFont: FontSettings;
344
- titlesBackground: string;
345
- backgroundColor: string;
346
- priceFilterSlider: boolean;
347
- showMoreButton: boolean;
348
- colorsFilter: 'swatches' | 'checkboxes';
349
- removableTags: RemovableTagsSettings;
350
- searchWithinFilters: SearchWithinFiltersSettings;
351
- searchWithinResults: SearchWithinResultsSettings;
352
- showHideFiltersButton: ShowHideFiltersButtonSettings;
353
- filtersTopBar: boolean;
354
- numberOfOpenFacets: number | "all";
355
- isCustomIcon: boolean;
356
- filtersButtonCustomIconName: string;
357
- }
358
- export interface SearchBoxSettings {
359
- isActive: boolean;
360
- border: string;
361
- borderRadius: string;
362
- placeHolder: string;
363
- dimensions: DimensionsSettings;
364
- }
365
- export interface SortingOption {
366
- backendName: SortBy;
367
- customName: string;
368
- active: boolean;
369
- }
370
- export interface SearchResultsSortingSettings {
371
- isActive: boolean;
372
- sortOptions: SortBy[];
373
- defaultOption: SortBy;
374
- dimensions: DimensionsSettings;
375
- sortingOptions: SortingOption[];
376
- mobileLayout: "classic" | "modern" | "in-filters";
377
- optionsFont: FontSettings;
378
- optionsColor: string;
379
- optionsHeight: string;
380
- selectedBackground: string;
381
- titleFont: FontSettings;
382
- titleColor: string;
383
- titleHeight: string;
384
- modalHeight: string;
385
- modalBorderRadius: string;
386
- modalBackground: string;
387
- isCustomIcon: boolean;
388
- sortingButtonCustomIconName: string;
389
- }
390
- export interface CollectionsSettings {
391
- categoriesWheelsOnSerp: boolean;
392
- categoriesWheelsOnCollections: boolean;
393
- wheelSize: number;
394
- numberOfWheelTitleLines: number;
395
- isCustomCarouselIcons: boolean;
396
- leftArrowIconName: string;
397
- rightArrowIconName: string;
398
- }
399
- export interface QuickViewModalSettings {
400
- openingDirection: "top to bottom" | "left to right" | "bottom to top" | "right to left";
401
- animationInY: number;
402
- animationInX: number;
403
- animationOutY: number;
404
- animationOutX: number;
405
- animationDuration: number;
406
- width: string;
407
- height: string;
408
- imagesBar: boolean;
409
- }
410
- export interface ProductGridEditorSettings {
411
- productGrid: ProductsGridSettings;
412
- filters: FiltersSettings;
413
- searchBox: SearchBoxSettings;
414
- sorting: SearchResultsSortingSettings;
415
- collections: CollectionsSettings;
416
- }
1
+ import type { SortBy } from "./sortBy";
2
+ export interface GridPosition {
3
+ row: number;
4
+ numOfCols: number;
5
+ areaName: string;
6
+ }
7
+ export interface FontSettings {
8
+ fontSize: string;
9
+ fontWeight: string;
10
+ font: string;
11
+ textAlign: string;
12
+ lineHeight: string;
13
+ letterSpacing: string;
14
+ }
15
+ export interface DimensionsSettings {
16
+ x: string;
17
+ y: string;
18
+ width: string;
19
+ height: string;
20
+ }
21
+ export interface ProductTitleSettings {
22
+ isActive: boolean;
23
+ font: FontSettings;
24
+ dimensions: DimensionsSettings;
25
+ margin: string;
26
+ gridPosition: GridPosition;
27
+ numberOfLines: string;
28
+ color: string;
29
+ saveSpaceForLineClamp: boolean;
30
+ }
31
+ export interface ProductPriceSettings {
32
+ isActive: boolean;
33
+ font: FontSettings;
34
+ dimensions: DimensionsSettings;
35
+ margin: string;
36
+ gridPosition: GridPosition;
37
+ colorIfCompareEnable: string;
38
+ color: string;
39
+ shadow: string;
40
+ alignIfCompare: 'left' | 'center' | 'right';
41
+ currency: string;
42
+ }
43
+ export interface ProductComparePriceSettings {
44
+ isActive: boolean;
45
+ font: FontSettings;
46
+ dimensions: DimensionsSettings;
47
+ margin: string;
48
+ gridPosition: GridPosition;
49
+ color: string;
50
+ shadow: string;
51
+ }
52
+ export interface ProductReviewsSettings {
53
+ isActive: boolean;
54
+ font: FontSettings;
55
+ size: string;
56
+ margin: string;
57
+ color: string;
58
+ gridPosition: GridPosition;
59
+ dimensions: DimensionsSettings;
60
+ reviewsCount: boolean;
61
+ shadow: string;
62
+ widgetForNoReview: boolean;
63
+ noReviewsStarsColor: string;
64
+ }
65
+ export interface ProductAddToCartSettings {
66
+ isActive: boolean;
67
+ margin: string;
68
+ gridPosition: GridPosition;
69
+ addToCartType: 'product level' | 'variant level';
70
+ font: FontSettings;
71
+ text: string;
72
+ dimensions: DimensionsSettings;
73
+ ajaxAnimation: boolean;
74
+ backgroundColor: string;
75
+ color: string;
76
+ border: string;
77
+ borderRadius: string;
78
+ shadow: string;
79
+ showOnHover: boolean;
80
+ changeColorsOnHover: boolean;
81
+ backgroundColorOnHover: string;
82
+ textColorsOnHover: string;
83
+ borderColorOnHover: string;
84
+ addToCartPosition: 'product bottom' | 'image bottom';
85
+ quantitySelector: boolean;
86
+ }
87
+ export interface ProductBackInStockSettings {
88
+ isActive: boolean;
89
+ margin: string;
90
+ gridPosition: GridPosition;
91
+ font: FontSettings;
92
+ text: string;
93
+ dimensions: DimensionsSettings;
94
+ backgroundColor: string;
95
+ color: string;
96
+ border: string;
97
+ borderRadius: string;
98
+ shadow: string;
99
+ showOnHover: boolean;
100
+ changeColorsOnHover: boolean;
101
+ backgroundColorOnHover: string;
102
+ textColorsOnHover: string;
103
+ borderColorOnHover: string;
104
+ backInStockPosition: 'product bottom' | 'image bottom';
105
+ }
106
+ export interface ProductSKUSettings {
107
+ isActive: boolean;
108
+ font: FontSettings;
109
+ margin: string;
110
+ gridPosition: GridPosition;
111
+ dimensions: DimensionsSettings;
112
+ color: string;
113
+ shadow: string;
114
+ }
115
+ export interface ProductDescriptionSettings {
116
+ isActive: boolean;
117
+ font: FontSettings;
118
+ margin: string;
119
+ gridPosition: GridPosition;
120
+ dimensions: DimensionsSettings;
121
+ numberOfLines: string;
122
+ color: string;
123
+ shadow: string;
124
+ saveSpaceForLineClamp: boolean;
125
+ }
126
+ export interface ProductStockBadgeSettings {
127
+ isActive: boolean;
128
+ font: FontSettings;
129
+ margin: string;
130
+ gridPosition: GridPosition;
131
+ text: string;
132
+ border: string;
133
+ borderRadius: string;
134
+ dimensions: DimensionsSettings;
135
+ color: string;
136
+ backgroundColor: string;
137
+ shadow: string;
138
+ }
139
+ export interface ProductVendorSettings {
140
+ isActive: boolean;
141
+ font: FontSettings;
142
+ margin: string;
143
+ gridPosition: GridPosition;
144
+ dimensions: DimensionsSettings;
145
+ color: string;
146
+ shadow: string;
147
+ }
148
+ export interface ProductWishlistSettings {
149
+ isActive: boolean;
150
+ size: string;
151
+ margin: string;
152
+ gridPosition: GridPosition;
153
+ dimensions: DimensionsSettings;
154
+ location: 'on-image' | 'in-info';
155
+ position: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
156
+ padding: string;
157
+ notCheckedColor: string;
158
+ checkedColor: string;
159
+ isCustomIcon: boolean;
160
+ checkedIconName: string;
161
+ notCheckedIconName: string;
162
+ }
163
+ export interface ProductQuickViewSettings {
164
+ isActive: boolean;
165
+ font: FontSettings;
166
+ margin: string;
167
+ gridPosition: GridPosition;
168
+ text: string;
169
+ border: string;
170
+ borderRadius: string;
171
+ dimensions: DimensionsSettings;
172
+ theme: 'modern' | 'classic';
173
+ color: string;
174
+ backgroundColor: string;
175
+ }
176
+ export interface ProductLookALikeSettings {
177
+ isActive: boolean;
178
+ font: FontSettings;
179
+ margin: string;
180
+ gridPosition: GridPosition;
181
+ text: string;
182
+ border: string;
183
+ borderRadius: string;
184
+ dimensions: DimensionsSettings;
185
+ color: string;
186
+ backgroundColor: string;
187
+ }
188
+ export declare enum SwatchType {
189
+ Color = 0,
190
+ Image = 1,
191
+ Text = 2
192
+ }
193
+ export interface ProductColorSwatchesSettings {
194
+ isActive: boolean;
195
+ margin: string;
196
+ gridPosition: GridPosition;
197
+ dimensions: DimensionsSettings;
198
+ maxSwatches: number;
199
+ swatchesType: SwatchType;
200
+ changeVariantOnHover: boolean;
201
+ }
202
+ export interface ProductStyles {
203
+ border: string;
204
+ backgroundColor: string;
205
+ shadow: string;
206
+ }
207
+ export interface PageTitleSettings {
208
+ isActive: boolean;
209
+ font: FontSettings;
210
+ margin: string;
211
+ dimensions: DimensionsSettings;
212
+ numberOfLines: string;
213
+ color: string;
214
+ }
215
+ export interface ProductInfo {
216
+ padding: string;
217
+ gridAreas: string;
218
+ }
219
+ export interface ProductSettings {
220
+ border: string;
221
+ borderRadius: string;
222
+ backgroundColor: string;
223
+ shadow: string;
224
+ imageRatio: number;
225
+ imageFit: string;
226
+ padding: string;
227
+ imageLoadingType: string;
228
+ imageCarousel: 'auto' | 'arrows' | false;
229
+ isCustomCarouselIcons: boolean;
230
+ leftArrowIconName: string;
231
+ leftArrowSlideDirection: 'left' | 'right';
232
+ rightArrowSlideDirection: 'left' | 'right';
233
+ rightArrowIconName: string;
234
+ showBorderOnHover: boolean;
235
+ info: ProductInfo;
236
+ dimensions: DimensionsSettings;
237
+ title: ProductTitleSettings;
238
+ price: ProductPriceSettings;
239
+ compare: ProductComparePriceSettings;
240
+ reviews: ProductReviewsSettings;
241
+ addToCart: ProductAddToCartSettings;
242
+ description: ProductDescriptionSettings;
243
+ inStock: ProductStockBadgeSettings;
244
+ outOfStock: ProductStockBadgeSettings;
245
+ vendor: ProductVendorSettings;
246
+ wishList: ProductWishlistSettings;
247
+ quickView: ProductQuickViewSettings;
248
+ lookALike: ProductLookALikeSettings;
249
+ colorSwatches: ProductColorSwatchesSettings;
250
+ sku: ProductSKUSettings;
251
+ backInStock: ProductBackInStockSettings;
252
+ }
253
+ export interface Pagination {
254
+ paginationType: 'pagination' | 'infinite scroll';
255
+ loadMore: boolean;
256
+ loadMoreAfter: number;
257
+ paginationProgress: boolean;
258
+ progressBarColor: string;
259
+ isCustomIcon: boolean;
260
+ leftArrowIcon: string;
261
+ rightArrowIcon: string;
262
+ }
263
+ export interface ScrollToTopSettings {
264
+ active: boolean;
265
+ text: string;
266
+ backgroundColor: string;
267
+ textColor: string;
268
+ fontFamily: string;
269
+ fontSize: string;
270
+ fontWeight: string;
271
+ isCustomIcon: boolean;
272
+ iconName: string;
273
+ iconPosition: 'left' | 'right';
274
+ }
275
+ export interface ProductsGridSettings {
276
+ product: ProductSettings;
277
+ pageTitle: PageTitleSettings;
278
+ pagination: Pagination;
279
+ quickViewModal: QuickViewModalSettings;
280
+ numberOfColumns: string;
281
+ numberOfRows: string;
282
+ backgroundColor: string;
283
+ font: FontSettings;
284
+ gridColumnGap: string;
285
+ gridRowGap: string;
286
+ pagePadding: string;
287
+ gridViewButton: boolean;
288
+ isGridViewCustomIcon: boolean;
289
+ gridViewIcon: string;
290
+ listViewIcon: string;
291
+ scrollToTopSettings?: ScrollToTopSettings;
292
+ }
293
+ export interface RemovableTagsSettings {
294
+ isActive: boolean;
295
+ font: FontSettings;
296
+ dimensions: DimensionsSettings;
297
+ color: string;
298
+ backgroundColor: string;
299
+ shadow: string;
300
+ border: string;
301
+ borderRadius: string;
302
+ onTopPage: boolean;
303
+ inFilters: boolean;
304
+ }
305
+ export interface SearchWithinFiltersSettings {
306
+ isActive: boolean;
307
+ border: string;
308
+ borderRadius: string;
309
+ placeHolder: string;
310
+ dimensions: DimensionsSettings;
311
+ color: string;
312
+ backgroundColor: string;
313
+ shadow: string;
314
+ }
315
+ export interface SearchWithinResultsSettings {
316
+ isActive: boolean;
317
+ border: string;
318
+ borderRadius: string;
319
+ placeHolder: string;
320
+ dimensions: DimensionsSettings;
321
+ color: string;
322
+ backgroundColor: string;
323
+ shadow: string;
324
+ }
325
+ export interface ShowHideFiltersButtonSettings {
326
+ isActive: boolean;
327
+ border: string;
328
+ borderRadius: string;
329
+ text: string;
330
+ textShow?: string;
331
+ textHide?: string;
332
+ color: string;
333
+ dimensions: DimensionsSettings;
334
+ backgroundColor: string;
335
+ shadow: string;
336
+ font: FontSettings;
337
+ }
338
+ export declare type FiltersLayout = 'classic' | 'modern' | 'vertical' | 'dropdown' | 'collapsed';
339
+ export interface FiltersSettings {
340
+ isActive: boolean;
341
+ layout: FiltersLayout;
342
+ optionsColor: string;
343
+ titlesColor: string;
344
+ optionsFont: FontSettings;
345
+ titlesFont: FontSettings;
346
+ titlesBackground: string;
347
+ backgroundColor: string;
348
+ priceFilterSlider: boolean;
349
+ showMoreButton: boolean;
350
+ colorsFilter: 'swatches' | 'checkboxes';
351
+ removableTags: RemovableTagsSettings;
352
+ searchWithinFilters: SearchWithinFiltersSettings;
353
+ searchWithinResults: SearchWithinResultsSettings;
354
+ showHideFiltersButton: ShowHideFiltersButtonSettings;
355
+ filtersTopBar: boolean;
356
+ numberOfOpenFacets: number | "all";
357
+ isCustomIcon: boolean;
358
+ filtersButtonCustomIconName: string;
359
+ }
360
+ export interface SearchBoxSettings {
361
+ isActive: boolean;
362
+ border: string;
363
+ borderRadius: string;
364
+ placeHolder: string;
365
+ dimensions: DimensionsSettings;
366
+ }
367
+ export interface SortingOption {
368
+ backendName: SortBy;
369
+ customName: string;
370
+ active: boolean;
371
+ }
372
+ export interface SearchResultsSortingSettings {
373
+ isActive: boolean;
374
+ sortOptions: SortBy[];
375
+ defaultOption: SortBy;
376
+ dimensions: DimensionsSettings;
377
+ sortingOptions: SortingOption[];
378
+ mobileLayout: "classic" | "modern" | "in-filters";
379
+ optionsFont: FontSettings;
380
+ optionsColor: string;
381
+ optionsHeight: string;
382
+ selectedBackground: string;
383
+ titleFont: FontSettings;
384
+ titleColor: string;
385
+ titleHeight: string;
386
+ modalHeight: string;
387
+ modalBorderRadius: string;
388
+ modalBackground: string;
389
+ isCustomIcon: boolean;
390
+ sortingButtonCustomIconName: string;
391
+ }
392
+ export interface CollectionsSettings {
393
+ categoriesWheelsOnSerp: boolean;
394
+ categoriesWheelsOnCollections: boolean;
395
+ wheelSize: number;
396
+ numberOfWheelTitleLines: number;
397
+ isCustomCarouselIcons: boolean;
398
+ leftArrowIconName: string;
399
+ rightArrowIconName: string;
400
+ }
401
+ export interface QuickViewModalSettings {
402
+ openingDirection: "top to bottom" | "left to right" | "bottom to top" | "right to left";
403
+ animationInY: number;
404
+ animationInX: number;
405
+ animationOutY: number;
406
+ animationOutX: number;
407
+ animationDuration: number;
408
+ width: string;
409
+ height: string;
410
+ imagesBar: boolean;
411
+ }
412
+ export interface ProductGridEditorSettings {
413
+ productGrid: ProductsGridSettings;
414
+ filters: FiltersSettings;
415
+ searchBox: SearchBoxSettings;
416
+ sorting: SearchResultsSortingSettings;
417
+ collections: CollectionsSettings;
418
+ }