vviinn-widgets 2.44.2 → 2.46.0

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 (151) hide show
  1. package/dist/cjs/VisualSearchIcon-1180d079.js +8 -0
  2. package/dist/cjs/{customized-slots-49c03dc1.js → customized-slots-1b59bd38.js} +1 -0
  3. package/dist/cjs/{index-7ff2ab5f.js → index-279a6a0f.js} +75 -75
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/{package-5912f89d.js → package-3b910c03.js} +1 -1
  6. package/dist/cjs/{search-filters_16.cjs.entry.js → search-filters_17.cjs.entry.js} +116 -55
  7. package/dist/cjs/{imageSearch.store-dc4e98b3.js → search.store-0b319593.js} +55 -21
  8. package/dist/cjs/vviinn-button.cjs.entry.js +2 -2
  9. package/dist/cjs/vviinn-carousel_4.cjs.entry.js +60 -51
  10. package/dist/cjs/vviinn-preloader.cjs.entry.js +2 -2
  11. package/dist/cjs/vviinn-recommendations-sidebar.cjs.entry.js +4 -2
  12. package/dist/cjs/vviinn-vpr-button.cjs.entry.js +3 -3
  13. package/dist/cjs/vviinn-vps-button.cjs.entry.js +7 -4
  14. package/dist/cjs/vviinn-vps-widget.cjs.entry.js +65 -40
  15. package/dist/cjs/vviinn-widgets.cjs.js +1 -1
  16. package/dist/collection/collection-manifest.json +1 -0
  17. package/dist/collection/components/customized-slots.js +1 -0
  18. package/dist/collection/components/image-search/search-filters/search-filters.js +5 -5
  19. package/dist/collection/components/vviinn-error/vviinn-empty-results/vviinn-empty-results.js +2 -1
  20. package/dist/collection/components/vviinn-example-image/vviinn-example-image.js +1 -1
  21. package/dist/collection/components/vviinn-icons/icons/ArrowIcon.js +2 -0
  22. package/dist/collection/components/vviinn-icons/icons/BasketIcon.js +2 -0
  23. package/dist/collection/components/vviinn-icons/icons/CameraActionIcon.js +2 -0
  24. package/dist/collection/components/vviinn-icons/icons/CameraIcon.js +2 -0
  25. package/dist/collection/components/vviinn-icons/icons/CheckCircleIcon.js +2 -0
  26. package/dist/collection/components/vviinn-icons/icons/CheckIcon.js +2 -0
  27. package/dist/collection/components/vviinn-icons/icons/ChevronIcon.js +2 -0
  28. package/dist/collection/components/vviinn-icons/icons/CloseIcon.js +2 -0
  29. package/dist/collection/components/vviinn-icons/icons/CrossIcon.js +2 -0
  30. package/dist/collection/components/vviinn-icons/icons/GalleryActionIcon.js +2 -0
  31. package/dist/collection/components/vviinn-icons/icons/LoaderIcon.js +2 -0
  32. package/dist/collection/components/vviinn-icons/icons/MinusIcon.js +2 -0
  33. package/dist/collection/components/vviinn-icons/icons/PlusIcon.js +2 -0
  34. package/dist/collection/components/vviinn-icons/icons/RoundCameraIcon.js +2 -0
  35. package/dist/collection/components/vviinn-icons/icons/SecondaryActionIcon.js +2 -0
  36. package/dist/collection/components/vviinn-icons/icons/TextSearchIcon.js +2 -0
  37. package/dist/collection/components/vviinn-icons/icons/UpdateIcon.js +2 -0
  38. package/dist/collection/components/vviinn-icons/icons/UploadActionIcon.js +2 -0
  39. package/dist/collection/components/vviinn-icons/icons/VisualSearchIcon.js +2 -0
  40. package/dist/collection/components/vviinn-icons/icons/WarningIcon.js +2 -0
  41. package/dist/collection/components/vviinn-icons/index.js +20 -18
  42. package/dist/collection/components/vviinn-image-selector/vviinn-image-selector.js +1 -1
  43. package/dist/collection/components/vviinn-image-view/vviinn-detected-object/vviinn-detected-object.js +7 -7
  44. package/dist/collection/components/vviinn-image-view/vviinn-image-view.js +7 -8
  45. package/dist/collection/components/vviinn-modal/vviinn-modal.js +2 -2
  46. package/dist/collection/components/vviinn-preloader/vviinn-preloader.js +2 -2
  47. package/dist/collection/components/vviinn-privacy-badge/vviinn-privacy-badge.css +1 -0
  48. package/dist/collection/components/vviinn-product-card/vviinn-product-card.js +2 -2
  49. package/dist/collection/components/vviinn-text-search/vviinn-text-search.css +63 -0
  50. package/dist/collection/components/vviinn-text-search/vviinn-text-search.js +118 -0
  51. package/dist/collection/components/vviinn-vpr-widget/vviinn-vpr-vidget.js +7 -4
  52. package/dist/collection/components/vviinn-vps-button/stories/vviinn-vps-button.stories.js +2 -0
  53. package/dist/collection/components/vviinn-vps-button/vviinn-vps-button.js +20 -1
  54. package/dist/collection/components/vviinn-vps-widget/stories/vviinn-vps-widget.stories.js +2 -0
  55. package/dist/collection/components/vviinn-vps-widget/vviinn-vps-widget.css +15 -1
  56. package/dist/collection/components/vviinn-vps-widget/vviinn-vps-widget.js +77 -31
  57. package/dist/collection/locale/resources-vps.js +2 -0
  58. package/dist/collection/network/request.js +1 -1
  59. package/dist/collection/searchSession/searchSession.js +5 -10
  60. package/dist/collection/store/{imageSearch.store.js → search.store.js} +34 -5
  61. package/dist/esm/VisualSearchIcon-13f7da6a.js +6 -0
  62. package/dist/esm/{customized-slots-9a9f8c20.js → customized-slots-3bea41d2.js} +1 -0
  63. package/dist/esm/{index-53105ad4.js → index-9c15b8f1.js} +1 -1
  64. package/dist/esm/loader.js +1 -1
  65. package/dist/esm/{package-b2424850.js → package-cae9f186.js} +1 -1
  66. package/dist/esm/{search-filters_16.entry.js → search-filters_17.entry.js} +85 -25
  67. package/dist/esm/{imageSearch.store-c0f2a178.js → search.store-5eebcfbe.js} +54 -21
  68. package/dist/esm/vviinn-button.entry.js +1 -1
  69. package/dist/esm/vviinn-carousel_4.entry.js +19 -10
  70. package/dist/esm/vviinn-preloader.entry.js +2 -2
  71. package/dist/esm/vviinn-recommendations-sidebar.entry.js +4 -2
  72. package/dist/esm/vviinn-vpr-button.entry.js +2 -2
  73. package/dist/esm/vviinn-vps-button.entry.js +8 -5
  74. package/dist/esm/vviinn-vps-widget.entry.js +61 -36
  75. package/dist/esm/vviinn-widgets.js +1 -1
  76. package/dist/types/components/vviinn-icons/icons/ArrowIcon.d.ts +1 -0
  77. package/dist/types/components/vviinn-icons/icons/BasketIcon.d.ts +1 -0
  78. package/dist/types/components/vviinn-icons/icons/CameraActionIcon.d.ts +1 -0
  79. package/dist/types/components/vviinn-icons/icons/CameraIcon.d.ts +1 -0
  80. package/dist/types/components/vviinn-icons/icons/CheckCircleIcon.d.ts +1 -0
  81. package/dist/types/components/vviinn-icons/icons/CheckIcon.d.ts +1 -0
  82. package/dist/types/components/vviinn-icons/icons/ChevronIcon.d.ts +1 -0
  83. package/dist/types/components/vviinn-icons/icons/CloseIcon.d.ts +1 -0
  84. package/dist/types/components/vviinn-icons/icons/CrossIcon.d.ts +1 -0
  85. package/dist/types/components/vviinn-icons/icons/GalleryActionIcon.d.ts +1 -0
  86. package/dist/types/components/vviinn-icons/icons/LoaderIcon.d.ts +1 -0
  87. package/dist/types/components/vviinn-icons/icons/MinusIcon.d.ts +1 -0
  88. package/dist/types/components/vviinn-icons/icons/PlusIcon.d.ts +1 -0
  89. package/dist/types/components/vviinn-icons/icons/RoundCameraIcon.d.ts +1 -0
  90. package/dist/types/components/vviinn-icons/icons/SecondaryActionIcon.d.ts +1 -0
  91. package/dist/types/components/vviinn-icons/icons/TextSearchIcon.d.ts +1 -0
  92. package/dist/types/components/vviinn-icons/icons/UpdateIcon.d.ts +1 -0
  93. package/dist/types/components/vviinn-icons/icons/UploadActionIcon.d.ts +1 -0
  94. package/dist/types/components/vviinn-icons/icons/VisualSearchIcon.d.ts +1 -0
  95. package/dist/types/components/vviinn-icons/icons/WarningIcon.d.ts +1 -0
  96. package/dist/types/components/vviinn-icons/index.d.ts +20 -17
  97. package/dist/types/components/vviinn-text-search/vviinn-text-search.d.ts +18 -0
  98. package/dist/types/components/vviinn-vpr-widget/vviinn-vpr-vidget.d.ts +1 -0
  99. package/dist/types/components/vviinn-vps-button/vviinn-vps-button.d.ts +2 -0
  100. package/dist/types/components/vviinn-vps-widget/vviinn-vps-widget.d.ts +9 -0
  101. package/dist/types/components.d.ts +37 -0
  102. package/dist/types/network/request.d.ts +1 -1
  103. package/dist/types/searchSession/searchSession.d.ts +17 -3
  104. package/dist/types/store/{imageSearch.store.d.ts → search.store.d.ts} +6 -4
  105. package/{www/build/p-987a8e9f.js → dist/vviinn-widgets/p-04cdf7c5.js} +1 -1
  106. package/dist/vviinn-widgets/{p-7f2c9319.entry.js → p-185e2420.entry.js} +1 -1
  107. package/dist/vviinn-widgets/p-1a1d85b7.js +1 -0
  108. package/dist/vviinn-widgets/p-3d2759e3.entry.js +1 -0
  109. package/dist/vviinn-widgets/{p-da7273ce.js → p-41ab810c.js} +1 -1
  110. package/dist/vviinn-widgets/{p-ed082ecf.entry.js → p-4c726a51.entry.js} +1 -1
  111. package/dist/vviinn-widgets/p-ae471f24.entry.js +11 -0
  112. package/dist/vviinn-widgets/p-b21ebac9.js +1 -0
  113. package/dist/vviinn-widgets/p-c96f5909.entry.js +1 -0
  114. package/dist/vviinn-widgets/p-d1592ac5.entry.js +1 -0
  115. package/dist/vviinn-widgets/p-d162fe72.entry.js +1 -0
  116. package/dist/vviinn-widgets/{p-010b4979.entry.js → p-ec7b07a0.entry.js} +1 -1
  117. package/dist/vviinn-widgets/p-ed482314.js +1 -0
  118. package/dist/vviinn-widgets/vviinn-widgets.esm.js +1 -1
  119. package/package.json +1 -1
  120. package/{dist/vviinn-widgets/p-987a8e9f.js → www/build/p-04cdf7c5.js} +1 -1
  121. package/www/build/{p-7f2c9319.entry.js → p-185e2420.entry.js} +1 -1
  122. package/www/build/p-1a1d85b7.js +1 -0
  123. package/www/build/p-3d2759e3.entry.js +1 -0
  124. package/www/build/{p-da7273ce.js → p-41ab810c.js} +1 -1
  125. package/www/build/{p-ed082ecf.entry.js → p-4c726a51.entry.js} +1 -1
  126. package/www/build/p-ae471f24.entry.js +11 -0
  127. package/www/build/p-b21ebac9.js +1 -0
  128. package/www/build/p-c96f5909.entry.js +1 -0
  129. package/www/build/p-d1592ac5.entry.js +1 -0
  130. package/www/build/p-d162fe72.entry.js +1 -0
  131. package/www/build/{p-010b4979.entry.js → p-ec7b07a0.entry.js} +1 -1
  132. package/www/build/p-ed482314.js +1 -0
  133. package/www/build/vviinn-widgets.esm.js +1 -1
  134. package/dist/cjs/index-28052f80.js +0 -48
  135. package/dist/esm/index-ac58a953.js +0 -34
  136. package/dist/vviinn-widgets/p-044c5f45.entry.js +0 -1
  137. package/dist/vviinn-widgets/p-726774f9.js +0 -1
  138. package/dist/vviinn-widgets/p-7f19baa1.js +0 -1
  139. package/dist/vviinn-widgets/p-a7cc44b3.entry.js +0 -1
  140. package/dist/vviinn-widgets/p-ab938400.entry.js +0 -1
  141. package/dist/vviinn-widgets/p-b1e9dd46.entry.js +0 -1
  142. package/dist/vviinn-widgets/p-c8ef8d6c.js +0 -1
  143. package/dist/vviinn-widgets/p-ecd1c141.entry.js +0 -11
  144. package/www/build/p-044c5f45.entry.js +0 -1
  145. package/www/build/p-726774f9.js +0 -1
  146. package/www/build/p-7f19baa1.js +0 -1
  147. package/www/build/p-a7cc44b3.entry.js +0 -1
  148. package/www/build/p-ab938400.entry.js +0 -1
  149. package/www/build/p-b1e9dd46.entry.js +0 -1
  150. package/www/build/p-c8ef8d6c.js +0 -1
  151. package/www/build/p-ecd1c141.entry.js +0 -11
