vviinn-widgets 2.18.21 → 2.19.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.
Files changed (183) hide show
  1. package/dist/cjs/{index-cb410762.js → Campaign-a94a827a.js} +17 -1
  2. package/dist/cjs/cropper-handler_29.cjs.entry.js +1418 -0
  3. package/dist/cjs/{imageSearch.store-98824653.js → index-48c94264.js} +16016 -11171
  4. package/dist/cjs/{index-7f1325a7.js → index-a4becaff.js} +683 -303
  5. package/dist/cjs/loader.cjs.js +4 -3
  6. package/dist/cjs/{vviinn-carousel_3.cjs.entry.js → vviinn-carousel_2.cjs.entry.js} +150 -270
  7. package/dist/cjs/vviinn-recommendations-sidebar.cjs.entry.js +14 -8
  8. package/dist/cjs/vviinn-vpr-button.cjs.entry.js +12 -14
  9. package/dist/cjs/vviinn-widgets.cjs.js +10 -3
  10. package/dist/collection/Image/sizing.spec.js +66 -0
  11. package/dist/collection/collection-manifest.json +2 -2
  12. package/dist/collection/components/image-search/image-view/highlight-box/highlight-box.css +2 -16
  13. package/dist/collection/components/image-search/image-view/highlight-box/highlight-box.js +11 -7
  14. package/dist/collection/components/image-search/image-view/image-cropper/cropper-handler/cropper-handler.css +0 -1
  15. package/dist/collection/components/image-search/image-view/image-cropper/cropper-handler/cropper-handler.js +40 -37
  16. package/dist/collection/components/image-search/image-view/image-cropper/image-cropper.js +73 -67
  17. package/dist/collection/components/image-search/search-filters/search-filters.css +4 -23
  18. package/dist/collection/components/image-search/search-filters/search-filters.js +97 -91
  19. package/dist/collection/components/vviinn-button/vviinn-button.js +34 -31
  20. package/dist/collection/components/vviinn-carousel/vviinn-carousel.css +1 -2
  21. package/dist/collection/components/vviinn-carousel/vviinn-carousel.js +161 -156
  22. package/dist/collection/components/vviinn-error/vviinn-empty-results/vviinn-empty-results.js +12 -14
  23. package/dist/collection/components/vviinn-error/vviinn-error.js +12 -12
  24. package/dist/collection/components/vviinn-error/vviinn-server-error/vviinn-server-error.js +35 -30
  25. package/dist/collection/components/vviinn-error/vviinn-wrong-format/vviinn-wrong-format.js +35 -30
  26. package/dist/collection/components/vviinn-example-images/vviinn-example-image/vviinn-example-image.js +129 -121
  27. package/dist/collection/components/vviinn-example-images/vviinn-example-images.js +75 -75
  28. package/dist/collection/components/vviinn-icons/index.js +10 -27
  29. package/dist/collection/components/vviinn-image-selector/vviinn-image-selector.js +120 -67
  30. package/dist/collection/components/vviinn-image-view/vviinn-detected-object/vviinn-detected-object.js +81 -69
  31. package/dist/collection/components/vviinn-image-view/vviinn-image-view.css +0 -1
  32. package/dist/collection/components/vviinn-image-view/vviinn-image-view.js +27 -28
  33. package/dist/collection/components/vviinn-modal/vviinn-modal.css +7 -36
  34. package/dist/collection/components/vviinn-modal/vviinn-modal.js +115 -93
  35. package/dist/collection/components/vviinn-onboarding/onboarding-cards/vviinn-onboarding-card-1/vviinn-onboarding-card-1.js +12 -14
  36. package/dist/collection/components/vviinn-onboarding/onboarding-cards/vviinn-onboarding-card-2/vviinn-onboarding-card-2.js +12 -14
  37. package/dist/collection/components/vviinn-onboarding/onboarding-cards/vviinn-onboarding-card-3/vviinn-onboarding-card-3.js +12 -14
  38. package/dist/collection/components/vviinn-onboarding/vviinn-onboarding.js +12 -17
  39. package/dist/collection/components/vviinn-overlay/vviinn-overlay.css +1 -12
  40. package/dist/collection/components/vviinn-overlay/vviinn-overlay.js +12 -9
  41. package/dist/collection/components/vviinn-overlayed-modal/vviinn-overlayed-modal.js +107 -78
  42. package/dist/collection/components/vviinn-preloader/vviinn-preloader.css +1 -11
  43. package/dist/collection/components/vviinn-preloader/vviinn-preloader.js +11 -7
  44. package/dist/collection/components/vviinn-privacy-badge/vviinn-privacy-badge.css +0 -1
  45. package/dist/collection/components/vviinn-privacy-badge/vviinn-privacy-badge.js +12 -16
  46. package/dist/collection/components/vviinn-product-card/render-helpers.js +6 -14
  47. package/dist/collection/components/vviinn-product-card/vviinn-product-card.js +425 -415
  48. package/dist/collection/components/vviinn-slider/arrow.js +1 -2
  49. package/dist/collection/components/vviinn-slider/vviinn-slide/vviinn-slide.js +12 -9
  50. package/dist/collection/components/vviinn-slider/vviinn-slider.css +0 -1
  51. package/dist/collection/components/vviinn-slider/vviinn-slider.js +87 -82
  52. package/dist/collection/components/vviinn-teaser/vviinn-teaser.js +12 -18
  53. package/dist/collection/components/vviinn-vpr-button/recommendations-sidebar/recommendations-sidebar.css +12 -64
  54. package/dist/collection/components/vviinn-vpr-button/recommendations-sidebar/recommendations-sidebar.js +371 -360
  55. package/dist/collection/components/vviinn-vpr-button/vviinn-vpr-button.js +448 -444
  56. package/dist/collection/components/vviinn-vpr-widget/vviinn-vpr-vidget.js +545 -542
  57. package/dist/collection/components/vviinn-vps-button/stories/vviinn-vps-button.stories.js +2 -0
  58. package/dist/collection/components/vviinn-vps-button/vviinn-vps-button.js +368 -332
  59. package/dist/collection/components/vviinn-vps-widget/vviinn-vps-widget.css +0 -5
  60. package/dist/collection/components/vviinn-vps-widget/vviinn-vps-widget.e2e.js +26 -0
  61. package/dist/collection/components/vviinn-vps-widget/vviinn-vps-widget.js +502 -425
  62. package/dist/collection/geometry/Clip.spec.js +16 -0
  63. package/dist/collection/geometry/Rectangle.spec.js +66 -0
  64. package/dist/collection/geometry/Sized.spec.js +16 -0
  65. package/dist/collection/interfaces/generated.js +0 -4
  66. package/dist/collection/network/ion/Form.spec.js +43 -0
  67. package/dist/esm/{index-b31d86ce.js → Campaign-4aa53f29.js} +15 -2
  68. package/dist/esm/cropper-handler_29.entry.js +1386 -0
  69. package/dist/esm/{index-590cb67e.js → index-48ef9564.js} +683 -304
  70. package/dist/esm/{imageSearch.store-9dde5360.js → index-976acf7e.js} +16124 -11292
  71. package/dist/esm/loader.js +4 -3
  72. package/dist/esm/polyfills/css-shim.js +1 -1
  73. package/dist/esm/{vviinn-carousel_3.entry.js → vviinn-carousel_2.entry.js} +106 -225
  74. package/dist/esm/vviinn-recommendations-sidebar.entry.js +13 -7
  75. package/dist/esm/vviinn-vpr-button.entry.js +11 -13
  76. package/dist/esm/vviinn-widgets.js +7 -3
  77. package/dist/loader/index.d.ts +9 -0
  78. package/dist/loader/package.json +1 -0
  79. package/dist/types/Image/sizing.d.ts +4 -4
  80. package/dist/types/campaign/Campaign.d.ts +5 -5
  81. package/dist/types/campaign/VCSCampaignResponse.d.ts +1 -1
  82. package/dist/types/components/vviinn-carousel/vviinn-carousel.d.ts +2 -2
  83. package/dist/types/components/vviinn-image-selector/vviinn-image-selector.d.ts +4 -0
  84. package/dist/types/components/vviinn-modal/vviinn-modal.d.ts +2 -0
  85. package/dist/types/components/vviinn-overlayed-modal/vviinn-overlayed-modal.d.ts +2 -0
  86. package/dist/types/components/vviinn-product-card/render-helpers.d.ts +3 -3
  87. package/dist/types/components/vviinn-slider/arrow.d.ts +2 -2
  88. package/dist/types/components/vviinn-vpr-button/recommendations-sidebar/recommendations-sidebar.d.ts +2 -2
  89. package/dist/types/components/vviinn-vps-button/vviinn-vps-button.d.ts +9 -4
  90. package/dist/types/components/vviinn-vps-widget/vviinn-vps-widget.d.ts +8 -0
  91. package/dist/types/components.d.ts +154 -54
  92. package/dist/types/error.d.ts +1 -1
  93. package/dist/types/geometry/Point.d.ts +1 -1
  94. package/dist/types/geometry/Rectangle.d.ts +1 -1
  95. package/dist/types/geometry/Sized.d.ts +1 -1
  96. package/dist/types/interfaces/generated.d.ts +192 -371
  97. package/dist/types/network/ion/File.d.ts +2 -2
  98. package/dist/types/network/ion/Form.d.ts +5 -5
  99. package/dist/types/network/ion/Link.d.ts +1 -1
  100. package/dist/types/network/ion/ValueObject.d.ts +4 -4
  101. package/dist/types/network/utils.d.ts +3 -3
  102. package/dist/types/recommendation/events.d.ts +5 -5
  103. package/dist/types/recommendation/recommendation.d.ts +1 -1
  104. package/dist/types/searchSession/searchSession.d.ts +7 -7
  105. package/dist/types/slider/GridMode.d.ts +1 -1
  106. package/dist/types/stencil-public-runtime.d.ts +98 -23
  107. package/dist/types/store/imageSearch.store.d.ts +1 -1
  108. package/dist/types/tracking/models.d.ts +2 -2
  109. package/dist/types/utils/event/Events.d.ts +1 -1
  110. package/dist/vviinn-widgets/p-312b0eb7.entry.js +1 -0
  111. package/dist/vviinn-widgets/p-414b2291.js +1 -0
  112. package/dist/vviinn-widgets/p-5b50c7e5.entry.js +1 -0
  113. package/dist/vviinn-widgets/p-8deaa5da.entry.js +1 -0
  114. package/dist/vviinn-widgets/p-c6209bc1.entry.js +1 -0
  115. package/{www/build/p-2f9ee951.js → dist/vviinn-widgets/p-d08ce429.js} +1 -1
  116. package/dist/vviinn-widgets/p-fa17e81f.js +2 -0
  117. package/dist/vviinn-widgets/vviinn-widgets.esm.js +1 -1
  118. package/package.json +12 -12
  119. package/www/build/p-312b0eb7.entry.js +1 -0
  120. package/www/build/p-414b2291.js +1 -0
  121. package/www/build/p-5b50c7e5.entry.js +1 -0
  122. package/www/build/p-8deaa5da.entry.js +1 -0
  123. package/www/build/p-c6209bc1.entry.js +1 -0
  124. package/{dist/vviinn-widgets/p-2f9ee951.js → www/build/p-d08ce429.js} +1 -1
  125. package/www/build/p-d39b7d70.js +161 -0
  126. package/www/build/p-fa17e81f.js +2 -0
  127. package/www/build/vviinn-widgets.esm.js +1 -1
  128. package/www/index.html +2 -2
  129. package/dist/cjs/Campaign-13258569.js +0 -18
  130. package/dist/cjs/Handler-176539c8.js +0 -331
  131. package/dist/cjs/cropper-handler.cjs.entry.js +0 -27
  132. package/dist/cjs/customized-slots-6e56c354.js +0 -54
  133. package/dist/cjs/highlight-box_22.cjs.entry.js +0 -770
  134. package/dist/cjs/index-a99edb90.js +0 -3235
  135. package/dist/cjs/vviinn-button.cjs.entry.js +0 -21
  136. package/dist/cjs/vviinn-error.cjs.entry.js +0 -19
  137. package/dist/cjs/vviinn-preloader.cjs.entry.js +0 -26
  138. package/dist/cjs/vviinn-vps-button.cjs.entry.js +0 -65
  139. package/dist/cjs/vviinn-vps-widget.cjs.entry.js +0 -251
  140. package/dist/esm/Campaign-90ba7e06.js +0 -14
  141. package/dist/esm/Handler-f9b8735c.js +0 -309
  142. package/dist/esm/cropper-handler.entry.js +0 -23
  143. package/dist/esm/customized-slots-00afe247.js +0 -51
  144. package/dist/esm/highlight-box_22.entry.js +0 -745
  145. package/dist/esm/index-4d5b52ba.js +0 -3224
  146. package/dist/esm/vviinn-button.entry.js +0 -17
  147. package/dist/esm/vviinn-error.entry.js +0 -15
  148. package/dist/esm/vviinn-preloader.entry.js +0 -22
  149. package/dist/esm/vviinn-vps-button.entry.js +0 -61
  150. package/dist/esm/vviinn-vps-widget.entry.js +0 -247
  151. package/dist/vviinn-widgets/p-11f61564.js +0 -1
  152. package/dist/vviinn-widgets/p-12851e97.entry.js +0 -1
  153. package/dist/vviinn-widgets/p-18fd769b.js +0 -1
  154. package/dist/vviinn-widgets/p-339c6838.js +0 -1
  155. package/dist/vviinn-widgets/p-3b2c91c0.entry.js +0 -1
  156. package/dist/vviinn-widgets/p-45df9f28.entry.js +0 -1
  157. package/dist/vviinn-widgets/p-57ed5303.entry.js +0 -1
  158. package/dist/vviinn-widgets/p-69850e5b.js +0 -1
  159. package/dist/vviinn-widgets/p-7c2f762a.entry.js +0 -1
  160. package/dist/vviinn-widgets/p-7c3b7388.entry.js +0 -1
  161. package/dist/vviinn-widgets/p-85006f41.entry.js +0 -1
  162. package/dist/vviinn-widgets/p-8a3dd76d.entry.js +0 -1
  163. package/dist/vviinn-widgets/p-99e58be7.entry.js +0 -1
  164. package/dist/vviinn-widgets/p-a2b450b6.entry.js +0 -1
  165. package/dist/vviinn-widgets/p-bcc1ccf0.js +0 -1
  166. package/dist/vviinn-widgets/p-e6fee8d2.js +0 -1
  167. package/www/build/p-11f61564.js +0 -1
  168. package/www/build/p-12851e97.entry.js +0 -1
  169. package/www/build/p-18fd769b.js +0 -1
  170. package/www/build/p-339c6838.js +0 -1
  171. package/www/build/p-3b2c91c0.entry.js +0 -1
  172. package/www/build/p-45df9f28.entry.js +0 -1
  173. package/www/build/p-57ed5303.entry.js +0 -1
  174. package/www/build/p-69850e5b.js +0 -1
  175. package/www/build/p-7c2f762a.entry.js +0 -1
  176. package/www/build/p-7c3b7388.entry.js +0 -1
  177. package/www/build/p-85006f41.entry.js +0 -1
  178. package/www/build/p-8a3dd76d.entry.js +0 -1
  179. package/www/build/p-99e58be7.entry.js +0 -1
  180. package/www/build/p-9e2c131a.js +0 -125
  181. package/www/build/p-a2b450b6.entry.js +0 -1
  182. package/www/build/p-bcc1ccf0.js +0 -1
  183. package/www/build/p-e6fee8d2.js +0 -1
