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
@@ -3,14 +3,19 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-5619b5ec.js');
6
- const imageSearch_store = require('./imageSearch.store-dc4e98b3.js');
6
+ const search_store = require('./search.store-0b319593.js');
7
7
  const i18next = require('./i18next-74ff3413.js');
8
- const _package = require('./package-5912f89d.js');
9
- const customizedSlots = require('./customized-slots-49c03dc1.js');
10
- const index$1 = require('./index-7ff2ab5f.js');
11
- const index$2 = require('./index-28052f80.js');
8
+ const _package = require('./package-3b910c03.js');
9
+ const customizedSlots = require('./customized-slots-1b59bd38.js');
10
+ const index$1 = require('./index-279a6a0f.js');
12
11
  const constants = require('./constants-7684cbfc.js');
13
12
 
13
+ const CameraActionIcon = () => (index.h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" },
14
+ index.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" })));
15
+
16
+ const UploadActionIcon = () => (index.h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" },
17
+ index.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" })));
18
+
14
19
  const resources = {
15
20
  de: {
16
21
  translation: {
@@ -21,6 +26,7 @@ const resources = {
21
26
  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.",
22
27
  teaserText: "Finde Produkte auf \n einem Foto",
23
28
  imageSearchModalTitle: "Bildsuche",
29
+ textSearchPlaceholder: "mit Text suchen",
24
30
  emptyResultsBlock: {
25
31
  title: "Leider nichts gefunden",
26
32
  button: "Neues Bild hochladen",
@@ -49,6 +55,7 @@ const resources = {
49
55
  privacyBadgeText: "By uploading a picture you agree to the processing by our partner Vviinn. The image will be deleted after one hour of inactivity.",
50
56
  teaserText: "Find Product by Photo",
51
57
  imageSearchModalTitle: "Visual Search",
58
+ textSearchPlaceholder: "Search by text",
52
59
  emptyResultsBlock: {
53
60
  title: "Sorry, nothing found",
54
61
  button: "Upload another image",
@@ -77,7 +84,7 @@ const videoStreamSettings = {
77
84
  frameRate: { ideal: 30 },
78
85
  };
79
86
 
80
- 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}";
87
+ 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}";
81
88
 
82
89
  var __rest = (undefined && undefined.__rest) || function (s, e) {
83
90
  var t = {};
@@ -92,7 +99,7 @@ var __rest = (undefined && undefined.__rest) || function (s, e) {
92
99
  return t;
93
100
  };
94
101
  const filterInt = (value) => /^[-+]?(\d+|Infinity)$/.test(value) ? Number(value) : NaN;
95
- const notEmptyString = (s) => !imageSearch_store.isEmpty(s);
102
+ const notEmptyString = (s) => !search_store.isEmpty(s);
96
103
  const notNan = (n) => !isNaN(n);
97
104
  const checkDeviceType = () => {
98
105
  const ua = navigator.userAgent;
@@ -224,6 +231,7 @@ const VviinnVpsWidget = class {
224
231
  this.productDetailNewTab = true;
225
232
  this.imageResolutionWidth = 250;
226
233
  this.exampleImageSource = constants.DEFAULT_EXAMPLE_IMAGE;
234
+ this.textSearchShow = false;
227
235
  this.apiPath = "https://api.vviinn.com";
228
236
  this.showingInButton = false;
229
237
  this.buttonElementId = undefined;
@@ -239,6 +247,8 @@ const VviinnVpsWidget = class {
239
247
  this.cameraButtonClicked = false;
240
248
  this.uploadSource = undefined;
241
249
  this.showAspectRatioError = false;
250
+ this.products = [];
251
+ this.initialSearchQuery = "";
242
252
  }
243
253
  initResultEvents() {
244
254
  this.resultLoaded = false;
@@ -256,6 +266,9 @@ const VviinnVpsWidget = class {
256
266
  isResultSlide() {
257
267
  return this.slidePosition === 1;
258
268
  }
269
+ findProductById(id) {
270
+ return search_store.searchState.results.find((r) => r.productId === id);
271
+ }
259
272
  handleOpenLink(deeplink, event) {
260
273
  if (this.productDetailNewTab || event.ctrlKey || event.metaKey) {
261
274
  let newTab = window.open();
@@ -320,7 +333,7 @@ const VviinnVpsWidget = class {
320
333
  async trackProductClick({ detail }) {
321
334
  const { productId, clickEvent } = detail;
322
335
  const productClickEvent = this.getProductTrackEvent(detail, "click");
323
- const product = imageSearch_store.imageSearchState.results.find((r) => r.productId === productId);
336
+ const product = this.findProductById(productId);
324
337
  if (!product || !product.deeplink)
325
338
  return;
326
339
  if (!this.trackingDeactivated) {
@@ -338,7 +351,7 @@ const VviinnVpsWidget = class {
338
351
  async trackAuxClick({ detail }) {
339
352
  const { productId } = detail;
340
353
  const productClickEvent = this.getProductTrackEvent(detail, "click");
341
- const product = imageSearch_store.imageSearchState.results.find((r) => r.productId === productId);
354
+ const product = this.findProductById(productId);
342
355
  if (!product || !product.deeplink)
343
356
  return;
344
357
  if (!this.trackingDeactivated) {
@@ -371,19 +384,24 @@ const VviinnVpsWidget = class {
371
384
  const searchEvent = index$1.createFilterEvent(Object.assign({ session_id: this.uiSessionId, source: this.imageSource, kind: detail.kind, action: detail.action }, rest));
372
385
  this.trackingApi.trackEvent(searchEvent).then(this.setTrackingDeactivated);
373
386
  }
387
+ async trackTextSearchFinished({ detail }) {
388
+ this.initialSearchQuery = detail;
389
+ this.slidePosition = 1;
390
+ }
374
391
  connectedCallback() {
375
392
  this.isDesktop = checkDeviceType() === "desktop";
376
- imageSearch_store.state.apiPath = this.apiPath;
377
- imageSearch_store.state.currencySign = this.currencySign;
378
- imageSearch_store.state.locale = this.locale;
393
+ search_store.state.apiPath = this.apiPath;
394
+ search_store.state.currencySign = this.currencySign;
395
+ search_store.state.locale = this.locale;
379
396
  this.cameraAvailable =
380
397
  !!navigator.mediaDevices && !!navigator.mediaDevices.getUserMedia;
381
- imageSearch_store.imageSearchState.token = this.token;
382
- imageSearch_store.imageSearchState.campaignId = imageSearch_store._function.pipe(this.campaignId, imageSearch_store.Option.fromNullable, imageSearch_store.Option.chain(imageSearch_store.Option.fromPredicate(notEmptyString)), imageSearch_store.Option.map(filterInt), imageSearch_store.Option.chain(imageSearch_store.Option.fromPredicate(notNan)), imageSearch_store.Option.map((s) => `${s}`));
398
+ const campaignId = search_store._function.pipe(this.campaignId, search_store.Option.fromNullable, search_store.Option.chain(search_store.Option.fromPredicate(notEmptyString)), search_store.Option.map(filterInt), search_store.Option.chain(search_store.Option.fromPredicate(notNan)), search_store.Option.map((s) => `${s}`));
383
399
  if (this.excluded) {
384
- this.excluded = imageSearch_store.parseExcluded(this.excluded);
400
+ this.excluded = search_store.parseExcluded(this.excluded);
385
401
  }
386
- imageSearch_store.imageSearchState.excluded = this.excluded;
402
+ search_store.searchState.token = this.token;
403
+ search_store.searchState.campaignId = campaignId;
404
+ search_store.searchState.excluded = this.excluded;
387
405
  this.uiSessionId = index$1.v4();
388
406
  this.trackingApi = index$1.createTrackingApi(this.apiPath, this.token);
389
407
  this.id = this.el.id;
@@ -443,22 +461,26 @@ const VviinnVpsWidget = class {
443
461
  this.cameraAvailable && (index.h("button", { class: "action-button", part: "start-camera_button", onClick: () => {
444
462
  this.handleStartCameraClick();
445
463
  this.uploadSource = "startCamera";
446
- } }, imageSearch_store.imageSearchState.loading && this.uploadSource === "startCamera" ? (index.h("vviinn-preloader", null)) : (index.h("span", { class: "action-button-content" }, index.h("slot", { name: "vviinn-camera-icon" }, index.h(index$2.CameraActionIcon, null)), this.cameraEnabled ? (index.h("slot", { name: "vviinn-camera-button-text-stop" }, index.h("span", null, i18next.instance.t("cameraButtonTextStop")))) : (index.h("slot", { name: "vviinn-camera-button-text-start" }, index.h("span", null, i18next.instance.t("cameraButtonTextStart")))))))),
464
+ } }, search_store.searchState.loading &&
465
+ search_store.searchState.searchType === "image" &&
466
+ this.uploadSource === "startCamera" ? (index.h("vviinn-preloader", null)) : (index.h("span", { class: "action-button-content" }, index.h("slot", { name: "vviinn-camera-icon" }, index.h(CameraActionIcon, null)), this.cameraEnabled ? (index.h("slot", { name: "vviinn-camera-button-text-stop" }, index.h("span", null, i18next.instance.t("cameraButtonTextStop")))) : (index.h("slot", { name: "vviinn-camera-button-text-start" }, index.h("span", null, i18next.instance.t("cameraButtonTextStart")))))))),
447
467
  index.h("vviinn-image-selector", { class: "action-button", onClick: () => (this.uploadSource = "uploadPhoto"), onVviinnImageUploadFinished: this.handleVviinnImageUploadFinished, onVviinnImageUpload: () => {
448
468
  this.handleVviinnImageUpload("uploadPhoto");
449
- }, onVviinnNoResult: ({ detail }) => this.handleVviinnNoResult(detail), resetVpsButton: this.resetVpsButton, basicEventData: this.getBasicEventData(), part: "upload-photo_button", startUpload: this.buttonPressed && this.showingInButton && this.mode === "upload", loading: imageSearch_store.imageSearchState.loading && this.uploadSource === "uploadPhoto" }, index.h("span", { slot: "upload-button-text", class: "action-button-content" }, index.h("slot", { name: "vviinn-image-upload-icon" }, index.h(index$2.UploadActionIcon, null)), index.h("slot", { name: "vviinn-image-upload-button-text" }, index.h("span", null, i18next.instance.t("imageUploadButtonText"))))),
469
+ }, onVviinnNoResult: ({ detail }) => this.handleVviinnNoResult(detail), resetVpsButton: this.resetVpsButton, basicEventData: this.getBasicEventData(), part: "upload-photo_button", startUpload: this.buttonPressed && this.showingInButton && this.mode === "upload", loading: search_store.searchState.loading &&
470
+ search_store.searchState.searchType === "image" &&
471
+ this.uploadSource === "uploadPhoto" }, index.h("span", { slot: "upload-button-text", class: "action-button-content" }, index.h("slot", { name: "vviinn-image-upload-icon" }, index.h(UploadActionIcon, null)), index.h("slot", { name: "vviinn-image-upload-button-text" }, index.h("span", null, i18next.instance.t("imageUploadButtonText"))))),
450
472
  ];
451
473
  return this.isDesktop ? buttons.reverse() : buttons;
452
474
  }
453
475
  renderResults() {
454
- if (imageSearch_store.imageSearchState.results.length === 0)
476
+ if (search_store.searchState.results.length === 0)
455
477
  return null;
456
478
  if (!this.resultLoaded) {
457
479
  this.vviinnResultLoad.emit(this.getBasicEventData());
458
480
  this.trackResultEvent("load");
459
481
  this.resultLoaded = true;
460
482
  }
461
- return imageSearch_store.imageSearchState.results.map((p, i) => {
483
+ return search_store.searchState.results.map((p, i) => {
462
484
  var _a;
463
485
  return (index.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: _package.version }));
464
486
  });
@@ -466,18 +488,19 @@ const VviinnVpsWidget = class {
466
488
  resetState() {
467
489
  this.resetScroll("start-page_block");
468
490
  this.slidePosition = 0;
469
- imageSearch_store.imageSearchState.resetCategoryLink = undefined;
470
- imageSearch_store.imageSearchState.activeIonLink = undefined;
471
- imageSearch_store.imageSearchState.image = imageSearch_store.Option.none;
472
- imageSearch_store.imageSearchState.imageUrl = imageSearch_store.Option.none;
473
- imageSearch_store.imageSearchState.imageBounds = imageSearch_store.Option.none;
474
- imageSearch_store.imageSearchState.searchArea = imageSearch_store.Option.none;
475
- imageSearch_store.imageSearchState.results = [];
476
- imageSearch_store.imageSearchState.filters = [];
477
- imageSearch_store.imageSearchState.detectedObjects = [];
478
- imageSearch_store.imageSearchState.rectangleSearchForm = undefined;
479
- imageSearch_store.imageSearchState.loading = false;
480
- imageSearch_store.imageSearchState.serverError = false;
491
+ search_store.searchState.resetCategoryLink = undefined;
492
+ search_store.searchState.activeIonLink = undefined;
493
+ search_store.searchState.image = search_store.Option.none;
494
+ search_store.searchState.imageUrl = search_store.Option.none;
495
+ search_store.searchState.imageBounds = search_store.Option.none;
496
+ search_store.searchState.searchArea = search_store.Option.none;
497
+ search_store.searchState.results = [];
498
+ search_store.searchState.filters = [];
499
+ search_store.searchState.detectedObjects = [];
500
+ search_store.searchState.rectangleSearchForm = undefined;
501
+ search_store.searchState.loading = false;
502
+ search_store.searchState.serverError = false;
503
+ search_store.searchState.searchType = undefined;
481
504
  this.wrongImageFormat = false;
482
505
  this.resetScroll("results-block");
483
506
  this.stopStreamTracks();
@@ -488,7 +511,7 @@ const VviinnVpsWidget = class {
488
511
  this.setShowAspectRatioError(false);
489
512
  }
490
513
  haveErrors() {
491
- return this.wrongImageFormat || imageSearch_store.imageSearchState.serverError;
514
+ return this.wrongImageFormat || search_store.searchState.serverError;
492
515
  }
493
516
  resetScroll(elementId, behavior = "auto") {
494
517
  const element = this.el.shadowRoot.getElementById(elementId);
@@ -503,7 +526,7 @@ const VviinnVpsWidget = class {
503
526
  }
504
527
  render() {
505
528
  var _a;
506
- return (index.h(index.Host, null, !this.showingInButton && index.h(customizedSlots.SlotSkeleton, null), index.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: _package.version, hideBackButton: (this.mode === "upload" && this.showingInButton) ||
529
+ return (index.h(index.Host, { exportparts: "text-search-input" }, !this.showingInButton && index.h(customizedSlots.SlotSkeleton, null), index.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: _package.version, hideBackButton: (this.mode === "upload" && this.showingInButton) ||
507
530
  (!this.cameraEnabled && this.isOnboardingSlide()), exportparts: "secondary-action, title, close-button" }, index.h("vviinn-slider", { showBullets: false, position: this.slidePosition }, index.h("vviinn-slide", { class: {
508
531
  "start-page": true,
509
532
  "camera-enabled": this.cameraEnabled,
@@ -513,21 +536,23 @@ const VviinnVpsWidget = class {
513
536
  error: this.haveErrors(),
514
537
  }, id: "start-page_block" }, index.h("div", { class: "start-page_main-content" }, index.h("div", { class: {
515
538
  "start-page_errors-block": true,
516
- hidden: !this.wrongImageFormat && !imageSearch_store.imageSearchState.serverError,
517
- } }, index.h("vviinn-wrong-format", { class: { hidden: !this.wrongImageFormat }, handler: () => this.resetState() }), index.h("vviinn-server-error", { class: { hidden: !imageSearch_store.imageSearchState.serverError }, handler: () => this.resetState() })), !this.haveErrors() && index.h("vviinn-teaser", null), !this.haveErrors() && (index.h("div", { class: "buttons-group" }, this.renderButtons()))), index.h("vviinn-privacy-badge", { privacyBadgeText: i18next.instance.t("privacyBadgeText"), class: { invisible: this.haveErrors() } }))), index.h("vviinn-slide", { class: {
539
+ hidden: !this.wrongImageFormat && !search_store.searchState.serverError,
540
+ } }, index.h("vviinn-wrong-format", { class: { hidden: !this.wrongImageFormat }, handler: () => this.resetState() }), index.h("vviinn-server-error", { class: { hidden: !search_store.searchState.serverError }, handler: () => this.resetState() })), !this.haveErrors() && index.h("vviinn-teaser", null), !this.haveErrors() && (index.h("div", { class: "buttons-group" }, this.renderButtons())), this.textSearchShow && !this.haveErrors() && (index.h("vviinn-text-search", { clearSearchQuery: true }))), index.h("vviinn-privacy-badge", { privacyBadgeText: i18next.instance.t("privacyBadgeText"), class: { invisible: this.haveErrors() } }))), index.h("vviinn-slide", { class: {
518
541
  "results-page": true,
519
542
  active: this.isResultSlide(),
520
- } }, index.h("div", { class: "image-wrapper" }, this.isResultSlide() && (index.h("vviinn-image-view", { basicEventData: this.getBasicEventData(), setShowAspectRatioError: this.setShowAspectRatioError, showAspectRatioError: this.showAspectRatioError })), index.h("div", { class: {
543
+ } }, this.isResultSlide() && search_store.searchState.searchType === "image" && (index.h("div", { class: "image-wrapper" }, index.h("vviinn-image-view", { basicEventData: this.getBasicEventData(), setShowAspectRatioError: this.setShowAspectRatioError, showAspectRatioError: this.showAspectRatioError }), index.h("div", { class: {
521
544
  "filters-wrapper": true,
522
545
  hidden: this.showAspectRatioError,
523
- } }, index.h("div", { class: "filters" }, imageSearch_store.imageSearchState.filters.map((filter) => (index.h("search-filters", { filter: filter, basicEventData: this.getBasicEventData() })))))), index.h("div", { id: "results-block", class: "products-wrapper" }, index.h("div", { class: {
546
+ } }, index.h("div", { class: "filters" }, search_store.searchState.filters.map((filter) => (index.h("search-filters", { filter: filter, basicEventData: this.getBasicEventData() }))))))), this.textSearchShow &&
547
+ this.isResultSlide() &&
548
+ search_store.searchState.searchType === "text" && (index.h("div", { class: "text-search-wrapper" }, index.h("vviinn-text-search", { initialSearchQuery: this.initialSearchQuery }))), index.h("div", { id: "results-block", class: "products-wrapper" }, index.h("div", { class: {
524
549
  "nothing-found": true,
525
- hidden: imageSearch_store.imageSearchState.results.length > 0,
550
+ hidden: search_store.searchState.results.length > 0,
526
551
  } }, index.h("vviinn-empty-results", { handler: () => this.resetState() })), index.h("div", { class: {
527
552
  "nothing-found": true,
528
553
  hidden: !this.showAspectRatioError,
529
554
  } }, index.h("vviinn-wrong-aspect-ratio", { handler: () => this.resetState() })), index.h("div", { class: {
530
- hidden: imageSearch_store.imageSearchState.results.length <= 0 ||
555
+ hidden: search_store.searchState.results.length <= 0 ||
531
556
  this.showAspectRatioError,
532
557
  products: true,
533
558
  } }, this.active && this.renderResults())))))));
@@ -20,7 +20,7 @@ const patchBrowser = () => {
20
20
  };
21
21
 
22
22
  patchBrowser().then(options => {
23
- return index.bootstrapLazy([["vviinn-button.cjs",[[1,"vviinn-button",{"addStyle":[4,"add-style"]}]]],["vviinn-preloader.cjs",[[1,"vviinn-preloader"]]],["vviinn-error.cjs",[[1,"vviinn-error"]]],["vviinn-carousel_4.cjs",[[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.cjs",[[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.cjs",[[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.cjs",[[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.cjs",[[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.cjs",[[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);
23
+ return index.bootstrapLazy([["vviinn-button.cjs",[[1,"vviinn-button",{"addStyle":[4,"add-style"]}]]],["vviinn-preloader.cjs",[[1,"vviinn-preloader"]]],["vviinn-error.cjs",[[1,"vviinn-error"]]],["vviinn-carousel_4.cjs",[[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.cjs",[[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.cjs",[[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.cjs",[[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.cjs",[[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.cjs",[[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);
24
24
  });
25
25
 
26
26
  exports.setNonce = index.setNonce;
@@ -23,6 +23,7 @@
23
23
  "./components/vviinn-slider/vviinn-slider.js",
24
24
  "./components/vviinn-slider/vviinn-slide/vviinn-slide.js",
25
25
  "./components/vviinn-teaser/vviinn-teaser.js",
26
+ "./components/vviinn-text-search/vviinn-text-search.js",
26
27
  "./components/vviinn-vpr-button/vviinn-vpr-button.js",
27
28
  "./components/vviinn-vpr-button/recommendations-sidebar/recommendations-sidebar.js",
28
29
  "./components/vviinn-vps-button/vviinn-vps-button.js",
@@ -11,6 +11,7 @@ const defaultSlotsNames = [
11
11
  "vviinn-privacy-badge-text",
12
12
  "vviinn-image-search-modal-title",
13
13
  "vviinn-basket-button-text",
14
+ "vviinn-text-search-icon",
14
15
  ];
15
16
  const renderNamedSlot = (name) => h("slot", { name: name });
16
17
  export const SlotSkeleton = () => defaultSlotsNames.map(renderNamedSlot);
@@ -1,5 +1,5 @@
1
1
  import { Host, h, } from "@stencil/core";
2
- import { imageSearchState } from "../../../store/imageSearch.store";
2
+ import { searchState } from "../../../store/search.store";
3
3
  import { parseFilters } from "../../../filters/parseFilters";
4
4
  const FILTERS_COUNT = 5;
5
5
  export class SearchFilters {
@@ -24,12 +24,12 @@ export class SearchFilters {
24
24
  : this.selectFilter(filter);
25
25
  }
26
26
  selectFilter(selectedFilter) {
27
- imageSearchState.activeIonLink = selectedFilter;
27
+ searchState.activeIonLink = selectedFilter;
28
28
  this.selectedFilter = parseFilters(selectedFilter, this.filterType);
29
29
  this.vviinnSelectFilter.emit(Object.assign(Object.assign({}, this.basicEventData), { action: "select", kind: this.getFilterKind() }));
30
30
  }
31
31
  clearSelectedFilter(selectedFilter) {
32
- imageSearchState.activeIonLink = selectedFilter.clear;
32
+ searchState.activeIonLink = selectedFilter.clear;
33
33
  this.selectedFilter = parseFilters(selectedFilter.clear, this.filterType);
34
34
  this.vviinnSelectFilter.emit(Object.assign(Object.assign({}, this.basicEventData), { action: "deselect", kind: this.getFilterKind() }));
35
35
  }
@@ -64,12 +64,12 @@ export class SearchFilters {
64
64
  filter: true,
65
65
  active: filterActive,
66
66
  }, style: { "animation-delay": `${index * 10}ms` }, onPointerUp: (ev) => {
67
- if (imageSearchState.loading)
67
+ if (searchState.loading)
68
68
  return;
69
69
  ev.stopPropagation();
70
70
  this.handleFilterSelection(filter);
71
71
  }, onKeyPress: (ev) => {
72
- if (imageSearchState.loading)
72
+ if (searchState.loading)
73
73
  return;
74
74
  this.handleEnter(ev, filter);
75
75
  } }, filter.name));
@@ -1,12 +1,13 @@
1
1
  import { Host, h } from "@stencil/core";
2
2
  import i18next from "i18next";
3
3
  import { WarningIcon } from "../../vviinn-icons";
4
+ import { searchState } from "../../../store/search.store";
4
5
  export class VviinnEmptyResults {
5
6
  constructor() {
6
7
  this.handler = undefined;
7
8
  }
8
9
  render() {
9
- return (h(Host, null, h("vviinn-error", null, h(WarningIcon, null), h("h4", { slot: "title" }, i18next.t("emptyResultsBlock.title")), h("button", { slot: "action", onClick: this.handler }, i18next.t("emptyResultsBlock.button")))));
10
+ return (h(Host, null, h("vviinn-error", null, h(WarningIcon, null), h("h4", { slot: "title" }, i18next.t("emptyResultsBlock.title")), searchState.searchType === "image" && (h("button", { slot: "action", onClick: this.handler }, i18next.t("emptyResultsBlock.button"))))));
10
11
  }
11
12
  static get is() { return "vviinn-empty-results"; }
12
13
  static get encapsulation() { return "shadow"; }
@@ -1,7 +1,7 @@
1
1
  import { Host, h, } from "@stencil/core";
2
2
  import { pipe } from "fp-ts/lib/function";
3
3
  import { toFile } from "../../Image/toFile";
4
- import { processSelectedFile } from "../../store/imageSearch.store";
4
+ import { processSelectedFile } from "../../store/search.store";
5
5
  import * as E from "fp-ts/lib/Either";
6
6
  import { MinusIcon, PlusIcon, RoundCameraIcon } from "../vviinn-icons";
7
7
  export class VviinnExampleImage {
@@ -0,0 +1,2 @@
1
+ import { h } from "@stencil/core";
2
+ export const ArrowIcon = () => (h("svg", { width: "12", height: "20", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M0 10 10 0l1.4 1.4L2.8 10l8.6 8.6L10 20 0 10Z" })));
@@ -0,0 +1,2 @@
1
+ import { h } from "@stencil/core";
2
+ export const BasketIcon = () => (h("svg", { width: "25", height: "24", viewBox: "0 0 25 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M7.5 22C6.95 22 6.47917 21.8042 6.0875 21.4125C5.69583 21.0208 5.5 20.55 5.5 20C5.5 19.45 5.69583 18.9792 6.0875 18.5875C6.47917 18.1958 6.95 18 7.5 18C8.05 18 8.52083 18.1958 8.9125 18.5875C9.30417 18.9792 9.5 19.45 9.5 20C9.5 20.55 9.30417 21.0208 8.9125 21.4125C8.52083 21.8042 8.05 22 7.5 22ZM17.5 22C16.95 22 16.4792 21.8042 16.0875 21.4125C15.6958 21.0208 15.5 20.55 15.5 20C15.5 19.45 15.6958 18.9792 16.0875 18.5875C16.4792 18.1958 16.95 18 17.5 18C18.05 18 18.5208 18.1958 18.9125 18.5875C19.3042 18.9792 19.5 19.45 19.5 20C19.5 20.55 19.3042 21.0208 18.9125 21.4125C18.5208 21.8042 18.05 22 17.5 22ZM6.65 6L9.05 11H16.05L18.8 6H6.65ZM5.7 4H20.45C20.8333 4 21.125 4.17083 21.325 4.5125C21.525 4.85417 21.5333 5.2 21.35 5.55L17.8 11.95C17.6167 12.2833 17.3708 12.5417 17.0625 12.725C16.7542 12.9083 16.4167 13 16.05 13H8.6L7.5 15H18.5C18.7833 15 19.0208 15.0958 19.2125 15.2875C19.4042 15.4792 19.5 15.7167 19.5 16C19.5 16.2833 19.4042 16.5208 19.2125 16.7125C19.0208 16.9042 18.7833 17 18.5 17H7.5C6.75 17 6.18333 16.6708 5.8 16.0125C5.41667 15.3542 5.4 14.7 5.75 14.05L7.1 11.6L3.5 4H2.5C2.21667 4 1.97917 3.90417 1.7875 3.7125C1.59583 3.52083 1.5 3.28333 1.5 3C1.5 2.71667 1.59583 2.47917 1.7875 2.2875C1.97917 2.09583 2.21667 2 2.5 2H4.125C4.30833 2 4.48333 2.05 4.65 2.15C4.81667 2.25 4.94167 2.39167 5.025 2.575L5.7 4Z", fill: "#525252" })));
@@ -0,0 +1,2 @@
1
+ import { h } from "@stencil/core";
2
+ export const CameraActionIcon = () => (h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" }, 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" })));
@@ -0,0 +1,2 @@
1
+ import { h } from "@stencil/core";
2
+ export const CameraIcon = () => (h("svg", { width: "22", height: "20", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M16.567 3H19A3.01 3.01 0 0 1 22 6v7.69h-2V6c0-.55-.451-1-1.001-1h-3.502l-2.03-3H8.543L6.603 5H3.001c-.55 0-1 .45-1 1v11c0 .55.45 1 1 1h5.933v2H3.001A3.01 3.01 0 0 1 0 17V6c0-1.65 1.35-3 3.001-3h2.522l1.94-3h7.074l2.03 3Zm-5.562 3c1.28 0 2.561.48 3.542 1.46h-.01a4.992 4.992 0 0 1 .64 6.29l3.051 3.05-1.41 1.41-3.052-3.05c-.84.55-1.8.83-2.76.83-1.282 0-2.562-.48-3.543-1.46a5.002 5.002 0 0 1 0-7.07A5.026 5.026 0 0 1 11.005 6Zm-2.771 5a2.763 2.763 0 0 0 2.771 2.77A2.763 2.763 0 0 0 13.776 11a2.763 2.763 0 0 0-2.771-2.77A2.763 2.763 0 0 0 8.234 11Z", fill: "#161616" })));
@@ -0,0 +1,2 @@
1
+ import { h } from "@stencil/core";
2
+ export const CheckCircleIcon = () => (h("svg", { width: "25", height: "24", viewBox: "0 0 25 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M11.1 13.8L8.95 11.65C8.76667 11.4667 8.53333 11.375 8.25 11.375C7.96667 11.375 7.73333 11.4667 7.55 11.65C7.36667 11.8333 7.275 12.0667 7.275 12.35C7.275 12.6333 7.36667 12.8667 7.55 13.05L10.4 15.9C10.6 16.1 10.8333 16.2 11.1 16.2C11.3667 16.2 11.6 16.1 11.8 15.9L17.45 10.25C17.6333 10.0667 17.725 9.83333 17.725 9.55C17.725 9.26667 17.6333 9.03333 17.45 8.85C17.2667 8.66667 17.0333 8.575 16.75 8.575C16.4667 8.575 16.2333 8.66667 16.05 8.85L11.1 13.8ZM12.5 22C11.1167 22 9.81667 21.7375 8.6 21.2125C7.38333 20.6875 6.325 19.975 5.425 19.075C4.525 18.175 3.8125 17.1167 3.2875 15.9C2.7625 14.6833 2.5 13.3833 2.5 12C2.5 10.6167 2.7625 9.31667 3.2875 8.1C3.8125 6.88333 4.525 5.825 5.425 4.925C6.325 4.025 7.38333 3.3125 8.6 2.7875C9.81667 2.2625 11.1167 2 12.5 2C13.8833 2 15.1833 2.2625 16.4 2.7875C17.6167 3.3125 18.675 4.025 19.575 4.925C20.475 5.825 21.1875 6.88333 21.7125 8.1C22.2375 9.31667 22.5 10.6167 22.5 12C22.5 13.3833 22.2375 14.6833 21.7125 15.9C21.1875 17.1167 20.475 18.175 19.575 19.075C18.675 19.975 17.6167 20.6875 16.4 21.2125C15.1833 21.7375 13.8833 22 12.5 22ZM12.5 20C14.7333 20 16.625 19.225 18.175 17.675C19.725 16.125 20.5 14.2333 20.5 12C20.5 9.76667 19.725 7.875 18.175 6.325C16.625 4.775 14.7333 4 12.5 4C10.2667 4 8.375 4.775 6.825 6.325C5.275 7.875 4.5 9.76667 4.5 12C4.5 14.2333 5.275 16.125 6.825 17.675C8.375 19.225 10.2667 20 12.5 20Z", fill: "#0FC373" })));
@@ -0,0 +1,2 @@
1
+ import { h } from "@stencil/core";
2
+ export const CheckIcon = () => (h("svg", { width: "14", height: "11", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M5 10.414 0 5.413 1.413 4 5 7.586 12.585 0 14 1.415l-9 8.999Z", fill: "var(--color-primary, var(--color-primary-system))" })));
@@ -0,0 +1,2 @@
1
+ import { h } from "@stencil/core";
2
+ export const ChevronIcon = () => (h("svg", { width: "9", height: "16", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "m9 8-7.895 8L0 14.88 6.79 8 0 1.12 1.105 0 9 8Z" })));
@@ -0,0 +1,2 @@
1
+ import { h } from "@stencil/core";
2
+ export const CloseIcon = () => (h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" }, h("path", { d: "M12 13.3892L6.91958 18.4696C6.72248 18.6667 6.49095 18.7653 6.225 18.7653C5.95905 18.7653 5.72753 18.6667 5.53043 18.4696C5.33333 18.2725 5.23478 18.041 5.23478 17.775C5.23478 17.5091 5.33333 17.2776 5.53043 17.0805L10.6109 12L5.53043 6.9196C5.33333 6.7225 5.23478 6.49098 5.23478 6.22503C5.23478 5.95908 5.33333 5.72755 5.53043 5.53045C5.72753 5.33335 5.95905 5.2348 6.225 5.2348C6.49095 5.2348 6.72248 5.33335 6.91958 5.53045L12 10.6109L17.0804 5.53045C17.2775 5.33335 17.5091 5.2348 17.775 5.2348C18.041 5.2348 18.2725 5.33335 18.4696 5.53045C18.6667 5.72755 18.7652 5.95908 18.7652 6.22503C18.7652 6.49098 18.6667 6.7225 18.4696 6.9196L13.3892 12L18.4696 17.0805C18.6667 17.2776 18.7652 17.5091 18.7652 17.775C18.7652 18.041 18.6667 18.2725 18.4696 18.4696C18.2725 18.6667 18.041 18.7653 17.775 18.7653C17.5091 18.7653 17.2775 18.6667 17.0804 18.4696L12 13.3892Z", fill: "currentColor" })));
@@ -0,0 +1,2 @@
1
+ import { h } from "@stencil/core";
2
+ export const CrossIcon = () => (h("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M16 1.4L14.6 0L8 6.6L1.4 0L0 1.4L6.6 8L0 14.6L1.4 16L8 9.4L14.6 16L16 14.6L9.4 8L16 1.4Z", fill: "#161616" })));
@@ -0,0 +1,2 @@
1
+ import { h } from "@stencil/core";
2
+ export const GalleryActionIcon = () => (h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "25", height: "24", viewBox: "0 0 25 24", fill: "none" }, h("path", { d: "M5.5 21H8.175V16.325H3.5V19C3.5 19.55 3.69583 20.0208 4.0875 20.4125C4.47917 20.8042 4.95 21 5.5 21ZM10.175 21H14.825V16.325H10.175V21ZM16.825 21H19.5C20.05 21 20.5208 20.8042 20.9125 20.4125C21.3042 20.0208 21.5 19.55 21.5 19V16.325H16.825V21ZM3.5 14.325H8.175V9.675H3.5V14.325ZM10.175 14.325H14.825V9.675H10.175V14.325ZM16.825 14.325H21.5V9.675H16.825V14.325ZM3.5 7.675H8.175V3H5.5C4.95 3 4.47917 3.19583 4.0875 3.5875C3.69583 3.97917 3.5 4.45 3.5 5V7.675ZM10.175 7.675H14.825V3H10.175V7.675ZM16.825 7.675H21.5V5C21.5 4.45 21.3042 3.97917 20.9125 3.5875C20.5208 3.19583 20.05 3 19.5 3H16.825V7.675Z", fill: "currentColor" })));
@@ -0,0 +1,2 @@
1
+ import { h } from "@stencil/core";
2
+ export const LoaderIcon = () => (h("svg", { width: "100%", height: "100%", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 28 28" }, h("path", { fill: "#fff", d: "M23,14a9,9,0,1,1-9-9V2A12,12,0,1,0,26,14Z" })));
@@ -0,0 +1,2 @@
1
+ import { h } from "@stencil/core";
2
+ export const MinusIcon = () => (h("svg", { width: "32", height: "32", viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M8.00001 17.3333C7.62223 17.3333 7.30556 17.2056 7.05001 16.95C6.79445 16.6944 6.66667 16.3778 6.66667 16C6.66667 15.6222 6.79445 15.3056 7.05001 15.05C7.30556 14.7944 7.62223 14.6667 8.00001 14.6667H24C24.3778 14.6667 24.6944 14.7944 24.95 15.05C25.2056 15.3056 25.3333 15.6222 25.3333 16C25.3333 16.3778 25.2056 16.6944 24.95 16.95C24.6944 17.2056 24.3778 17.3333 24 17.3333H8.00001Z", fill: "white" })));
@@ -0,0 +1,2 @@
1
+ import { h } from "@stencil/core";
2
+ export const PlusIcon = () => (h("svg", { width: "32", height: "32", viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M14.6667 17.3333H8.00001C7.62223 17.3333 7.30556 17.2056 7.05001 16.95C6.79445 16.6944 6.66667 16.3778 6.66667 16C6.66667 15.6222 6.79445 15.3056 7.05001 15.05C7.30556 14.7944 7.62223 14.6667 8.00001 14.6667H14.6667V8.00001C14.6667 7.62223 14.7944 7.30556 15.05 7.05001C15.3056 6.79445 15.6222 6.66667 16 6.66667C16.3778 6.66667 16.6944 6.79445 16.95 7.05001C17.2056 7.30556 17.3333 7.62223 17.3333 8.00001V14.6667H24C24.3778 14.6667 24.6944 14.7944 24.95 15.05C25.2056 15.3056 25.3333 15.6222 25.3333 16C25.3333 16.3778 25.2056 16.6944 24.95 16.95C24.6944 17.2056 24.3778 17.3333 24 17.3333H17.3333V24C17.3333 24.3778 17.2056 24.6944 16.95 24.95C16.6944 25.2056 16.3778 25.3333 16 25.3333C15.6222 25.3333 15.3056 25.2056 15.05 24.95C14.7944 24.6944 14.6667 24.3778 14.6667 24V17.3333Z", fill: "white" })));
@@ -0,0 +1,2 @@
1
+ import { h } from "@stencil/core";
2
+ export const RoundCameraIcon = () => (h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "80", height: "80", viewBox: "0 0 80 80", fill: "none" }, h("circle", { cx: "40", cy: "40", r: "36", fill: "white" }), h("circle", { cx: "40", cy: "40", r: "39", fill: "white", "fill-opacity": "0.16", stroke: "white", "stroke-width": "2" }), h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M48 29.3333H50.6667C53.6133 29.3333 56 31.72 56 34.6667V45.3333H53.3333V34.6667C53.3333 33.2 52.1333 32 50.6667 32H46.5733L45.7867 30.8133L43.9067 28H36.0933L34.2133 30.8133L33.4267 32H29.3333C27.8667 32 26.6667 33.2 26.6667 34.6667V48C26.6667 49.4667 27.8667 50.6667 29.3333 50.6667H36V53.3333H29.3333C26.3867 53.3333 24 50.9467 24 48V34.6667C24 31.72 26.3867 29.3333 29.3333 29.3333H32L34.6667 25.3333H45.3333L48 29.3333ZM40 34.6667C43.68 34.6667 46.6667 37.6533 46.6667 41.3333L46.6533 41.3467C46.6533 42.6933 46.24 43.96 45.5467 45.0133L51.6 51.0667L49.72 52.9467L43.6667 46.8933C42.6133 47.5867 41.36 48 40 48C36.32 48 33.3333 45.0133 33.3333 41.3333C33.3333 37.6533 36.32 34.6667 40 34.6667ZM36 41.3333C36 43.5333 37.8 45.3333 40 45.3333C42.2 45.3333 44 43.5333 44 41.3333C44 39.1333 42.2 37.3333 40 37.3333C37.8 37.3333 36 39.1333 36 41.3333Z", fill: "#161616" })));
@@ -0,0 +1,2 @@
1
+ import { h } from "@stencil/core";
2
+ export const SecondaryActionIcon = () => (h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" }, h("path", { d: "M7.82499 13L12.725 17.9C12.925 18.1 13.0208 18.3333 13.0125 18.6C13.0042 18.8667 12.9 19.1 12.7 19.3C12.5 19.4833 12.2667 19.5792 12 19.5875C11.7333 19.5958 11.5 19.5 11.3 19.3L4.69999 12.7C4.59999 12.6 4.52915 12.4917 4.48749 12.375C4.44582 12.2583 4.42499 12.1333 4.42499 12C4.42499 11.8667 4.44582 11.7417 4.48749 11.625C4.52915 11.5083 4.59999 11.4 4.69999 11.3L11.3 4.69999C11.4833 4.51665 11.7125 4.42499 11.9875 4.42499C12.2625 4.42499 12.5 4.51665 12.7 4.69999C12.9 4.89999 13 5.13749 13 5.41249C13 5.68749 12.9 5.92499 12.7 6.12499L7.82499 11H19C19.2833 11 19.5208 11.0958 19.7125 11.2875C19.9042 11.4792 20 11.7167 20 12C20 12.2833 19.9042 12.5208 19.7125 12.7125C19.5208 12.9042 19.2833 13 19 13H7.82499Z", fill: "currentColor" })));
@@ -0,0 +1,2 @@
1
+ import { h } from "@stencil/core";
2
+ export const TextSearchIcon = () => (h("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M20.6 4.57C17.39 4.19 16.88 3.68 16.42 0.37C16.38 0.15 16.22 0 16.01 0C15.8 0 15.63 0.15 15.59 0.37C15.12 3.66 14.63 4.13 11.41 4.57C11.17 4.61 11.01 4.77 11.01 5C11.01 5.23 11.17 5.39 11.41 5.42C14.63 5.81 15.14 6.31 15.59 9.62C15.63 9.84 15.8 10 16.01 10C16.22 10 16.39 9.84 16.42 9.62C16.89 6.31 17.39 5.81 20.6 5.42C20.84 5.38 21 5.22 21 5C21 4.78 20.83 4.6 20.6 4.57Z", fill: "#525252" }), h("path", { d: "M14 12C14 9.24 11.76 7 9 7C6.24 7 4 9.24 4 12C4 14.76 6.24 17 9 17C10.02 17 10.96 16.69 11.75 16.17L16.29 20.71L17.7 19.3L13.16 14.76C13.68 13.97 13.99 13.02 13.99 12.01L14 12ZM9 15C7.35 15 6 13.65 6 12C6 10.35 7.35 9 9 9C10.65 9 12 10.35 12 12C12 13.65 10.65 15 9 15Z", fill: "#525252" })));
@@ -0,0 +1,2 @@
1
+ import { h } from "@stencil/core";
2
+ export const UpdateIcon = () => (h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" }, h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M23.5998 4.57C20.3898 4.19 19.8798 3.68 19.4198 0.37C19.3798 0.15 19.2198 0 19.0098 0C18.7998 0 18.6298 0.15 18.5898 0.37C18.1198 3.66 17.6298 4.13 14.4098 4.57C14.1698 4.61 14.0098 4.77 14.0098 5C14.0098 5.23 14.1698 5.39 14.4098 5.42C17.6298 5.81 18.1398 6.31 18.5898 9.62C18.6298 9.84 18.7998 10 19.0098 10C19.2198 10 19.3898 9.84 19.4198 9.62C19.8898 6.31 20.3898 5.81 23.5998 5.42C23.8398 5.38 23.9998 5.22 23.9998 5C23.9998 4.78 23.8298 4.6 23.5998 4.57Z", fill: "currentColor" }), h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M19.93 13C19.43 13 19.01 13.37 18.95 13.86C18.52 17.36 15.51 20.06 11.89 20C8.24 19.94 5.15 16.92 5.01 13.27C4.92 10.79 6.13 8.58 8.01 7.27V11C8.01 11.55 8.46 12 9.01 12C9.56 12 10.01 11.55 10.01 11V5C10.01 4.45 9.56 4 9.01 4H3C2.45 4 2 4.45 2 5C2 5.55 2.45 6 3 6H6.35C4.24 7.71 2.91 10.35 3 13.3C3.15 17.98 7.06 21.87 11.74 22C16.45 22.13 20.37 18.65 20.93 14.13C21 13.53 20.53 13.01 19.93 13.01V13Z", fill: "currentColor" })));
@@ -0,0 +1,2 @@
1
+ import { h } from "@stencil/core";
2
+ export const UploadActionIcon = () => (h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" }, 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" })));
@@ -0,0 +1,2 @@
1
+ import { h } from "@stencil/core";
2
+ export const VisualSearchIcon = () => (h("svg", { width: "20", height: "20", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M5 2C3.35 2 2 3.35 2 5v2H0V5c0-2.76 2.24-5 5-5h2v2H5Zm5 3c1.28 0 2.56.48 3.54 1.46h-.01a4.994 4.994 0 0 1 .64 6.29l3.05 3.05-1.41 1.41-3.05-3.05c-.84.55-1.8.83-2.76.83a4.98 4.98 0 0 1-3.54-1.46 5.003 5.003 0 0 1 0-7.07C7.44 5.49 8.72 5 10 5Zm-2.77 5c0 .74.29 1.44.81 1.96s1.22.81 1.96.81 1.44-.29 1.96-.81.81-1.22.81-1.96-.29-1.44-.81-1.96-1.22-.81-1.96-.81-1.44.29-1.96.81-.81 1.22-.81 1.96ZM2 15v-2H0v2c0 2.76 2.24 5 5 5h2v-2H5c-1.65 0-3-1.35-3-3ZM13 0h2c2.76 0 5 2.24 5 5v2h-2V5c0-1.65-1.35-3-3-3h-2V0Z", fill: "#161616" })));
@@ -0,0 +1,2 @@
1
+ import { h } from "@stencil/core";
2
+ export const WarningIcon = () => (h("svg", { slot: "icon", class: "icon", width: "32", height: "32", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { d: "M16 2a14 14 0 1 0 0 28 14 14 0 0 0 0-28Zm0 26a12 12 0 1 1 0-24 12 12 0 0 1 0 24Z", fill: "#525252" }), h("path", { d: "M17 8h-2v11h2V8Zm-1 14a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z", fill: "#525252" })));