@@ -1,12 +1,17 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-1f3eaf12.js';
2
- import { i as imageSearchState, s as state, a as _function, O as Option, k as parseExcluded, q as isEmpty } from './imageSearch.store-c0f2a178.js';
1
+ import { h, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-1f3eaf12.js';
2
+ import { s as searchState, b as state, a as _function, O as Option, k as parseExcluded, q as isEmpty } from './search.store-5eebcfbe.js';
3
3
  import { i as instance } from './i18next-387f2b0a.js';
4
- import { v as version } from './package-b2424850.js';
5
- import { c as campaignTypeNames, s as slotChangeListener, S as SlotSkeleton } from './customized-slots-9a9f8c20.js';
6
- import { j as createSearchEvent, k as createFilterEvent, v as v4, c as createTrackingApi, l as createWidgetVpsEvent, m as createProductVpsEventByType, n as createResultVpsEventByType } from './index-53105ad4.js';
7
- import { c as CameraActionIcon, d as UploadActionIcon } from './index-ac58a953.js';
4
+ import { v as version } from './package-cae9f186.js';
5
+ import { c as campaignTypeNames, s as slotChangeListener, S as SlotSkeleton } from './customized-slots-3bea41d2.js';
6
+ import { j as createSearchEvent, k as createFilterEvent, v as v4, c as createTrackingApi, l as createWidgetVpsEvent, m as createProductVpsEventByType, n as createResultVpsEventByType } from './index-9c15b8f1.js';
8
7
  import { D as DEFAULT_EXAMPLE_IMAGE } from './constants-8bf233a9.js';
9
8
 
9
+ const CameraActionIcon = () => (h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" },
10
+ h("path", { d: "M12 17.5C13.25 17.5 14.3125 17.0625 15.1875 16.1875C16.0625 15.3125 16.5 14.25 16.5 13C16.5 11.75 16.0625 10.6875 15.1875 9.8125C14.3125 8.9375 13.25 8.5 12 8.5C10.75 8.5 9.6875 8.9375 8.8125 9.8125C7.9375 10.6875 7.5 11.75 7.5 13C7.5 14.25 7.9375 15.3125 8.8125 16.1875C9.6875 17.0625 10.75 17.5 12 17.5ZM12 15.5C11.3 15.5 10.7083 15.2583 10.225 14.775C9.74167 14.2917 9.5 13.7 9.5 13C9.5 12.3 9.74167 11.7083 10.225 11.225C10.7083 10.7417 11.3 10.5 12 10.5C12.7 10.5 13.2917 10.7417 13.775 11.225C14.2583 11.7083 14.5 12.3 14.5 13C14.5 13.7 14.2583 14.2917 13.775 14.775C13.2917 15.2583 12.7 15.5 12 15.5ZM4 21C3.45 21 2.97917 20.8042 2.5875 20.4125C2.19583 20.0208 2 19.55 2 19V7C2 6.45 2.19583 5.97917 2.5875 5.5875C2.97917 5.19583 3.45 5 4 5H7.15L8.4 3.65C8.58333 3.45 8.80417 3.29167 9.0625 3.175C9.32083 3.05833 9.59167 3 9.875 3H14.125C14.4083 3 14.6792 3.05833 14.9375 3.175C15.1958 3.29167 15.4167 3.45 15.6 3.65L16.85 5H20C20.55 5 21.0208 5.19583 21.4125 5.5875C21.8042 5.97917 22 6.45 22 7V19C22 19.55 21.8042 20.0208 21.4125 20.4125C21.0208 20.8042 20.55 21 20 21H4Z", fill: "currentColor" })));
11
+
12
+ const UploadActionIcon = () => (h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" },
13
+ h("path", { d: "M4.5 21C4.1 21 3.75 20.85 3.45 20.55C3.15 20.25 3 19.9 3 19.5V4.5C3 4.1 3.15 3.75 3.45 3.45C3.75 3.15 4.1 3 4.5 3H19.5C19.9 3 20.25 3.15 20.55 3.45C20.85 3.75 21 4.1 21 4.5V19.5C21 19.9 20.85 20.25 20.55 20.55C20.25 20.85 19.9 21 19.5 21H4.5ZM6.65 17.075H17.375C17.525 17.075 17.6333 17.0083 17.7 16.875C17.7667 16.7417 17.7583 16.6083 17.675 16.475L14.75 12.575C14.6667 12.475 14.5667 12.425 14.45 12.425C14.3333 12.425 14.2333 12.475 14.15 12.575L11.15 16.45L9.125 13.675C9.04167 13.575 8.94167 13.525 8.825 13.525C8.70833 13.525 8.60833 13.575 8.525 13.675L6.375 16.475C6.275 16.6083 6.25833 16.7417 6.325 16.875C6.39167 17.0083 6.5 17.075 6.65 17.075Z", fill: "currentColor" })));
14
+
10
15
  const resources = {
11
16
  de: {
12
17
  translation: {
@@ -17,6 +22,7 @@ const resources = {
17
22
  privacyBadgeText: "Durch das Hochladen eines Bildes willigst Du in die Verarbeitung durch unseren Partner Vviinn ein. Das Bild wird nach einer Stunde Inaktivität gelöscht.",
18
23
  teaserText: "Finde Produkte auf \n einem Foto",
19
24
  imageSearchModalTitle: "Bildsuche",
25
+ textSearchPlaceholder: "mit Text suchen",
20
26
  emptyResultsBlock: {
21
27
  title: "Leider nichts gefunden",
22
28
  button: "Neues Bild hochladen",
@@ -45,6 +51,7 @@ const resources = {
45
51
  privacyBadgeText: "By uploading a picture you agree to the processing by our partner Vviinn. The image will be deleted after one hour of inactivity.",
46
52
  teaserText: "Find Product by Photo",
47
53
  imageSearchModalTitle: "Visual Search",
54
+ textSearchPlaceholder: "Search by text",
48
55
  emptyResultsBlock: {
49
56
  title: "Sorry, nothing found",
50
57
  button: "Upload another image",
@@ -73,7 +80,7 @@ const videoStreamSettings = {
73
80
  frameRate: { ideal: 30 },
74
81
  };
75
82
 
76
- const vviinnVpsWidgetCss = ":host{--color-primary-system:#0F62FE;--color-primary-hover-system:#014CDA;--color-icons-system:#2F8EDF;--spacer:8px}:host{display:block}.hidden{visibility:hidden;height:1px}vviinn-overlayed-modal.first-screen::part(title),vviinn-overlayed-modal.first-screen::part(secondary-action){visibility:hidden}.start-page{display:grid;grid-template-columns:repeat(2, 1fr);height:640px}#start-page_block{box-sizing:border-box;display:flex;overflow-y:auto;flex-direction:column;justify-content:center;padding:42px 62px}#start-page_block.error{align-content:center}.start-page_main-content{flex-grow:1;display:flex;flex-direction:column;justify-content:center}.start-page_errors-block{display:flex;flex-direction:column;justify-content:center;gap:12px}.buttons-group{display:flex;flex-direction:column;gap:12px;margin:24px 0}.action-button{display:grid;border:none;cursor:pointer;align-items:center;border-radius:8px;font-size:16px;height:48px;justify-items:center;transition:background 0.1s ease-in-out;color:#525252;background-color:#f4f4f4}.action-button:hover{background-color:#eaeaea}.action-button:first-child{background:var(--color-primary, var(--color-primary-system));border-color:var(--color-primary, var(--color-primary-system));color:white}.action-button:first-child:hover{background:var(--color-primary-hover, var(--color-primary-hover-system));border-color:var(--color-primary-hover, var(--color-primary-hover-system))}.action-button:active{border-color:black}.action-button-content{display:grid;align-items:center;justify-items:start;justify-content:center;grid-template-columns:max-content auto;grid-gap:8px}.results-page{margin-top:64px;display:grid;grid-template-columns:336px auto;box-sizing:border-box}.results-page>*{padding:24px;box-sizing:border-box}.products{width:100%;align-content:center;align-items:start;box-sizing:border-box;display:grid;grid-gap:32px 16px;grid-template-columns:repeat(auto-fill, minmax(130px, 1fr));justify-items:center;padding:24px;position:absolute}.products.hidden{display:none}vviinn-empty-results{width:280px;align-self:center;justify-self:center}.products-wrapper{display:grid;overflow-y:auto;overflow-x:hidden;padding:unset;position:relative;width:100%}.image-wrapper{display:grid;grid-template-rows:min-content 1fr;min-width:100%}.filters-wrapper{margin-top:24px;overflow-x:auto;transform:translateX(-24px);min-width:calc(100% + 48px)}vviinn-product-card{gap:0;width:100%}vviinn-product-card::part(image){border:1px solid #eaeaea;margin-bottom:8px}vviinn-product-card::part(price-container),vviinn-product-card::part(deeplink),vviinn-product-card::part(title){align-self:start}search-filters span{display:none}search-filters::part(filter){background:#f4f4f4;border-radius:8px;box-sizing:border-box;color:#161616;font-size:14px;font-weight:400;line-height:20px}search-filters::part(show-more-filters){display:flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid #f4f4f4;min-width:40px;height:40px;border-radius:100px;box-sizing:border-box;color:#161616}search-filters::part(show-more-filters):hover{background:#eaeaea}search-filters::part(filter active){background:var(--color-primary, var(--color-primary-system));color:white}.results-page:not(.active){display:none}.nothing-found{display:grid;grid-gap:64px;justify-self:center;padding-top:64px;padding-bottom:16px;position:absolute;width:60%}@media (max-width: 1080px){#start-page_block{padding:24px 36px}}@media (max-width: 768px){.start-page{display:flex;flex-direction:column;height:100%}vviinn-overlayed-modal.first-screen::part(secondary-action){visibility:visible}.start-page.active{height:calc(100vh - 64px);height:calc(100svh - 64px)}.start-page:not(.active){overflow:hidden}.results-page{margin-top:0}.results-page>*{box-sizing:border-box;padding:12px 24px 24px}.image-wrapper{padding:0}.filters-wrapper{padding-left:24px;min-width:calc(100% + 40px)}.results-page{grid-template-rows:min-content;grid-template-columns:unset}#start-page_block{overflow-y:unset;min-height:-moz-fit-content;min-height:fit-content;padding:24px 20px}.image{margin-bottom:8px}.image-wrapper{grid-template-rows:min-content auto;width:100%}.products-wrapper{align-content:start;position:static;overflow-y:unset;width:100%;padding-top:0;margin-top:24px}.products{position:static;padding:0;width:unset;grid-gap:32px 16px;justify-content:center}.nothing-found{position:static;grid-gap:64px;padding:unset;align-content:start;width:unset}}@media (max-width: 480px){.start-page{padding-top:0}.action-button-content{grid-gap:10px}}@media (max-width: 380px){.filters-wrapper{padding-left:24px}.products{grid-gap:24px 10px}}vviinn-wrong-format,vviinn-server-error{width:280px;align-self:center;justify-self:center}.visually-hidden{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}";
83
+ const vviinnVpsWidgetCss = ":host{--color-primary-system:#0F62FE;--color-primary-hover-system:#014CDA;--color-icons-system:#2F8EDF;--spacer:8px}:host{display:block}.hidden{visibility:hidden;height:1px}vviinn-overlayed-modal.first-screen::part(title),vviinn-overlayed-modal.first-screen::part(secondary-action){visibility:hidden}.start-page{display:grid;grid-template-columns:repeat(2, 1fr);height:640px}#start-page_block{box-sizing:border-box;display:flex;overflow-y:auto;flex-direction:column;justify-content:center;padding:42px 62px}#start-page_block.error{align-content:center}.start-page_main-content{flex-grow:1;display:flex;flex-direction:column;justify-content:center}.start-page_errors-block{display:flex;flex-direction:column;justify-content:center;gap:12px}#start-page_block vviinn-text-search{margin-top:12px}.buttons-group{display:flex;flex-direction:column;gap:12px;margin-top:24px}.action-button{display:grid;border:none;cursor:pointer;align-items:center;border-radius:8px;font-size:16px;height:48px;justify-items:center;transition:background 0.1s ease-in-out;color:#525252;background-color:#f4f4f4}.action-button:hover{background-color:#eaeaea}.action-button:first-child{background:var(--color-primary, var(--color-primary-system));border-color:var(--color-primary, var(--color-primary-system));color:white}.action-button:first-child:hover{background:var(--color-primary-hover, var(--color-primary-hover-system));border-color:var(--color-primary-hover, var(--color-primary-hover-system))}.action-button:active{border-color:black}.action-button-content{display:grid;align-items:center;justify-items:start;justify-content:center;grid-template-columns:max-content auto;grid-gap:8px}.results-page{margin-top:64px;display:grid;grid-template-columns:336px auto;box-sizing:border-box}.results-page>*{padding:24px;box-sizing:border-box}.results-page .text-search-wrapper{width:100%;padding:24px}.products{width:100%;align-content:center;align-items:start;box-sizing:border-box;display:grid;grid-gap:32px 16px;grid-template-columns:repeat(auto-fill, minmax(130px, 1fr));justify-items:center;padding:24px;position:absolute}.products.hidden{display:none}vviinn-empty-results{width:280px;align-self:center;justify-self:center}.products-wrapper{display:grid;overflow-y:auto;overflow-x:hidden;padding:unset;position:relative;width:100%}.image-wrapper{display:grid;grid-template-rows:min-content 1fr;min-width:100%}.filters-wrapper{margin-top:24px;overflow-x:auto;transform:translateX(-24px);min-width:calc(100% + 48px)}vviinn-product-card{gap:0;width:100%}vviinn-product-card::part(image){border:1px solid #eaeaea;margin-bottom:8px}vviinn-product-card::part(price-container),vviinn-product-card::part(deeplink),vviinn-product-card::part(title){align-self:start}search-filters span{display:none}search-filters::part(filter){background:#f4f4f4;border-radius:8px;box-sizing:border-box;color:#161616;font-size:14px;font-weight:400;line-height:20px}search-filters::part(show-more-filters){display:flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid #f4f4f4;min-width:40px;height:40px;border-radius:100px;box-sizing:border-box;color:#161616}search-filters::part(show-more-filters):hover{background:#eaeaea}search-filters::part(filter active){background:var(--color-primary, var(--color-primary-system));color:white}.results-page:not(.active){display:none}.nothing-found{display:grid;grid-gap:64px;justify-self:center;padding-top:64px;padding-bottom:16px;position:absolute;width:60%}vviinn-preloader{--preloader-size:24px;display:flex}@media (max-width: 1080px){#start-page_block{padding:24px 36px}}@media (max-width: 768px){.start-page{display:flex;flex-direction:column;height:100%}vviinn-overlayed-modal.first-screen::part(secondary-action){visibility:visible}.start-page.active{height:calc(100vh - 64px);height:calc(100svh - 64px)}.start-page:not(.active){overflow:hidden}.results-page{margin-top:0}.results-page>*{box-sizing:border-box;padding:12px 24px 24px}.image-wrapper{padding:0}.filters-wrapper{padding-left:24px;min-width:calc(100% + 40px)}.results-page{grid-template-rows:min-content;grid-template-columns:unset}#start-page_block{overflow-y:unset;min-height:-moz-fit-content;min-height:fit-content;padding:24px 20px}.image{margin-bottom:8px}.image-wrapper{grid-template-rows:min-content auto;width:100%}.products-wrapper{align-content:start;position:static;overflow-y:unset;width:100%;padding-top:0;margin-top:24px}.products{position:static;padding:0;width:unset;grid-gap:32px 16px;justify-content:center}.nothing-found{position:static;grid-gap:64px;padding:unset;align-content:start;width:unset}}@media (max-width: 480px){.start-page{padding-top:0}.action-button-content{grid-gap:10px}}@media (max-width: 380px){.filters-wrapper{padding-left:24px}.products{grid-gap:24px 10px}}vviinn-wrong-format,vviinn-server-error{width:280px;align-self:center;justify-self:center}.visually-hidden{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}";
77
84
 
78
85
  var __rest = (undefined && undefined.__rest) || function (s, e) {
79
86
  var t = {};
@@ -220,6 +227,7 @@ const VviinnVpsWidget = class {
220
227
  this.productDetailNewTab = true;
221
228
  this.imageResolutionWidth = 250;
222
229
  this.exampleImageSource = DEFAULT_EXAMPLE_IMAGE;
230
+ this.textSearchShow = false;
223
231
  this.apiPath = "https://api.vviinn.com";
224
232
  this.showingInButton = false;
225
233
  this.buttonElementId = undefined;
@@ -235,6 +243,8 @@ const VviinnVpsWidget = class {
235
243
  this.cameraButtonClicked = false;
236
244
  this.uploadSource = undefined;
237
245
  this.showAspectRatioError = false;
246
+ this.products = [];
247
+ this.initialSearchQuery = "";
238
248
  }
239
249
  initResultEvents() {
240
250
  this.resultLoaded = false;
@@ -252,6 +262,9 @@ const VviinnVpsWidget = class {
252
262
  isResultSlide() {
253
263
  return this.slidePosition === 1;
254
264
  }
265
+ findProductById(id) {
266
+ return searchState.results.find((r) => r.productId === id);
267
+ }
255
268
  handleOpenLink(deeplink, event) {
256
269
  if (this.productDetailNewTab || event.ctrlKey || event.metaKey) {
257
270
  let newTab = window.open();
@@ -316,7 +329,7 @@ const VviinnVpsWidget = class {
316
329
  async trackProductClick({ detail }) {
317
330
  const { productId, clickEvent } = detail;
318
331
  const productClickEvent = this.getProductTrackEvent(detail, "click");
319
- const product = imageSearchState.results.find((r) => r.productId === productId);
332
+ const product = this.findProductById(productId);
320
333
  if (!product || !product.deeplink)
321
334
  return;
322
335
  if (!this.trackingDeactivated) {
@@ -334,7 +347,7 @@ const VviinnVpsWidget = class {
334
347
  async trackAuxClick({ detail }) {
335
348
  const { productId } = detail;
336
349
  const productClickEvent = this.getProductTrackEvent(detail, "click");
337
- const product = imageSearchState.results.find((r) => r.productId === productId);
350
+ const product = this.findProductById(productId);
338
351
  if (!product || !product.deeplink)
339
352
  return;
340
353
  if (!this.trackingDeactivated) {
@@ -367,6 +380,10 @@ const VviinnVpsWidget = class {
367
380
  const searchEvent = createFilterEvent(Object.assign({ session_id: this.uiSessionId, source: this.imageSource, kind: detail.kind, action: detail.action }, rest));
368
381
  this.trackingApi.trackEvent(searchEvent).then(this.setTrackingDeactivated);
369
382
  }
383
+ async trackTextSearchFinished({ detail }) {
384
+ this.initialSearchQuery = detail;
385
+ this.slidePosition = 1;
386
+ }
370
387
  connectedCallback() {
371
388
  this.isDesktop = checkDeviceType() === "desktop";
372
389
  state.apiPath = this.apiPath;
@@ -374,12 +391,13 @@ const VviinnVpsWidget = class {
374
391
  state.locale = this.locale;
375
392
  this.cameraAvailable =
376
393
  !!navigator.mediaDevices && !!navigator.mediaDevices.getUserMedia;
377
- imageSearchState.token = this.token;
378
- imageSearchState.campaignId = _function.pipe(this.campaignId, Option.fromNullable, Option.chain(Option.fromPredicate(notEmptyString)), Option.map(filterInt), Option.chain(Option.fromPredicate(notNan)), Option.map((s) => `${s}`));
394
+ const campaignId = _function.pipe(this.campaignId, Option.fromNullable, Option.chain(Option.fromPredicate(notEmptyString)), Option.map(filterInt), Option.chain(Option.fromPredicate(notNan)), Option.map((s) => `${s}`));
379
395
  if (this.excluded) {
380
396
  this.excluded = parseExcluded(this.excluded);
381
397
  }
382
- imageSearchState.excluded = this.excluded;
398
+ searchState.token = this.token;
399
+ searchState.campaignId = campaignId;
400
+ searchState.excluded = this.excluded;
383
401
  this.uiSessionId = v4();
384
402
  this.trackingApi = createTrackingApi(this.apiPath, this.token);
385
403
  this.id = this.el.id;
@@ -439,22 +457,26 @@ const VviinnVpsWidget = class {
439
457
  this.cameraAvailable && (h("button", { class: "action-button", part: "start-camera_button", onClick: () => {
440
458
  this.handleStartCameraClick();
441
459
  this.uploadSource = "startCamera";
442
- } }, imageSearchState.loading && this.uploadSource === "startCamera" ? (h("vviinn-preloader", null)) : (h("span", { class: "action-button-content" }, h("slot", { name: "vviinn-camera-icon" }, h(CameraActionIcon, null)), this.cameraEnabled ? (h("slot", { name: "vviinn-camera-button-text-stop" }, h("span", null, instance.t("cameraButtonTextStop")))) : (h("slot", { name: "vviinn-camera-button-text-start" }, h("span", null, instance.t("cameraButtonTextStart")))))))),
460
+ } }, searchState.loading &&
461
+ searchState.searchType === "image" &&
462
+ this.uploadSource === "startCamera" ? (h("vviinn-preloader", null)) : (h("span", { class: "action-button-content" }, h("slot", { name: "vviinn-camera-icon" }, h(CameraActionIcon, null)), this.cameraEnabled ? (h("slot", { name: "vviinn-camera-button-text-stop" }, h("span", null, instance.t("cameraButtonTextStop")))) : (h("slot", { name: "vviinn-camera-button-text-start" }, h("span", null, instance.t("cameraButtonTextStart")))))))),
443
463
  h("vviinn-image-selector", { class: "action-button", onClick: () => (this.uploadSource = "uploadPhoto"), onVviinnImageUploadFinished: this.handleVviinnImageUploadFinished, onVviinnImageUpload: () => {
444
464
  this.handleVviinnImageUpload("uploadPhoto");
445
- }, onVviinnNoResult: ({ detail }) => this.handleVviinnNoResult(detail), resetVpsButton: this.resetVpsButton, basicEventData: this.getBasicEventData(), part: "upload-photo_button", startUpload: this.buttonPressed && this.showingInButton && this.mode === "upload", loading: imageSearchState.loading && this.uploadSource === "uploadPhoto" }, h("span", { slot: "upload-button-text", class: "action-button-content" }, h("slot", { name: "vviinn-image-upload-icon" }, h(UploadActionIcon, null)), h("slot", { name: "vviinn-image-upload-button-text" }, h("span", null, instance.t("imageUploadButtonText"))))),
465
+ }, onVviinnNoResult: ({ detail }) => this.handleVviinnNoResult(detail), resetVpsButton: this.resetVpsButton, basicEventData: this.getBasicEventData(), part: "upload-photo_button", startUpload: this.buttonPressed && this.showingInButton && this.mode === "upload", loading: searchState.loading &&
466
+ searchState.searchType === "image" &&
467
+ this.uploadSource === "uploadPhoto" }, h("span", { slot: "upload-button-text", class: "action-button-content" }, h("slot", { name: "vviinn-image-upload-icon" }, h(UploadActionIcon, null)), h("slot", { name: "vviinn-image-upload-button-text" }, h("span", null, instance.t("imageUploadButtonText"))))),
446
468
  ];
447
469
  return this.isDesktop ? buttons.reverse() : buttons;
448
470
  }
449
471
  renderResults() {
450
- if (imageSearchState.results.length === 0)
472
+ if (searchState.results.length === 0)
451
473
  return null;
452
474
  if (!this.resultLoaded) {
453
475
  this.vviinnResultLoad.emit(this.getBasicEventData());
454
476
  this.trackResultEvent("load");
455
477
  this.resultLoaded = true;
456
478
  }
457
- return imageSearchState.results.map((p, i) => {
479
+ return searchState.results.map((p, i) => {
458
480
  var _a;
459
481
  return (h("vviinn-product-card", { key: p.productId, hidden: true, productTitle: p.title, productId: p.productId, productType: p.productType, brand: p.brand, deeplink: p.deeplink, price: p.price.actual, salePrice: p.price.sale, responsive: true, imageWidth: this.imageResolutionWidth, image: (_a = p.image.thumbnail) !== null && _a !== void 0 ? _a : p.image.original, part: "product-card", campaignTypeId: "VPS", index: i, widgetElementId: this.id, buttonElementId: this.buttonElementId, widgetVersion: version }));
460
482
  });
@@ -462,18 +484,19 @@ const VviinnVpsWidget = class {
462
484
  resetState() {
463
485
  this.resetScroll("start-page_block");
464
486
  this.slidePosition = 0;
465
- imageSearchState.resetCategoryLink = undefined;
466
- imageSearchState.activeIonLink = undefined;
467
- imageSearchState.image = Option.none;
468
- imageSearchState.imageUrl = Option.none;
469
- imageSearchState.imageBounds = Option.none;
470
- imageSearchState.searchArea = Option.none;
471
- imageSearchState.results = [];
472
- imageSearchState.filters = [];
473
- imageSearchState.detectedObjects = [];
474
- imageSearchState.rectangleSearchForm = undefined;
475
- imageSearchState.loading = false;
476
- imageSearchState.serverError = false;
487
+ searchState.resetCategoryLink = undefined;
488
+ searchState.activeIonLink = undefined;
489
+ searchState.image = Option.none;
490
+ searchState.imageUrl = Option.none;
491
+ searchState.imageBounds = Option.none;
492
+ searchState.searchArea = Option.none;
493
+ searchState.results = [];
494
+ searchState.filters = [];
495
+ searchState.detectedObjects = [];
496
+ searchState.rectangleSearchForm = undefined;
497
+ searchState.loading = false;
498
+ searchState.serverError = false;
499
+ searchState.searchType = undefined;
477
500
  this.wrongImageFormat = false;
478
501
  this.resetScroll("results-block");
479
502
  this.stopStreamTracks();
@@ -484,7 +507,7 @@ const VviinnVpsWidget = class {
484
507
  this.setShowAspectRatioError(false);
485
508
  }
486
509
  haveErrors() {
487
- return this.wrongImageFormat || imageSearchState.serverError;
510
+ return this.wrongImageFormat || searchState.serverError;
488
511
  }
489
512
  resetScroll(elementId, behavior = "auto") {
490
513
  const element = this.el.shadowRoot.getElementById(elementId);
@@ -499,7 +522,7 @@ const VviinnVpsWidget = class {
499
522
  }
500
523
  render() {
501
524
  var _a;
502
- return (h(Host, null, !this.showingInButton && h(SlotSkeleton, null), h("vviinn-overlayed-modal", { class: { "first-screen": this.isOnboardingSlide() }, isFirstScreen: this.isOnboardingSlide(), active: this.active, resetState: this.resetState.bind(this), onVviinnWidgetClose: () => this.handleModalClose(), buttonElementId: (_a = this.buttonElementId) !== null && _a !== void 0 ? _a : this.id, widgetVersion: version, hideBackButton: (this.mode === "upload" && this.showingInButton) ||
525
+ return (h(Host, { exportparts: "text-search-input" }, !this.showingInButton && h(SlotSkeleton, null), h("vviinn-overlayed-modal", { class: { "first-screen": this.isOnboardingSlide() }, isFirstScreen: this.isOnboardingSlide(), active: this.active, resetState: this.resetState.bind(this), onVviinnWidgetClose: () => this.handleModalClose(), buttonElementId: (_a = this.buttonElementId) !== null && _a !== void 0 ? _a : this.id, widgetVersion: version, hideBackButton: (this.mode === "upload" && this.showingInButton) ||
503
526
  (!this.cameraEnabled && this.isOnboardingSlide()), exportparts: "secondary-action, title, close-button" }, h("vviinn-slider", { showBullets: false, position: this.slidePosition }, h("vviinn-slide", { class: {
504
527
  "start-page": true,
505
528
  "camera-enabled": this.cameraEnabled,
@@ -509,21 +532,23 @@ const VviinnVpsWidget = class {
509
532
  error: this.haveErrors(),
510
533
  }, id: "start-page_block" }, h("div", { class: "start-page_main-content" }, h("div", { class: {
511
534
  "start-page_errors-block": true,
512
- hidden: !this.wrongImageFormat && !imageSearchState.serverError,
513
- } }, h("vviinn-wrong-format", { class: { hidden: !this.wrongImageFormat }, handler: () => this.resetState() }), h("vviinn-server-error", { class: { hidden: !imageSearchState.serverError }, handler: () => this.resetState() })), !this.haveErrors() && h("vviinn-teaser", null), !this.haveErrors() && (h("div", { class: "buttons-group" }, this.renderButtons()))), h("vviinn-privacy-badge", { privacyBadgeText: instance.t("privacyBadgeText"), class: { invisible: this.haveErrors() } }))), h("vviinn-slide", { class: {
535
+ hidden: !this.wrongImageFormat && !searchState.serverError,
536
+ } }, h("vviinn-wrong-format", { class: { hidden: !this.wrongImageFormat }, handler: () => this.resetState() }), h("vviinn-server-error", { class: { hidden: !searchState.serverError }, handler: () => this.resetState() })), !this.haveErrors() && h("vviinn-teaser", null), !this.haveErrors() && (h("div", { class: "buttons-group" }, this.renderButtons())), this.textSearchShow && !this.haveErrors() && (h("vviinn-text-search", { clearSearchQuery: true }))), h("vviinn-privacy-badge", { privacyBadgeText: instance.t("privacyBadgeText"), class: { invisible: this.haveErrors() } }))), h("vviinn-slide", { class: {
514
537
  "results-page": true,
515
538
  active: this.isResultSlide(),
516
- } }, h("div", { class: "image-wrapper" }, this.isResultSlide() && (h("vviinn-image-view", { basicEventData: this.getBasicEventData(), setShowAspectRatioError: this.setShowAspectRatioError, showAspectRatioError: this.showAspectRatioError })), h("div", { class: {
539
+ } }, this.isResultSlide() && searchState.searchType === "image" && (h("div", { class: "image-wrapper" }, h("vviinn-image-view", { basicEventData: this.getBasicEventData(), setShowAspectRatioError: this.setShowAspectRatioError, showAspectRatioError: this.showAspectRatioError }), h("div", { class: {
517
540
  "filters-wrapper": true,
518
541
  hidden: this.showAspectRatioError,
519
- } }, h("div", { class: "filters" }, imageSearchState.filters.map((filter) => (h("search-filters", { filter: filter, basicEventData: this.getBasicEventData() })))))), h("div", { id: "results-block", class: "products-wrapper" }, h("div", { class: {
542
+ } }, h("div", { class: "filters" }, searchState.filters.map((filter) => (h("search-filters", { filter: filter, basicEventData: this.getBasicEventData() }))))))), this.textSearchShow &&
543
+ this.isResultSlide() &&
544
+ searchState.searchType === "text" && (h("div", { class: "text-search-wrapper" }, h("vviinn-text-search", { initialSearchQuery: this.initialSearchQuery }))), h("div", { id: "results-block", class: "products-wrapper" }, h("div", { class: {
520
545
  "nothing-found": true,
521
- hidden: imageSearchState.results.length > 0,
546
+ hidden: searchState.results.length > 0,
522
547
  } }, h("vviinn-empty-results", { handler: () => this.resetState() })), h("div", { class: {
523
548
  "nothing-found": true,
524
549
  hidden: !this.showAspectRatioError,
525
550
  } }, h("vviinn-wrong-aspect-ratio", { handler: () => this.resetState() })), h("div", { class: {
526
- hidden: imageSearchState.results.length <= 0 ||
551
+ hidden: searchState.results.length <= 0 ||
527
552
  this.showAspectRatioError,
528
553
  products: true,
529
554
  } }, this.active && this.renderResults())))))));
@@ -17,5 +17,5 @@ const patchBrowser = () => {
17
17
  };
18
18
 
19
19
  patchBrowser().then(options => {
20
- return bootstrapLazy([["vviinn-button",[[1,"vviinn-button",{"addStyle":[4,"add-style"]}]]],["vviinn-preloader",[[1,"vviinn-preloader"]]],["vviinn-error",[[1,"vviinn-error"]]],["vviinn-carousel_4",[[1,"vviinn-vpr-widget",{"blockTitle":[1,"block-title"],"imageRatio":[2,"image-ratio"],"imageWidth":[2,"image-width"],"productId":[1,"product-id"],"token":[1],"currencySign":[1,"currency-sign"],"pricePrefix":[1,"price-prefix"],"mode":[1],"campaignType":[1,"campaign-type"],"locale":[1],"campaigns":[1],"color":[1],"gridArrowsDynamic":[4,"grid-arrows-dynamic"],"noResultText":[1,"no-result-text"],"noResultShow":[4,"no-result-show"],"showScroll":[4,"show-scroll"],"cssUrl":[1,"css-url"],"excluded":[1],"productDetailNewTab":[4,"product-detail-new-tab"],"addToBasketShow":[4,"add-to-basket-show"],"updateButtonLocation":[1,"update-button-location"],"apiPath":[1,"api-path"],"useCarousel":[4,"use-carousel"],"showingInButton":[4,"showing-in-button"],"buttonElementId":[1,"button-element-id"],"closed":[4],"opened":[4],"recommendations":[32],"trackingDeactivated":[32],"hasErrorOnLoad":[32],"updatingAllCards":[32]},[[0,"vviinnProductLoad","trackProductLoad"],[0,"vviinnProductView","trackProductView"],[0,"vviinnProductClick","trackProductClick"],[0,"vviinnAuxClick","trackAuxClick"],[0,"vviinnAddToBasket","trackAddToBasket"],[0,"vviinnUpdatingAllCardsFinished","updatingAllCardsFinishedListener"]]],[0,"vviinn-carousel",{"mode":[1],"imageWidth":[2,"image-width"],"showScroll":[4,"show-scroll"],"campaignTypeId":[1,"campaign-type-id"],"widgetElementId":[1,"widget-element-id"],"gridArrowsDynamic":[4,"grid-arrows-dynamic"],"recommendations":[16],"widgetVersion":[1,"widget-version"],"addToBasketShow":[4,"add-to-basket-show"],"updatingAllCards":[4,"updating-all-cards"],"updateButtonLocation":[1,"update-button-location"],"moveDirection":[32],"contentGroups":[32],"activeContentGroup":[32],"isRTL":[32],"crossSellingRecommendations":[32]},[[0,"vviinnCrossSellingClick","crossSellingClickListener"]]],[1,"vviinn-product-card",{"brand":[1],"currency":[1],"deeplink":[1],"image":[1],"imageRatio":[2,"image-ratio"],"imageWidth":[2,"image-width"],"locale":[1],"price":[2],"pricePrefix":[1,"price-prefix"],"productId":[1,"product-id"],"productTitle":[1,"product-title"],"productType":[1,"product-type"],"salePrice":[2,"sale-price"],"responsive":[4],"dimmedBackground":[4,"dimmed-background"],"mode":[1],"addToBasketShow":[4,"add-to-basket-show"],"updateButtonLocation":[1,"update-button-location"],"campaignTypeId":[1,"campaign-type-id"],"widgetElementId":[1,"widget-element-id"],"buttonElementId":[1,"button-element-id"],"widgetVersion":[1,"widget-version"],"index":[2],"updatingAllCards":[4,"updating-all-cards"],"defaultAnimationInterval":[2,"default-animation-interval"],"imageLoaded":[32],"isTransitioning":[32]},[[0,"vviinnCrossSellingClick","crossSellingClickListener"]]],[1,"vviinn-skeleton",{"height":[2],"halfWidth":[4,"half-width"]}]]],["search-filters_16",[[1,"vviinn-image-view",{"basicEventData":[16],"setShowAspectRatioError":[16],"showAspectRatioError":[4,"show-aspect-ratio-error"],"cropper":[32],"hidePreloader":[32]},[[0,"vviinnSelectObject","selectDetectedObject"]]],[1,"vviinn-overlayed-modal",{"active":[4],"resetState":[16],"buttonElementId":[1,"button-element-id"],"hideBackButton":[4,"hide-back-button"],"widgetVersion":[1,"widget-version"],"isFirstScreen":[4,"is-first-screen"]}],[1,"vviinn-empty-results",{"handler":[16]}],[1,"vviinn-image-selector",{"basicEventData":[16],"startUpload":[4,"start-upload"],"loading":[4],"accept":[1],"resetVpsButton":[16],"capture":[1]}],[1,"vviinn-server-error",{"handler":[16]}],[1,"vviinn-wrong-aspect-ratio",{"handler":[16]}],[1,"vviinn-wrong-format",{"handler":[16]}],[1,"search-filters",{"filter":[16],"basicEventData":[16],"selectedFilter":[32],"hideFilters":[32]}],[1,"vviinn-example-image",{"exampleImageSource":[1,"example-image-source"],"width":[2],"height":[2],"basicEventData":[16],"srcObject":[16],"cameraButtonClicked":[4,"camera-button-clicked"],"selected":[32],"videoInitialized":[32],"zoomCapabilities":[32]}],[1,"vviinn-privacy-badge",{"privacyBadgeText":[1,"privacy-badge-text"]}],[1,"vviinn-slide"],[1,"vviinn-slider",{"showBullets":[4,"show-bullets"],"position":[514],"showArrows":[4,"show-arrows"],"elementsCount":[32],"internalPosition":[32],"swipeStartPosition":[32],"isRTL":[32]}],[1,"vviinn-teaser"],[1,"vviinn-detected-object",{"detectedObject":[16],"basicEventData":[16],"position":[32]}],[1,"vviinn-modal",{"active":[1540],"resetState":[16],"buttonElementId":[1,"button-element-id"],"widgetVersion":[1,"widget-version"],"hideBackButton":[4,"hide-back-button"],"isFirstScreen":[4,"is-first-screen"],"slider":[32]}],[1,"vviinn-overlay"]]],["vviinn-vps-widget",[[1,"vviinn-vps-widget",{"token":[1],"active":[1028],"currencySign":[1,"currency-sign"],"locale":[1],"campaignId":[1,"campaign-id"],"excluded":[1],"productDetailNewTab":[4,"product-detail-new-tab"],"imageResolutionWidth":[2,"image-resolution-width"],"exampleImageSource":[1,"example-image-source"],"apiPath":[1,"api-path"],"showingInButton":[4,"showing-in-button"],"buttonElementId":[1,"button-element-id"],"buttonPressed":[4,"button-pressed"],"mode":[1],"resetVpsButton":[16],"slidePosition":[32],"width":[32],"wrongImageFormat":[32],"trackingDeactivated":[32],"stream":[32],"cameraEnabled":[32],"cameraButtonClicked":[32],"uploadSource":[32],"showAspectRatioError":[32]},[[0,"vviinnCameraEnabled","trackCameraEnabled"],[0,"vviinnProductLoad","trackProductLoad"],[0,"vviinnProductView","trackProductView"],[0,"vviinnProductClick","trackProductClick"],[0,"vviinnAuxClick","trackAuxClick"],[0,"vviinnImageCrop","trachSearchAreaChanges"],[0,"vviinnSelectObject","trackDetectedObject"],[0,"vviinnSelectFilter","trackFilter"]]]]],["vviinn-vps-button",[[1,"vviinn-vps-button",{"token":[1],"currencySign":[1,"currency-sign"],"locale":[1],"campaignId":[1,"campaign-id"],"addStyle":[4,"add-style"],"mode":[1],"excluded":[1],"productDetailNewTab":[4,"product-detail-new-tab"],"imageResolutionWidth":[2,"image-resolution-width"],"exampleImageSource":[1,"example-image-source"],"apiPath":[1,"api-path"],"buttonPressed":[32]},[[0,"vviinnWidgetClose","handleModalClosed"]]]]],["vviinn-recommendations-sidebar",[[1,"vviinn-recommendations-sidebar",{"sidebarTitle":[1,"sidebar-title"],"token":[1],"productId":[1,"product-id"],"position":[1],"sourceImage":[1,"source-image"],"widgetScrollbar":[4,"widget-scrollbar"],"mode":[1],"campaigns":[1],"campaignType":[1,"campaign-type"],"color":[1],"locale":[1],"imageWidth":[2,"image-width"],"currencySign":[1,"currency-sign"],"noResultText":[1,"no-result-text"],"noResultShow":[4,"no-result-show"],"gridArrowsDynamic":[4,"grid-arrows-dynamic"],"excluded":[1],"productDetailNewTab":[4,"product-detail-new-tab"],"addToBasketShow":[4,"add-to-basket-show"],"buttonChildren":[16],"apiPath":[1,"api-path"],"buttonElementId":[1,"button-element-id"],"widgetVersion":[1,"widget-version"],"showingInButton":[4,"showing-in-button"],"state":[32]},[[16,"click","bodyClickListener"]]]]],["vviinn-vpr-button",[[1,"vviinn-vpr-button",{"token":[1],"productId":[1,"product-id"],"position":[1],"sourceImage":[1,"source-image"],"sidebarTitle":[1,"sidebar-title"],"modalScrollbar":[4,"modal-scrollbar"],"campaigns":[1],"campaignType":[1,"campaign-type"],"locale":[1],"color":[1],"addStyle":[4,"add-style"],"mode":[1],"imageWidth":[2,"image-width"],"currencySign":[1,"currency-sign"],"noResultText":[1,"no-result-text"],"noResultShow":[4,"no-result-show"],"gridArrowsDynamic":[4,"grid-arrows-dynamic"],"excluded":[1],"productDetailNewTab":[4,"product-detail-new-tab"],"addToBasketShow":[4,"add-to-basket-show"],"apiPath":[1,"api-path"]}]]]], options);
20
+ return bootstrapLazy([["vviinn-button",[[1,"vviinn-button",{"addStyle":[4,"add-style"]}]]],["vviinn-preloader",[[1,"vviinn-preloader"]]],["vviinn-error",[[1,"vviinn-error"]]],["vviinn-carousel_4",[[1,"vviinn-vpr-widget",{"blockTitle":[1,"block-title"],"imageRatio":[2,"image-ratio"],"imageWidth":[2,"image-width"],"productId":[1,"product-id"],"token":[1],"currencySign":[1,"currency-sign"],"pricePrefix":[1,"price-prefix"],"mode":[1],"campaignType":[1,"campaign-type"],"locale":[1],"campaigns":[1],"color":[1],"gridArrowsDynamic":[4,"grid-arrows-dynamic"],"noResultText":[1,"no-result-text"],"noResultShow":[4,"no-result-show"],"showScroll":[4,"show-scroll"],"cssUrl":[1,"css-url"],"excluded":[1],"productDetailNewTab":[4,"product-detail-new-tab"],"addToBasketShow":[4,"add-to-basket-show"],"updateButtonLocation":[1,"update-button-location"],"apiPath":[1,"api-path"],"useCarousel":[4,"use-carousel"],"showingInButton":[4,"showing-in-button"],"buttonElementId":[1,"button-element-id"],"closed":[4],"opened":[4],"recommendations":[32],"trackingDeactivated":[32],"hasErrorOnLoad":[32],"updatingAllCards":[32]},[[0,"vviinnProductLoad","trackProductLoad"],[0,"vviinnProductView","trackProductView"],[0,"vviinnProductClick","trackProductClick"],[0,"vviinnAuxClick","trackAuxClick"],[0,"vviinnAddToBasket","trackAddToBasket"],[0,"vviinnUpdatingAllCardsFinished","updatingAllCardsFinishedListener"]]],[0,"vviinn-carousel",{"mode":[1],"imageWidth":[2,"image-width"],"showScroll":[4,"show-scroll"],"campaignTypeId":[1,"campaign-type-id"],"widgetElementId":[1,"widget-element-id"],"gridArrowsDynamic":[4,"grid-arrows-dynamic"],"recommendations":[16],"widgetVersion":[1,"widget-version"],"addToBasketShow":[4,"add-to-basket-show"],"updatingAllCards":[4,"updating-all-cards"],"updateButtonLocation":[1,"update-button-location"],"moveDirection":[32],"contentGroups":[32],"activeContentGroup":[32],"isRTL":[32],"crossSellingRecommendations":[32]},[[0,"vviinnCrossSellingClick","crossSellingClickListener"]]],[1,"vviinn-product-card",{"brand":[1],"currency":[1],"deeplink":[1],"image":[1],"imageRatio":[2,"image-ratio"],"imageWidth":[2,"image-width"],"locale":[1],"price":[2],"pricePrefix":[1,"price-prefix"],"productId":[1,"product-id"],"productTitle":[1,"product-title"],"productType":[1,"product-type"],"salePrice":[2,"sale-price"],"responsive":[4],"dimmedBackground":[4,"dimmed-background"],"mode":[1],"addToBasketShow":[4,"add-to-basket-show"],"updateButtonLocation":[1,"update-button-location"],"campaignTypeId":[1,"campaign-type-id"],"widgetElementId":[1,"widget-element-id"],"buttonElementId":[1,"button-element-id"],"widgetVersion":[1,"widget-version"],"index":[2],"updatingAllCards":[4,"updating-all-cards"],"defaultAnimationInterval":[2,"default-animation-interval"],"imageLoaded":[32],"isTransitioning":[32]},[[0,"vviinnCrossSellingClick","crossSellingClickListener"]]],[1,"vviinn-skeleton",{"height":[2],"halfWidth":[4,"half-width"]}]]],["search-filters_17",[[1,"vviinn-image-view",{"basicEventData":[16],"setShowAspectRatioError":[16],"showAspectRatioError":[4,"show-aspect-ratio-error"],"cropper":[32],"hidePreloader":[32]},[[0,"vviinnSelectObject","selectDetectedObject"]]],[1,"vviinn-overlayed-modal",{"active":[4],"resetState":[16],"buttonElementId":[1,"button-element-id"],"hideBackButton":[4,"hide-back-button"],"widgetVersion":[1,"widget-version"],"isFirstScreen":[4,"is-first-screen"]}],[1,"vviinn-empty-results",{"handler":[16]}],[1,"vviinn-image-selector",{"basicEventData":[16],"startUpload":[4,"start-upload"],"loading":[4],"accept":[1],"resetVpsButton":[16],"capture":[1]}],[1,"vviinn-server-error",{"handler":[16]}],[1,"vviinn-text-search",{"clearSearchQuery":[4,"clear-search-query"],"initialSearchQuery":[1,"initial-search-query"],"searchQuery":[32]}],[1,"vviinn-wrong-aspect-ratio",{"handler":[16]}],[1,"vviinn-wrong-format",{"handler":[16]}],[1,"search-filters",{"filter":[16],"basicEventData":[16],"selectedFilter":[32],"hideFilters":[32]}],[1,"vviinn-example-image",{"exampleImageSource":[1,"example-image-source"],"width":[2],"height":[2],"basicEventData":[16],"srcObject":[16],"cameraButtonClicked":[4,"camera-button-clicked"],"selected":[32],"videoInitialized":[32],"zoomCapabilities":[32]}],[1,"vviinn-privacy-badge",{"privacyBadgeText":[1,"privacy-badge-text"]}],[1,"vviinn-slide"],[1,"vviinn-slider",{"showBullets":[4,"show-bullets"],"position":[514],"showArrows":[4,"show-arrows"],"elementsCount":[32],"internalPosition":[32],"swipeStartPosition":[32],"isRTL":[32]}],[1,"vviinn-teaser"],[1,"vviinn-detected-object",{"detectedObject":[16],"basicEventData":[16],"position":[32]}],[1,"vviinn-modal",{"active":[1540],"resetState":[16],"buttonElementId":[1,"button-element-id"],"widgetVersion":[1,"widget-version"],"hideBackButton":[4,"hide-back-button"],"isFirstScreen":[4,"is-first-screen"],"slider":[32]}],[1,"vviinn-overlay"]]],["vviinn-vps-widget",[[1,"vviinn-vps-widget",{"token":[1],"active":[1028],"currencySign":[1,"currency-sign"],"locale":[1],"campaignId":[1,"campaign-id"],"excluded":[1],"productDetailNewTab":[4,"product-detail-new-tab"],"imageResolutionWidth":[2,"image-resolution-width"],"exampleImageSource":[1,"example-image-source"],"textSearchShow":[4,"text-search-show"],"apiPath":[1,"api-path"],"showingInButton":[4,"showing-in-button"],"buttonElementId":[1,"button-element-id"],"buttonPressed":[4,"button-pressed"],"mode":[1],"resetVpsButton":[16],"slidePosition":[32],"width":[32],"wrongImageFormat":[32],"trackingDeactivated":[32],"stream":[32],"cameraEnabled":[32],"cameraButtonClicked":[32],"uploadSource":[32],"showAspectRatioError":[32],"products":[32],"initialSearchQuery":[32]},[[0,"vviinnCameraEnabled","trackCameraEnabled"],[0,"vviinnProductLoad","trackProductLoad"],[0,"vviinnProductView","trackProductView"],[0,"vviinnProductClick","trackProductClick"],[0,"vviinnAuxClick","trackAuxClick"],[0,"vviinnImageCrop","trachSearchAreaChanges"],[0,"vviinnSelectObject","trackDetectedObject"],[0,"vviinnSelectFilter","trackFilter"],[0,"vviinnTextSearchFinished","trackTextSearchFinished"]]]]],["vviinn-vps-button",[[1,"vviinn-vps-button",{"token":[1],"currencySign":[1,"currency-sign"],"locale":[1],"campaignId":[1,"campaign-id"],"addStyle":[4,"add-style"],"mode":[1],"excluded":[1],"productDetailNewTab":[4,"product-detail-new-tab"],"imageResolutionWidth":[2,"image-resolution-width"],"exampleImageSource":[1,"example-image-source"],"textSearchShow":[4,"text-search-show"],"apiPath":[1,"api-path"],"buttonPressed":[32]},[[0,"vviinnWidgetClose","handleModalClosed"]]]]],["vviinn-recommendations-sidebar",[[1,"vviinn-recommendations-sidebar",{"sidebarTitle":[1,"sidebar-title"],"token":[1],"productId":[1,"product-id"],"position":[1],"sourceImage":[1,"source-image"],"widgetScrollbar":[4,"widget-scrollbar"],"mode":[1],"campaigns":[1],"campaignType":[1,"campaign-type"],"color":[1],"locale":[1],"imageWidth":[2,"image-width"],"currencySign":[1,"currency-sign"],"noResultText":[1,"no-result-text"],"noResultShow":[4,"no-result-show"],"gridArrowsDynamic":[4,"grid-arrows-dynamic"],"excluded":[1],"productDetailNewTab":[4,"product-detail-new-tab"],"addToBasketShow":[4,"add-to-basket-show"],"buttonChildren":[16],"apiPath":[1,"api-path"],"buttonElementId":[1,"button-element-id"],"widgetVersion":[1,"widget-version"],"showingInButton":[4,"showing-in-button"],"state":[32]},[[16,"click","bodyClickListener"]]]]],["vviinn-vpr-button",[[1,"vviinn-vpr-button",{"token":[1],"productId":[1,"product-id"],"position":[1],"sourceImage":[1,"source-image"],"sidebarTitle":[1,"sidebar-title"],"modalScrollbar":[4,"modal-scrollbar"],"campaigns":[1],"campaignType":[1,"campaign-type"],"locale":[1],"color":[1],"addStyle":[4,"add-style"],"mode":[1],"imageWidth":[2,"image-width"],"currencySign":[1,"currency-sign"],"noResultText":[1,"no-result-text"],"noResultShow":[4,"no-result-show"],"gridArrowsDynamic":[4,"grid-arrows-dynamic"],"excluded":[1],"productDetailNewTab":[4,"product-detail-new-tab"],"addToBasketShow":[4,"add-to-basket-show"],"apiPath":[1,"api-path"]}]]]], options);
21
21
  });
@@ -0,0 +1 @@
1
+ export declare const ArrowIcon: () => any;
@@ -0,0 +1 @@
1
+ export declare const BasketIcon: () => any;
@@ -0,0 +1 @@
1
+ export declare const CameraActionIcon: () => any;
@@ -0,0 +1 @@
1
+ export declare const CameraIcon: () => any;
@@ -0,0 +1 @@
1
+ export declare const CheckCircleIcon: () => any;
@@ -0,0 +1 @@
1
+ export declare const CheckIcon: () => any;
@@ -0,0 +1 @@
1
+ export declare const ChevronIcon: () => any;
@@ -0,0 +1 @@
1
+ export declare const CloseIcon: () => any;
@@ -0,0 +1 @@
1
+ export declare const CrossIcon: () => any;
@@ -0,0 +1 @@
1
+ export declare const GalleryActionIcon: () => any;
@@ -0,0 +1 @@
1
+ export declare const LoaderIcon: () => any;
@@ -0,0 +1 @@
1
+ export declare const MinusIcon: () => any;
@@ -0,0 +1 @@
1
+ export declare const PlusIcon: () => any;
@@ -0,0 +1 @@
1
+ export declare const RoundCameraIcon: () => any;
@@ -0,0 +1 @@
1
+ export declare const SecondaryActionIcon: () => any;
@@ -0,0 +1 @@
1
+ export declare const TextSearchIcon: () => any;
@@ -0,0 +1 @@
1
+ export declare const UpdateIcon: () => any;
@@ -0,0 +1 @@
1
+ export declare const UploadActionIcon: () => any;
@@ -0,0 +1 @@
1
+ export declare const VisualSearchIcon: () => any;
@@ -0,0 +1 @@
1
+ export declare const WarningIcon: () => any;
@@ -1,17 +1,20 @@
1
- export declare const ArrowIcon: () => any;
2
- export declare const CloseIcon: () => any;
3
- export declare const SecondaryActionIcon: () => any;
4
- export declare const CameraIcon: () => any;
5
- export declare const CheckIcon: () => any;
6
- export declare const LoaderIcon: () => any;
7
- export declare const ChevronIcon: () => any;
8
- export declare const VisualSearchIcon: () => any;
9
- export declare const CrossIcon: () => any;
10
- export declare const UploadActionIcon: () => any;
11
- export declare const UpdateIcon: () => any;
12
- export declare const GalleryActionIcon: () => any;
13
- export declare const CameraActionIcon: () => any;
14
- export declare const RoundCameraIcon: () => any;
15
- export declare const WarningIcon: () => any;
16
- export declare const PlusIcon: () => any;
17
- export declare const MinusIcon: () => any;
1
+ export { ArrowIcon } from "./icons/ArrowIcon";
2
+ export { BasketIcon } from "./icons/BasketIcon";
3
+ export { CameraActionIcon } from "./icons/CameraActionIcon";
4
+ export { CameraIcon } from "./icons/CameraIcon";
5
+ export { CheckCircleIcon } from "./icons/CheckCircleIcon";
6
+ export { CheckIcon } from "./icons/CheckIcon";
7
+ export { ChevronIcon } from "./icons/ChevronIcon";
8
+ export { CloseIcon } from "./icons/CloseIcon";
9
+ export { CrossIcon } from "./icons/CrossIcon";
10
+ export { GalleryActionIcon } from "./icons/GalleryActionIcon";
11
+ export { LoaderIcon } from "./icons/LoaderIcon";
12
+ export { MinusIcon } from "./icons/MinusIcon";
13
+ export { PlusIcon } from "./icons/PlusIcon";
14
+ export { RoundCameraIcon } from "./icons/RoundCameraIcon";
15
+ export { SecondaryActionIcon } from "./icons/SecondaryActionIcon";
16
+ export { TextSearchIcon } from "./icons/TextSearchIcon";
17
+ export { UpdateIcon } from "./icons/UpdateIcon";
18
+ export { UploadActionIcon } from "./icons/UploadActionIcon";
19
+ export { VisualSearchIcon } from "./icons/VisualSearchIcon";
20
+ export { WarningIcon } from "./icons/WarningIcon";
@@ -0,0 +1,18 @@
1
+ import { EventEmitter } from "../../stencil-public-runtime";
2
+ /**
3
+ * @part text-search-input - Text search input.
4
+ * @slot vviinn-text-search-icon - Icon of text search block.
5
+ */
6
+ export declare class VviinnTextSearch {
7
+ el: HTMLElement;
8
+ clearSearchQuery: boolean;
9
+ initialSearchQuery: string;
10
+ searchQuery: string;
11
+ /** @internal */
12
+ vviinnTextSearchFinished: EventEmitter;
13
+ componentWillLoad(): void;
14
+ handleInputChange(event: Event): void;
15
+ private handleKeyPress;
16
+ private handleSearch;
17
+ render(): any;
18
+ }
@@ -124,6 +124,7 @@ export declare class VviinnVprWidget implements ComponentInterface {
124
124
  private resultViewed;
125
125
  private getBasicEventData;
126
126
  private handleOpenLink;
127
+ private findProductById;
127
128
  trackingApi: DefaultApi;
128
129
  uiSessionId: string;
129
130
  setTrackingDeactivated: (result: EventConfirmation) => void;
@@ -54,6 +54,8 @@ export declare class VviinnVpsButton {
54
54
  imageResolutionWidth: number;
55
55
  /** Example image source */
56
56
  exampleImageSource: string;
57
+ /** Show the text search */
58
+ textSearchShow: boolean;
57
59
  /** @internal */
58
60
  apiPath: string | undefined;
59
61
  buttonPressed: boolean;
@@ -2,6 +2,7 @@ import { EventEmitter } from "../../stencil-public-runtime";
2
2
  import { EventConfirmation } from "vviinn-tracking-client-ts";
3
3
  import { ProductCardEvent, BasicEventData, SelectFilterEventData, ProductCardEventData, SelectObjectEventData } from "../../recommendation/events";
4
4
  import { Locale } from "../../locale";
5
+ import { Recommendation } from "../..";
5
6
  type UploadSource = "uploadPhoto" | "startCamera";
6
7
  /**
7
8
  * @part close-button - Close Button in the modal's header.
@@ -25,6 +26,7 @@ type UploadSource = "uploadPhoto" | "startCamera";
25
26
  * @part price-sale - Block for sale price. Rendered only if the sale price is presented.
26
27
  * @part price-prefix - Block rendered before each price element (for ex. "from").
27
28
  * @part title - Title inside Product Card.
29
+ * @part text-search-input - Text search input.
28
30
 
29
31
  * @slot vviinn-onboarding-title - Title of onboarding section.
30
32
  * @slot onboarding-card-1-icon - Icon (or other graphics) on the first onboarding slide.
@@ -42,6 +44,7 @@ type UploadSource = "uploadPhoto" | "startCamera";
42
44
  * @slot vviinn-camera-icon - Icon of Camera Button.
43
45
  * @slot vviinn-privacy-badge-text - Text content of privacy notification block.
44
46
  * @slot vviinn-image-search-modal-title - Image search modal title.
47
+ * @slot vviinn-text-search-icon - Icon of text search block.
45
48
  *
46
49
  */
47
50
  export declare class VviinnVpsWidget {
@@ -64,6 +67,8 @@ export declare class VviinnVpsWidget {
64
67
  imageResolutionWidth: number;
65
68
  /** Example image source */
66
69
  exampleImageSource: string;
70
+ /** Show the text search */
71
+ textSearchShow: boolean;
67
72
  /** @internal */
68
73
  apiPath: string;
69
74
  /** Set true when showing the widget in button */
@@ -87,6 +92,8 @@ export declare class VviinnVpsWidget {
87
92
  cameraButtonClicked: boolean;
88
93
  uploadSource: UploadSource;
89
94
  showAspectRatioError: boolean;
95
+ products: Recommendation[];
96
+ initialSearchQuery: string;
90
97
  /** @internal */
91
98
  globalSlotsChanged: EventEmitter<any>;
92
99
  /** The event emits on widget load */
@@ -129,6 +136,7 @@ export declare class VviinnVpsWidget {
129
136
  private stopStreamTracks;
130
137
  private isOnboardingSlide;
131
138
  private isResultSlide;
139
+ private findProductById;
132
140
  private handleOpenLink;
133
141
  private handleVviinnImageUpload;
134
142
  private handleVviinnImageUploadFinished;
@@ -149,6 +157,7 @@ export declare class VviinnVpsWidget {
149
157
  trachSearchAreaChanges(): void;
150
158
  trackDetectedObject(): void;
151
159
  trackFilter({ detail }: CustomEvent<SelectFilterEventData>): void;
160
+ trackTextSearchFinished({ detail }: CustomEvent<string>): Promise<void>;
152
161
  connectedCallback(): void;
153
162
  componentWillLoad(): Promise<void>;
154
163
  private trackWidgetEvent;