@@ -3,18 +3,6 @@
3
3
  * Do not make direct changes to the file.
4
4
  */
5
5
  export interface paths {
6
- "/products": {
7
- /** Returns all products which has at least one image */
8
- get: operations["GetProducts"];
9
- };
10
- "/category-tree": {
11
- /** Save or publish the categoryTree */
12
- put: operations["SaveCategoryTree"];
13
- };
14
- "/product/{product-id}/annotation": {
15
- /** Save or publish the product */
16
- put: operations["SaveProduct"];
17
- };
18
6
  "/product/{product-id}/similar-products": {
19
7
  /** Return most similar products to input one */
20
8
  get: operations["GetSimilarProductsToInputImage"];
@@ -31,34 +19,17 @@ export interface paths {
31
19
  /** Return cross selling products to input one in specific category */
32
20
  get: operations["GetCrossSellingProductsToInputImageInSpecificCategory"];
33
21
  };
34
- "/image/{image-id}": {
35
- /** Deletes all images from a site on a given image id */
36
- delete: operations["DeleteImageById"];
37
- };
38
- "/product/{product-id}/full": {
39
- /** Deletes product and its images from a site on a given product id */
40
- delete: operations["DeleteFullProduct"];
41
- parameters: {
42
- path: {
43
- "product-id": string;
44
- };
45
- };
46
- };
47
22
  "/product/{product-id}": {
48
- /** Deletes all images from a site on a given product id */
49
- delete: operations["DeleteImageByProductId"];
23
+ /** Creates a new product or updates an existing one */
24
+ put: operations["SetProduct"];
25
+ /** Deletes product and its images from a site on a given product id */
26
+ delete: operations["DeleteProduct"];
50
27
  parameters: {
51
28
  path: {
52
29
  "product-id": string;
53
30
  };
54
31
  };
55
32
  };
56
- "/product/{product-id}/image/{image-id}": {
57
- /** Upload image directly to catalog and trigger feature extraction */
58
- put: operations["AddImage"];
59
- /** Deletes all images from a site on given product and image ids */
60
- delete: operations["DeleteImageByImageIdAndProductId"];
61
- };
62
33
  "/search/session": {
63
34
  /** Starts a reusable search session for a one image. */
64
35
  post: operations["CreateSearchSession"];
@@ -91,8 +62,11 @@ export interface components {
91
62
  schemas: {
92
63
  "ion-detected-object-rectangle": {
93
64
  left?: number;
65
+ /** @example 0.3641 */
94
66
  top?: number;
67
+ /** @example 0.94 */
95
68
  width?: number;
69
+ /** @example 0.54175 */
96
70
  height?: number;
97
71
  };
98
72
  "ion-detected-object-value": {
@@ -110,142 +84,162 @@ export interface components {
110
84
  "ion-detected-objects": {
111
85
  value?: components["schemas"]["ion-detected-object"][];
112
86
  };
113
- "delete-image-by-productId-and-imageId-404-error": {
114
- "site-id"?: number;
115
- "product-id"?: string;
116
- "image-id"?: string;
117
- };
118
- "delete-image-by-productId-and-imageId-400-error": {
119
- siteId?: number;
120
- imageCode?: string;
121
- productCode?: string;
122
- };
123
87
  "delete-image-error": {
88
+ /** @example 25 */
124
89
  "site-id"?: number;
90
+ /** @example 1 */
125
91
  "image-id"?: string;
126
92
  };
127
- "delete-image-by-imageId": {
128
- "site-id"?: number;
129
- "number-of-products"?: number;
130
- "image-id"?: string;
131
- };
132
- "image-by-productId-and-imageId": {
133
- "site-id"?: number;
134
- "product-id"?: string;
135
- "image-id"?: string;
136
- url?: string;
137
- };
138
- "delete-product-images-by-productId": {
139
- "site-id"?: number;
140
- "product-id"?: string;
141
- "image-ids"?: unknown[];
142
- };
143
93
  "product-data": {
144
- title: string;
145
- description?: string;
146
- link?: string;
147
- availability?: "in_stock" | "out_of_stock" | "preorder" | "backorder";
148
- availability_date?: string;
149
- cost_of_goods_sold?: string;
150
- expiration_date?: string;
151
- price?: number;
152
- sale_price?: number;
153
- sale_price_effective_date?: string;
154
- unit_pricing_measure?: string;
155
- unit_pricing_base_measure?: string;
156
- installment?: string;
157
- subscription_cost?: string;
158
- loyalty_points?: string;
159
- google_product_category?: string;
160
- product_type?: string;
161
- brand?: string;
162
- gtin?: string;
163
- mpn?: string;
164
- identifier_exists?: boolean;
165
- condition?: "new" | "refurbished" | "used";
166
- adult?: boolean;
167
- multipack?: number;
168
- is_bundle?: boolean;
169
- energy_efficiency_class?: "A+++" | "A++" | "A+" | "A" | "B" | "C" | "D" | "E" | "F" | "G";
170
- min_energy_efficiency_class?: "A+++" | "A++" | "A+" | "A" | "B" | "C" | "D" | "E" | "F" | "G";
171
- max_energy_efficiency_class?: "A+++" | "A++" | "A+" | "A" | "B" | "C" | "D" | "E" | "F" | "G";
172
- age_group?: "newborn" | "infant" | "toddler" | "kids" | "adult";
173
- color?: string;
174
- gender?: "male" | "female" | "unisex";
175
- material?: string;
176
- pattern?: string;
177
- size?: string;
178
- size_type?: "regular" | "petite" | "tall" | "plus" | "big" | "maternity";
179
- size_system?: "AU" | "BR" | "CN" | "DE" | "EU" | "FR" | "IT" | "JP" | "MEX" | "UK" | "US";
180
- item_group_id?: string;
181
- ads_redirect?: string;
182
- custom_label_0?: string;
183
- custom_label_1?: string;
184
- custom_label_2?: string;
185
- custom_label_3?: string;
186
- custom_label_4?: string;
187
- promotion_id?: string;
188
- excluded_destination?: "Shopping_ads" | "Buy_on_Google_listings" | "Display_ads" | "Local_inventory_ads" | "Free_listings" | "Free_local_listings";
189
- included_destination?: "Shopping_ads" | "Buy_on_Google_listings" | "Display_ads" | "Local_inventory_ads" | "Free_listings" | "Free_local_listings";
190
- shipping?: string;
191
- shipping_label?: string;
192
- shipping_weight?: string;
193
- shipping_length?: string;
194
- shipping_width?: string;
195
- shipping_height?: string;
196
- transit_time_label?: string;
197
- max_handling_time?: string;
198
- min_handling_time?: string;
199
- tax?: string;
200
- tax_category?: string;
201
- product_detail?: string;
202
- shopping_ads_excluded_country?: string;
203
- product_highlight?: string;
204
- categories?: unknown[];
94
+ /** @example product title */
95
+ title?: string | null;
96
+ /** @example product description */
97
+ description?: string | null;
98
+ /** @example https://www.example.com/writing/google-pens */
99
+ link?: string | null;
100
+ /** @example https://www.m.example.com/writing/fiji-pens */
101
+ mobile_link?: string | null;
102
+ /** @example in_stock */
103
+ availability?: ("in_stock" | "out_of_stock" | "preorder" | "backorder") | null;
104
+ /** @example 18.5 */
105
+ price?: number | null;
106
+ /** @example 25.5 */
107
+ sale_price?: number | null;
108
+ /**
109
+ * @description Only category paths are supported.
110
+ * @example Apparel & Accessories > Clothing > Dresses
111
+ */
112
+ google_product_category?: string | null;
113
+ /** @example Home > Women > Dresses > Maxi Dresses, Home > Women > Dresses > Party Dresses */
114
+ product_type?: string | null;
115
+ /** @example Google */
116
+ brand?: string | null;
117
+ /** @example 3234567890126, 123456788787, 98746543218 */
118
+ gtin?: string | null;
119
+ /** @example GO12345OOGLE */
120
+ mpn?: string | null;
121
+ /** @example new */
122
+ condition?: ("new" | "refurbished" | "used") | null;
123
+ /** @example true */
124
+ adult?: boolean | null;
125
+ /** @example 6 */
126
+ multipack?: number | null;
127
+ is_bundle?: boolean | null;
128
+ /** @example A+ */
129
+ energy_efficiency_class?: ("A+++" | "A++" | "A+" | "A" | "B" | "C" | "D" | "E" | "F" | "G") | null;
130
+ /** @example C */
131
+ min_energy_efficiency_class?: ("A+++" | "A++" | "A+" | "A" | "B" | "C" | "D" | "E" | "F" | "G") | null;
132
+ /** @example A++ */
133
+ max_energy_efficiency_class?: ("A+++" | "A++" | "A+" | "A" | "B" | "C" | "D" | "E" | "F" | "G") | null;
134
+ /** @example infant */
135
+ age_group?: ("newborn" | "infant" | "toddler" | "kids" | "adult") | null;
136
+ /** @example Orange Mango Explosion */
137
+ color?: string | null;
138
+ /** @example female */
139
+ gender?: ("male" | "female" | "unisex") | null;
140
+ /** @example Leather */
141
+ material?: string | null;
142
+ /** @example Striped */
143
+ pattern?: string | null;
144
+ /** @example XL */
145
+ size?: string | null;
146
+ /** @example petite */
147
+ size_type?: ("regular" | "petite" | "tall" | "plus" | "big" | "maternity") | null;
148
+ /** @example UK */
149
+ size_system?: ("AU" | "BR" | "CN" | "DE" | "EU" | "FR" | "IT" | "JP" | "MEX" | "UK" | "US") | null;
150
+ /** @example AB12345 */
151
+ item_group_id?: string | null;
152
+ /** @example summer */
153
+ custom_label_0?: string | null;
154
+ /** @example summer */
155
+ custom_label_1?: string | null;
156
+ /** @example summer */
157
+ custom_label_2?: string | null;
158
+ /** @example summer */
159
+ custom_label_3?: string | null;
160
+ /** @example summer */
161
+ custom_label_4?: string | null;
162
+ /** @example tbby123_us */
163
+ promotion_id?: string | null;
164
+ /** @example General:Product Type:Digital player,General:Digital Player Type:Flash based,Display:Resolution:432 x 240,Display:Diagonal Size:"2.5" */
165
+ product_detail?: string | null;
166
+ /** @example "Supports thousands of apps, including Netflix, YouTube, HBO Now, Spotify, Showtime, Pandora, Google Play Movies", "1080p maximum display resolution" */
167
+ product_highlight?: string | null;
168
+ /** @example 30 cm */
169
+ product_length?: string | null;
170
+ /** @example 30 cm */
171
+ product_width?: string | null;
172
+ /** @example 30 cm */
173
+ product_height?: string | null;
174
+ /** @example 10 kg */
175
+ product_weight?: string | null;
205
176
  };
206
177
  product: {
178
+ /** @example 11 */
207
179
  "site-id"?: number;
180
+ /** @example 100257 */
208
181
  "product-id"?: string;
209
182
  data?: components["schemas"]["product-data"];
210
183
  };
211
184
  "product-annotation": {
185
+ /** @example success */
212
186
  message: string;
213
187
  data: components["schemas"]["product"];
214
188
  }[];
189
+ /** Product images object */
215
190
  "product-annotation-images": {
216
191
  url?: string;
217
192
  };
218
193
  "product-annotation-error": {
194
+ /** @example Could not save or publish the product */
219
195
  message: string;
220
196
  data: components["schemas"]["product"];
197
+ /** @example exception message */
221
198
  debug?: string;
222
199
  }[];
223
200
  "category-tree": {
201
+ /** @example 100 */
224
202
  id: string;
203
+ /** @example title */
225
204
  title: string;
205
+ /** @example 100 */
226
206
  parentId: string;
227
207
  }[];
228
208
  products: {
209
+ /** @example 05848170643ab0deb9914566391c0c63,0f4f08358666c54b4fde3d83d2b7ef04 */
229
210
  productIds?: unknown[];
230
211
  };
231
212
  "visual-product-search-object": {
213
+ /** @example 55fc5f71d6362321cb93b82b387e2f32 */
232
214
  groupId?: string | null;
215
+ /** @example 55fc5f71d6362321cb93b82b387e2f32 */
233
216
  productId?: string;
217
+ /** @example Livingwalls Fototapete Walls by Patel iconic 3 */
234
218
  title?: string;
235
- /** link to the product detail page */
219
+ /**
220
+ * @description link to the product detail page
221
+ * @example http://mainUrl/site/5/product/55fc5f71d6362321cb93b82b387e2f32/details
222
+ */
236
223
  deeplink?: string | null;
224
+ /** @example Fender */
237
225
  brand?: string | null;
226
+ /** @example guitar */
238
227
  productType?: string | null;
239
228
  image?: {
229
+ /** @example http://mainUrl/image.jpg */
240
230
  original?: string;
231
+ /** @example http://mainUrl/thumbnail-image.jpg */
241
232
  thumbnail?: string | null;
242
233
  };
243
234
  price?: {
235
+ /** @example 39.95 */
244
236
  actual?: number | null;
237
+ /** @example 24.95 */
245
238
  sale?: number | null;
246
239
  };
247
240
  };
248
241
  "category-filter": components["schemas"]["ion-link"] & {
242
+ /** @example Kinder */
249
243
  name: string;
250
244
  };
251
245
  "name-value-item": {
@@ -253,7 +247,9 @@ export interface components {
253
247
  value: string;
254
248
  };
255
249
  "ion-link": {
250
+ /** @example POST */
256
251
  method: string;
252
+ /** Format: uri */
257
253
  href: string;
258
254
  };
259
255
  "search-area": components["schemas"]["ion-link"] & {
@@ -267,77 +263,116 @@ export interface components {
267
263
  "visual-product-search": components["schemas"]["visual-product-search-object"][];
268
264
  "ion-visual-product-search": {
269
265
  value?: components["schemas"]["visual-product-search-object"][];
266
+ /** @example array */
270
267
  type?: string;
271
268
  searchArea?: components["schemas"]["search-area"];
272
269
  uploadHighResolutionImage?: components["schemas"]["upload-high-resolution-image"];
273
270
  filters?: {
271
+ /** @example object */
274
272
  type?: string;
275
273
  value?: {
276
274
  categories?: components["schemas"]["category-filter"][];
277
275
  };
278
276
  };
277
+ /** @example [object Object] */
279
278
  links?: {
280
279
  [key: string]: components["schemas"]["ion-link"];
281
280
  };
282
281
  detectedObjects?: components["schemas"]["ion-detected-object"][];
283
282
  };
284
283
  "visual-product-recommendations": {
284
+ /** @example b56764137ca959da9541bb28c1987d6c,b5685a5230f5050475f214b4bb0e239b,b56c560872da93602ff88c7267eb4774,d861ad687c60820255dbf8f88516f24d */
285
285
  bestFits?: string[];
286
286
  extended?: components["schemas"]["visual-product-search"][];
287
287
  };
288
288
  predict_product: {
289
- /** the id of the product for which to make a prediction */
289
+ /**
290
+ * @description the id of the product for which to make a prediction
291
+ * @example 0010020000VR
292
+ */
290
293
  id: string;
291
294
  };
292
295
  predicted_product: {
293
- /** the id of the product to which the predictions belong */
296
+ /**
297
+ * @description the id of the product to which the predictions belong
298
+ * @example 0010020000VR
299
+ */
294
300
  id: string;
295
- /** each object represents a field of the product with its predicted value */
301
+ /** @description each object represents a field of the product with its predicted value */
296
302
  fields: components["schemas"]["predicted_field"][];
297
- /** each object represents an image of the product with its predicted fields */
303
+ /** @description each object represents an image of the product with its predicted fields */
298
304
  images: components["schemas"]["predicted_image"][];
299
305
  };
300
306
  predicted_image: {
301
- /** the url that identifies the image */
307
+ /**
308
+ * @description the url that identifies the image
309
+ * @example https://www.example.org/image.jpg
310
+ */
302
311
  url: string;
303
- /** each object represents a field of the image with its predicted value */
312
+ /** @description each object represents a field of the image with its predicted value */
304
313
  fields: components["schemas"]["predicted_field"][];
305
314
  };
306
- /** this object contains a prediction for a field */
315
+ /** @description this object contains a prediction for a field */
307
316
  predicted_field: {
308
- /** the fields's name */
317
+ /**
318
+ * @description the fields's name
319
+ * @example color
320
+ */
309
321
  name: string;
310
- /** the fields's known value (according to the product catalog) */
322
+ /**
323
+ * @description the fields's known value (according to the product catalog)
324
+ * @example red
325
+ */
311
326
  value: unknown | null;
312
- /** the fields's predicted value */
327
+ /**
328
+ * @description the fields's predicted value
329
+ * @example orange
330
+ */
313
331
  prediction: unknown | null;
314
332
  };
315
- /** This is top-level object based on Google's JSON style guide (https://google.github.io/styleguide/jsoncstyleguide.xml#Reserved_Property_Names_in_the_error_object). */
333
+ /**
334
+ * Error Response
335
+ * @description This is top-level object based on Google's JSON style guide (https://google.github.io/styleguide/jsoncstyleguide.xml#Reserved_Property_Names_in_the_error_object).
336
+ */
316
337
  error_response: {
317
- /** Represents the code for this error. This property value will usually represent the HTTP response code. If there are multiple errors, code will be the error code for the first error. */
338
+ /**
339
+ * @description Represents the code for this error. This property value will usually represent the HTTP response code. If there are multiple errors, code will be the error code for the first error.
340
+ * @example 500
341
+ */
318
342
  code: number;
319
- /** A human readable message providing more details about the error. If there are multiple errors, message will be the message for the first error. */
343
+ /** @description A human readable message providing more details about the error. If there are multiple errors, message will be the message for the first error. */
320
344
  message: string;
321
- /** Container for any additional information regarding the error. If the service returns multiple errors, each element in the errors array represents a different error. */
345
+ /** @description Container for any additional information regarding the error. If the service returns multiple errors, each element in the errors array represents a different error. */
322
346
  errors?: components["schemas"]["error_object"][];
323
347
  };
324
- /** This is a distinct error in an error response, also based on Google's JSON style guide (https://google.github.io/styleguide/jsoncstyleguide.xml#Reserved_Property_Names_in_the_error_object). */
348
+ /**
349
+ * Error Object
350
+ * @description This is a distinct error in an error response, also based on Google's JSON style guide (https://google.github.io/styleguide/jsoncstyleguide.xml#Reserved_Property_Names_in_the_error_object).
351
+ */
325
352
  error_object: {
326
- /** Unique identifier for the service raising this error. This helps distinguish service-specific errors (i.e. error inserting an event in a calendar) from general protocol errors (i.e. file not found). */
353
+ /** @description Unique identifier for the service raising this error. This helps distinguish service-specific errors (i.e. error inserting an event in a calendar) from general protocol errors (i.e. file not found). */
327
354
  domain?: string;
328
- /** Unique identifier for this error. Different from the error.code property in that this is not an http response code. */
355
+ /** @description Unique identifier for this error. Different from the error.code property in that this is not an http response code. */
329
356
  reason?: string;
330
- /** A human readable message providing more details about the error. If there is only one error, this field will match error.message. */
357
+ /** @description A human readable message providing more details about the error. If there is only one error, this field will match error.message. */
331
358
  message: string;
332
- /** The location of the error (the interpretation of its value depends on location_type). */
359
+ /** @description The location of the error (the interpretation of its value depends on location_type). */
333
360
  location?: string;
334
- /** Indicates how the location property should be interpreted. */
361
+ /** @description Indicates how the location property should be interpreted. */
335
362
  location_type?: string;
336
- /** A URI for a help text that might shed some more light on the error. */
363
+ /** @description A URI for a help text that might shed some more light on the error. */
337
364
  extended_help?: string;
338
- /** A URI for a report form used by the service to collect data about the error condition. This URI should be preloaded with parameters describing the request. */
365
+ /** @description A URI for a report form used by the service to collect data about the error condition. This URI should be preloaded with parameters describing the request. */
339
366
  send_report?: string;
340
367
  };
368
+ "delete-product-images-by-productId": {
369
+ /** @example 25 */
370
+ "site-id"?: number;
371
+ /** @example 100258 */
372
+ "product-id"?: string;
373
+ /** @example 1,2 */
374
+ "image-ids"?: unknown[];
375
+ };
341
376
  };
342
377
  responses: {
343
378
  /** detected objects response */
@@ -402,81 +437,6 @@ export interface components {
402
437
  };
403
438
  }
404
439
  export interface operations {
405
- /** Returns all products which has at least one image */
406
- GetProducts: {
407
- responses: {
408
- /** success */
409
- 200: {
410
- content: {
411
- "application/json": components["schemas"]["products"];
412
- };
413
- };
414
- /** An exception occurred on products */
415
- 400: {
416
- content: {
417
- "application/json": unknown;
418
- };
419
- };
420
- 401: components["responses"]["authentication-error"];
421
- 403: components["responses"]["authorization-error"];
422
- };
423
- };
424
- /** Save or publish the categoryTree */
425
- SaveCategoryTree: {
426
- responses: {
427
- /** success */
428
- 200: {
429
- content: {
430
- "application/json": unknown;
431
- };
432
- };
433
- /** Could not save or publish the category */
434
- 400: {
435
- content: {
436
- "application/json": unknown;
437
- };
438
- };
439
- 401: components["responses"]["authentication-error"];
440
- 403: components["responses"]["authorization-error"];
441
- /** Invalid structure passed to endpoint */
442
- 422: {
443
- content: {
444
- "application/json": unknown;
445
- };
446
- };
447
- };
448
- /** List of category objects */
449
- requestBody: {
450
- content: {
451
- "application/json": components["schemas"]["category-tree"];
452
- };
453
- };
454
- };
455
- /** Save or publish the product */
456
- SaveProduct: {
457
- parameters: {
458
- path: {
459
- "product-id": string;
460
- };
461
- };
462
- responses: {
463
- /** success */
464
- 200: {
465
- content: {
466
- "application/json": components["schemas"]["product-annotation"];
467
- };
468
- };
469
- /** Could not save or publish the product */
470
- 400: {
471
- content: {
472
- "application/json": components["schemas"]["product-annotation-error"];
473
- };
474
- };
475
- 401: components["responses"]["authentication-error"];
476
- 403: components["responses"]["authorization-error"];
477
- };
478
- requestBody: components["requestBodies"]["product-annotation"];
479
- };
480
440
  /** Return most similar products to input one */
481
441
  GetSimilarProductsToInputImage: {
482
442
  parameters: {
@@ -603,48 +563,8 @@ export interface operations {
603
563
  };
604
564
  };
605
565
  };
606
- /** Deletes all images from a site on a given image id */
607
- DeleteImageById: {
608
- parameters: {
609
- path: {
610
- "image-id": string;
611
- };
612
- };
613
- responses: {
614
- /** success */
615
- 200: {
616
- content: {
617
- "application/json": {
618
- message?: string;
619
- data?: components["schemas"]["delete-image-by-imageId"];
620
- };
621
- };
622
- };
623
- /** Could not delete the image */
624
- 400: {
625
- content: {
626
- "application/json": {
627
- message?: string;
628
- data?: components["schemas"]["delete-image-error"];
629
- debug?: string;
630
- };
631
- };
632
- };
633
- 401: components["responses"]["authentication-error"];
634
- 403: components["responses"]["authorization-error"];
635
- /** Unable to find any matching image */
636
- 404: {
637
- content: {
638
- "application/json": {
639
- message?: string;
640
- data?: components["schemas"]["delete-image-error"];
641
- };
642
- };
643
- };
644
- };
645
- };
646
- /** Deletes product and its images from a site on a given product id */
647
- DeleteFullProduct: {
566
+ /** Creates a new product or updates an existing one */
567
+ SetProduct: {
648
568
  parameters: {
649
569
  path: {
650
570
  "product-id": string;
@@ -654,37 +574,22 @@ export interface operations {
654
574
  /** success */
655
575
  200: {
656
576
  content: {
657
- "application/json": {
658
- message?: string;
659
- data?: components["schemas"]["delete-product-images-by-productId"];
660
- };
577
+ "application/json": components["schemas"]["product-annotation"];
661
578
  };
662
579
  };
663
- /** Could not delete the image */
580
+ /** Could not save or publish the product */
664
581
  400: {
665
582
  content: {
666
- "application/json": {
667
- message?: string;
668
- data?: components["schemas"]["delete-image-error"];
669
- debug?: string;
670
- };
583
+ "application/json": components["schemas"]["product-annotation-error"];
671
584
  };
672
585
  };
673
586
  401: components["responses"]["authentication-error"];
674
587
  403: components["responses"]["authorization-error"];
675
- /** Unable to find any image of the product */
676
- 404: {
677
- content: {
678
- "application/json": {
679
- message?: string;
680
- data?: components["schemas"]["delete-image-error"];
681
- };
682
- };
683
- };
684
588
  };
589
+ requestBody: components["requestBodies"]["product-annotation"];
685
590
  };
686
- /** Deletes all images from a site on a given product id */
687
- DeleteImageByProductId: {
591
+ /** Deletes product and its images from a site on a given product id */
592
+ DeleteProduct: {
688
593
  parameters: {
689
594
  path: {
690
595
  "product-id": string;
@@ -695,6 +600,7 @@ export interface operations {
695
600
  200: {
696
601
  content: {
697
602
  "application/json": {
603
+ /** @example success */
698
604
  message?: string;
699
605
  data?: components["schemas"]["delete-product-images-by-productId"];
700
606
  };
@@ -704,8 +610,10 @@ export interface operations {
704
610
  400: {
705
611
  content: {
706
612
  "application/json": {
613
+ /** @example Could not delete the image */
707
614
  message?: string;
708
615
  data?: components["schemas"]["delete-image-error"];
616
+ /** @example exception message */
709
617
  debug?: string;
710
618
  };
711
619
  };
@@ -716,6 +624,7 @@ export interface operations {
716
624
  404: {
717
625
  content: {
718
626
  "application/json": {
627
+ /** @example Unable to find any image of the product. */
719
628
  message?: string;
720
629
  data?: components["schemas"]["delete-image-error"];
721
630
  };
@@ -723,96 +632,6 @@ export interface operations {
723
632
  };
724
633
  };
725
634
  };
726
- /** Upload image directly to catalog and trigger feature extraction */
727
- AddImage: {
728
- parameters: {
729
- path: {
730
- "product-id": string;
731
- "image-id": string;
732
- };
733
- };
734
- responses: {
735
- /** success */
736
- 200: {
737
- content: {
738
- "application/json": {
739
- message?: string;
740
- data?: components["schemas"]["image-by-productId-and-imageId"];
741
- };
742
- };
743
- };
744
- /** Could not save or publish the image */
745
- 400: {
746
- content: {
747
- "application/json": {
748
- message?: string;
749
- data?: components["schemas"]["image-by-productId-and-imageId"];
750
- debug?: string;
751
- };
752
- };
753
- };
754
- 401: components["responses"]["authentication-error"];
755
- 403: components["responses"]["authorization-error"];
756
- /** Unable to find product to add this image to */
757
- 404: {
758
- content: {
759
- "application/json": {
760
- message?: string;
761
- data?: components["schemas"]["image-by-productId-and-imageId"];
762
- };
763
- };
764
- };
765
- };
766
- /** Image url */
767
- requestBody: {
768
- content: {
769
- "application/x-www-form-urlencoded": {
770
- "image-url": string;
771
- };
772
- };
773
- };
774
- };
775
- /** Deletes all images from a site on given product and image ids */
776
- DeleteImageByImageIdAndProductId: {
777
- parameters: {
778
- path: {
779
- "product-id": string;
780
- "image-id": string;
781
- };
782
- };
783
- responses: {
784
- /** success */
785
- 200: {
786
- content: {
787
- "application/json": {
788
- message?: string;
789
- data?: components["schemas"]["image-by-productId-and-imageId"];
790
- };
791
- };
792
- };
793
- /** Could not delete the image */
794
- 400: {
795
- content: {
796
- "application/json": {
797
- message?: string;
798
- data?: components["schemas"]["delete-image-by-productId-and-imageId-400-error"];
799
- debug?: string;
800
- };
801
- };
802
- };
803
- 401: components["responses"]["authentication-error"];
804
- 403: components["responses"]["authorization-error"];
805
- /** Unable to find image. */
806
- 404: {
807
- content: {
808
- "application/json": {
809
- message?: string;
810
- data?: components["schemas"]["delete-image-by-productId-and-imageId-404-error"];
811
- };
812
- };
813
- };
814
- };
815
- };
816
635
  /** Starts a reusable search session for a one image. */
817
636
  CreateSearchSession: {
818
637
  parameters: {
@@ -834,6 +653,7 @@ export interface operations {
834
653
  requestBody: {
835
654
  content: {
836
655
  "multipart/form-data": {
656
+ /** Format: binary */
837
657
  image: string;
838
658
  };
839
659
  };
@@ -921,6 +741,7 @@ export interface operations {
921
741
  200: {
922
742
  content: {
923
743
  "application/json": {
744
+ /** @example success */
924
745
  message?: string;
925
746
  };
926
747
  };