@getlupa/vue 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/.eslintrc.cjs +15 -0
  2. package/.prettierrc.json +8 -0
  3. package/README.md +46 -0
  4. package/dist/containerStyle.css +1 -0
  5. package/dist/favicon.ico +0 -0
  6. package/dist/lupaSearch.iife.js +15899 -0
  7. package/dist/lupaSearch.js +15897 -0
  8. package/dist/lupaSearch.mjs +15897 -0
  9. package/dist/lupaSearch.umd.js +15900 -0
  10. package/dist/src/components/common/ProductImage.vue.d.ts +39 -0
  11. package/dist/src/components/common/Spinner.vue.d.ts +2 -0
  12. package/dist/src/components/product-list/CategoryDescription.vue.d.ts +14 -0
  13. package/dist/src/components/product-list/CategoryFilter.vue.d.ts +14 -0
  14. package/dist/src/components/product-list/CategoryFilterItem.vue.d.ts +22 -0
  15. package/dist/src/components/product-list/CategoryTopFilters.vue.d.ts +14 -0
  16. package/dist/src/components/product-list/ProductList.vue.d.ts +14 -0
  17. package/dist/src/components/recommendations/Recommendations.vue.d.ts +14 -0
  18. package/dist/src/components/search-box/SearchBox.vue.d.ts +22 -0
  19. package/dist/src/components/search-box/SearchBoxInput.vue.d.ts +42 -0
  20. package/dist/src/components/search-box/SearchBoxMainPanel.vue.d.ts +52 -0
  21. package/dist/src/components/search-box/SearchBoxMoreResults.vue.d.ts +24 -0
  22. package/dist/src/components/search-box/history/SearchBoxHistoryItem.vue.d.ts +24 -0
  23. package/dist/src/components/search-box/history/SearchBoxHistoryPanel.vue.d.ts +16 -0
  24. package/dist/src/components/search-box/products/SearchBoxProduct.vue.d.ts +50 -0
  25. package/dist/src/components/search-box/products/SearchBoxProducts.vue.d.ts +40 -0
  26. package/dist/src/components/search-box/products/SearchBoxProductsWrapper.vue.d.ts +50 -0
  27. package/dist/src/components/search-box/products/elements/SearchBoxProductCustom.vue.d.ts +23 -0
  28. package/dist/src/components/search-box/products/elements/SearchBoxProductCustomHtml.vue.d.ts +22 -0
  29. package/dist/src/components/search-box/products/elements/SearchBoxProductDescription.vue.d.ts +23 -0
  30. package/dist/src/components/search-box/products/elements/SearchBoxProductElement.vue.d.ts +32 -0
  31. package/dist/src/components/search-box/products/elements/SearchBoxProductImage.vue.d.ts +23 -0
  32. package/dist/src/components/search-box/products/elements/SearchBoxProductPrice.vue.d.ts +32 -0
  33. package/dist/src/components/search-box/products/elements/SearchBoxProductRegularPrice.vue.d.ts +32 -0
  34. package/dist/src/components/search-box/products/elements/SearchBoxProductTitle.vue.d.ts +23 -0
  35. package/dist/src/components/search-box/suggestions/SearchBoxSuggestion.vue.d.ts +33 -0
  36. package/dist/src/components/search-box/suggestions/SearchBoxSuggestions.vue.d.ts +41 -0
  37. package/dist/src/components/search-box/suggestions/SearchBoxSuggestionsWrapper.vue.d.ts +51 -0
  38. package/dist/src/components/search-container/SearchContainer.vue.d.ts +14 -0
  39. package/dist/src/components/search-results/SearchResults.vue.d.ts +39 -0
  40. package/dist/src/components/search-results/SearchResultsBreadcrumbs.vue.d.ts +14 -0
  41. package/dist/src/components/search-results/SearchResultsDidYouMean.vue.d.ts +14 -0
  42. package/dist/src/components/search-results/SearchResultsTitle.vue.d.ts +30 -0
  43. package/dist/src/components/search-results/additional-panels/AdditionalPanel.vue.d.ts +23 -0
  44. package/dist/src/components/search-results/additional-panels/AdditionalPanels.vue.d.ts +31 -0
  45. package/dist/src/components/search-results/filters/CurrentFilterDisplay.vue.d.ts +16 -0
  46. package/dist/src/components/search-results/filters/CurrentFilters.vue.d.ts +22 -0
  47. package/dist/src/components/search-results/filters/FiltersTopDropdown.vue.d.ts +14 -0
  48. package/dist/src/components/search-results/filters/MobileFilterSidebar.vue.d.ts +14 -0
  49. package/dist/src/components/search-results/filters/SearchResultsFilters.vue.d.ts +22 -0
  50. package/dist/src/components/search-results/filters/facets/FacetDisplay.vue.d.ts +42 -0
  51. package/dist/src/components/search-results/filters/facets/FacetList.vue.d.ts +50 -0
  52. package/dist/src/components/search-results/filters/facets/Facets.vue.d.ts +30 -0
  53. package/dist/src/components/search-results/filters/facets/HierarchyFacet.vue.d.ts +33 -0
  54. package/dist/src/components/search-results/filters/facets/HierarchyFacetLevel.vue.d.ts +41 -0
  55. package/dist/src/components/search-results/filters/facets/StatsFacet.vue.d.ts +33 -0
  56. package/dist/src/components/search-results/filters/facets/TermFacet.vue.d.ts +33 -0
  57. package/dist/src/components/search-results/products/SearchResultsLayoutSelection.vue.d.ts +2 -0
  58. package/dist/src/components/search-results/products/SearchResultsMobileToggle.vue.d.ts +21 -0
  59. package/dist/src/components/search-results/products/SearchResultsProducts.vue.d.ts +14 -0
  60. package/dist/src/components/search-results/products/SearchResultsSummary.vue.d.ts +21 -0
  61. package/dist/src/components/search-results/products/SearchResultsToolbar.vue.d.ts +22 -0
  62. package/dist/src/components/search-results/products/pagination/SearchResultsPageSelect.vue.d.ts +30 -0
  63. package/dist/src/components/search-results/products/pagination/SearchResultsPageSize.vue.d.ts +22 -0
  64. package/dist/src/components/search-results/products/product-card/SearchResultsProductCard.vue.d.ts +40 -0
  65. package/dist/src/components/search-results/products/product-card/badges/CustomBadge.vue.d.ts +14 -0
  66. package/dist/src/components/search-results/products/product-card/badges/ImageBadge.vue.d.ts +14 -0
  67. package/dist/src/components/search-results/products/product-card/badges/SearchResultGeneratedBadges.vue.d.ts +14 -0
  68. package/dist/src/components/search-results/products/product-card/badges/SearchResultsBadgeWrapper.vue.d.ts +22 -0
  69. package/dist/src/components/search-results/products/product-card/badges/TextBadge.vue.d.ts +14 -0
  70. package/dist/src/components/search-results/products/product-card/elements/SearchResultsProductAddToCart.vue.d.ts +33 -0
  71. package/dist/src/components/search-results/products/product-card/elements/SearchResultsProductCardElement.vue.d.ts +50 -0
  72. package/dist/src/components/search-results/products/product-card/elements/SearchResultsProductCustom.vue.d.ts +23 -0
  73. package/dist/src/components/search-results/products/product-card/elements/SearchResultsProductDescription.vue.d.ts +23 -0
  74. package/dist/src/components/search-results/products/product-card/elements/SearchResultsProductImage.vue.d.ts +23 -0
  75. package/dist/src/components/search-results/products/product-card/elements/SearchResultsProductPrice.vue.d.ts +32 -0
  76. package/dist/src/components/search-results/products/product-card/elements/SearchResultsProductRating.vue.d.ts +23 -0
  77. package/dist/src/components/search-results/products/product-card/elements/SearchResultsProductRegularPrice.vue.d.ts +32 -0
  78. package/dist/src/components/search-results/products/product-card/elements/SearchResultsProductSingleStarRating.vue.d.ts +23 -0
  79. package/dist/src/components/search-results/products/product-card/elements/SearchResultsProductTitle.vue.d.ts +31 -0
  80. package/dist/src/components/search-results/products/product-card/elements/custom/SearchResultsProductCustomHtmlElement.vue.d.ts +23 -0
  81. package/dist/src/components/search-results/products/similar-queries/SearchResultsSimilarQueries.vue.d.ts +31 -0
  82. package/dist/src/components/search-results/products/similar-queries/SimilarQueryText.vue.d.ts +22 -0
  83. package/dist/src/components/search-results/products/sort/SearchResultsSort.vue.d.ts +14 -0
  84. package/dist/src/constants/global.const.d.ts +17 -0
  85. package/dist/src/constants/queryParams.const.d.ts +26 -0
  86. package/dist/src/constants/searchBox.const.d.ts +48 -0
  87. package/dist/src/constants/searchResults.const.d.ts +107 -0
  88. package/dist/src/index.d.ts +21 -0
  89. package/dist/src/stores/dynamicData.d.ts +24 -0
  90. package/dist/src/stores/history.d.ts +31 -0
  91. package/dist/src/stores/options.d.ts +75 -0
  92. package/dist/src/stores/params.d.ts +124 -0
  93. package/dist/src/stores/screen.d.ts +22 -0
  94. package/dist/src/stores/searchBox.d.ts +204 -0
  95. package/dist/src/stores/searchResult.d.ts +125 -0
  96. package/dist/src/stores/tracking.d.ts +46 -0
  97. package/dist/src/types/AnalyticsOptions.d.ts +14 -0
  98. package/dist/src/types/DocumentElement.d.ts +91 -0
  99. package/dist/src/types/General.d.ts +20 -0
  100. package/dist/src/types/product-list/ProductListOptions.d.ts +29 -0
  101. package/dist/src/types/recommendations/RecommendationsOptions.d.ts +26 -0
  102. package/dist/src/types/search-box/Common.d.ts +51 -0
  103. package/dist/src/types/search-box/SearchBoxHistory.d.ts +6 -0
  104. package/dist/src/types/search-box/SearchBoxOptions.d.ts +36 -0
  105. package/dist/src/types/search-box/SearchBoxPanel.d.ts +28 -0
  106. package/dist/src/types/search-container/SearchContainerOptions.d.ts +15 -0
  107. package/dist/src/types/search-results/BadgeOptions.d.ts +61 -0
  108. package/dist/src/types/search-results/FacetAction.d.ts +16 -0
  109. package/dist/src/types/search-results/Filters.d.ts +9 -0
  110. package/dist/src/types/search-results/PaginationOptions.d.ts +20 -0
  111. package/dist/src/types/search-results/QueryParams.d.ts +4 -0
  112. package/dist/src/types/search-results/ResultsLayout.d.ts +5 -0
  113. package/dist/src/types/search-results/RoutingBehavior.d.ts +1 -0
  114. package/dist/src/types/search-results/SearchResultsAdditionalPanelOptions.d.ts +16 -0
  115. package/dist/src/types/search-results/SearchResultsOptions.d.ts +177 -0
  116. package/dist/src/types/search-results/SearchResultsPagination.d.ts +21 -0
  117. package/dist/src/types/search-results/SearchResultsProductCardOptions.d.ts +24 -0
  118. package/dist/src/types/search-results/SearchResultsSort.d.ts +11 -0
  119. package/dist/src/utils/debounce.utils.d.ts +1 -0
  120. package/dist/src/utils/document.utils.d.ts +1 -0
  121. package/dist/src/utils/event.utils.d.ts +2 -0
  122. package/dist/src/utils/filter.toggle.utils.d.ts +23 -0
  123. package/dist/src/utils/filter.utils.d.ts +11 -0
  124. package/dist/src/utils/history.utils.d.ts +2 -0
  125. package/dist/src/utils/link.utils.d.ts +6 -0
  126. package/dist/src/utils/params.utils.d.ts +9 -0
  127. package/dist/src/utils/picker.utils.d.ts +5 -0
  128. package/dist/src/utils/price.utils.d.ts +2 -0
  129. package/dist/src/utils/query.utils.d.ts +5 -0
  130. package/dist/src/utils/routing.utils.d.ts +6 -0
  131. package/dist/src/utils/scroll.utils.d.ts +4 -0
  132. package/dist/src/utils/string.utils.d.ts +9 -0
  133. package/dist/src/utils/suggestion.utils.d.ts +3 -0
  134. package/dist/src/utils/tracking.utils.d.ts +15 -0
  135. package/dist/style.css +1 -0
  136. package/dist/style.js +1 -0
  137. package/env.d.ts +1 -0
  138. package/index.html +13 -0
  139. package/package.json +62 -0
  140. package/tsconfig.app.json +18 -0
  141. package/tsconfig.node.json +15 -0
  142. package/vite.config.ts +35 -0
@@ -0,0 +1,23 @@
1
+ import type { PropType as __PropType } from 'vue';
2
+ import type { CustomHtmlElement } from '../../../../../../types/DocumentElement';
3
+ import type { Document } from '@getlupa/client-sdk/Types';
4
+ declare const _sfc_main: import("vue").DefineComponent<{
5
+ item: {
6
+ type: __PropType<Document>;
7
+ required: true;
8
+ };
9
+ options: {
10
+ type: __PropType<CustomHtmlElement>;
11
+ required: true;
12
+ };
13
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
14
+ item: {
15
+ type: __PropType<Document>;
16
+ required: true;
17
+ };
18
+ options: {
19
+ type: __PropType<CustomHtmlElement>;
20
+ required: true;
21
+ };
22
+ }>>, {}, {}>;
23
+ export default _sfc_main;
@@ -0,0 +1,31 @@
1
+ import type { PropType as __PropType } from 'vue';
2
+ import type { SearchResultsSimilarQueriesLabels } from '../../../../types/search-results/SearchResultsOptions';
3
+ import type { SearchResultsProductCardOptions } from '../../../../types/search-results/SearchResultsProductCardOptions';
4
+ declare const _sfc_main: import("vue").DefineComponent<{
5
+ labels: {
6
+ type: __PropType<SearchResultsSimilarQueriesLabels>;
7
+ required: true;
8
+ };
9
+ columnSize: {
10
+ type: __PropType<string>;
11
+ required: true;
12
+ };
13
+ productCardOptions: {
14
+ type: __PropType<SearchResultsProductCardOptions>;
15
+ required: true;
16
+ };
17
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
18
+ labels: {
19
+ type: __PropType<SearchResultsSimilarQueriesLabels>;
20
+ required: true;
21
+ };
22
+ columnSize: {
23
+ type: __PropType<string>;
24
+ required: true;
25
+ };
26
+ productCardOptions: {
27
+ type: __PropType<SearchResultsProductCardOptions>;
28
+ required: true;
29
+ };
30
+ }>>, {}, {}>;
31
+ export default _sfc_main;
@@ -0,0 +1,22 @@
1
+ import type { PropType as __PropType } from 'vue';
2
+ import type { SimilarQueryResult } from '@getlupa/client-sdk/Types';
3
+ declare const _sfc_main: import("vue").DefineComponent<{
4
+ similarQuery: {
5
+ type: __PropType<SimilarQueryResult>;
6
+ required: true;
7
+ };
8
+ label: {
9
+ type: __PropType<string>;
10
+ required: true;
11
+ };
12
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
13
+ similarQuery: {
14
+ type: __PropType<SimilarQueryResult>;
15
+ required: true;
16
+ };
17
+ label: {
18
+ type: __PropType<string>;
19
+ required: true;
20
+ };
21
+ }>>, {}, {}>;
22
+ export default _sfc_main;
@@ -0,0 +1,14 @@
1
+ import type { PropType as __PropType } from 'vue';
2
+ import type { SortOptions } from '../../../../types/search-results/SearchResultsSort';
3
+ declare const _sfc_main: import("vue").DefineComponent<{
4
+ options: {
5
+ type: __PropType<SortOptions>;
6
+ required: true;
7
+ };
8
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
9
+ options: {
10
+ type: __PropType<SortOptions>;
11
+ required: true;
12
+ };
13
+ }>>, {}, {}>;
14
+ export default _sfc_main;
@@ -0,0 +1,17 @@
1
+ export declare const HISTORY_LOCAL_STORAGE_KEY = "LUPA_HISTORY";
2
+ export declare const TRACKING_STORAGE_KEY = "LUPA_STATS";
3
+ export declare const TRACKING_STORAGE_KEY_BASE = "LUPA_STATS_BASE";
4
+ export declare const TRACKING_ANALYTICS_KEY = "LUPA_ANALYTICS";
5
+ export declare const TRACKING_KEY_LENGTH = 10;
6
+ export declare const HISTORY_MAX_ITEMS = 7;
7
+ export declare const S_MIN_WIDTH = 575;
8
+ export declare const MD_MIN_WIDTH = 767;
9
+ export declare const L_MIN_WIDTH = 991;
10
+ export declare const XL_MIN_WIDTH = 1199;
11
+ export declare const MAX_FACET_VALUES = 5000;
12
+ export declare const CURRENCY_KEY_INDICATOR = "price";
13
+ export declare const DEFAULT_PAGE_SIZE = 12;
14
+ export declare const DEFAULT_PAGE_SIZE_SELECTION: number[];
15
+ export declare const LUPA_ROUTING_EVENT = "lupaRedirect";
16
+ export declare const DEFAULT_CONTAINER_STYLE = "containerStyle.css";
17
+ export declare const RATING_STAR_HTML = "&#x2606;";
@@ -0,0 +1,26 @@
1
+ export declare const QUERY_PARAMS: {
2
+ QUERY: string;
3
+ PAGE: string;
4
+ LIMIT: string;
5
+ SORT: string;
6
+ };
7
+ export declare const QUERY_PARAMS_PARSED: {
8
+ QUERY: string;
9
+ PAGE: string;
10
+ LIMIT: string;
11
+ SORT: string;
12
+ };
13
+ export declare const FACET_PARAMS_TYPE: {
14
+ TERMS: string;
15
+ RANGE: string;
16
+ HIERARCHY: string;
17
+ };
18
+ export declare const FACET_FILTER_MAP: {
19
+ terms: string;
20
+ range: string;
21
+ hierarchy: string;
22
+ };
23
+ export declare const FACET_KEY_SEPARATOR = ".";
24
+ export declare const FACET_RANGE_SEPARATOR = ":";
25
+ export declare const HIERARCHY_SEPARATOR = ">";
26
+ export declare const FACET_TERM_RANGE_SEPARATOR = "-";
@@ -0,0 +1,48 @@
1
+ export declare const DEFAULT_SEARCH_BOX_OPTIONS: {
2
+ inputSelector: string;
3
+ options: {
4
+ environment: string;
5
+ };
6
+ showTotalCount: boolean;
7
+ minInputLength: number;
8
+ inputAttributes: {
9
+ name: string;
10
+ };
11
+ debounce: number;
12
+ labels: {
13
+ placeholder: string;
14
+ noResults: string;
15
+ moreResults: string;
16
+ currency: string;
17
+ defaultFacetLabel: string;
18
+ };
19
+ links: {
20
+ searchResults: string;
21
+ };
22
+ panels: ({
23
+ type: string;
24
+ queryKey: string;
25
+ highlight: boolean;
26
+ limit: number;
27
+ searchBySuggestion?: undefined;
28
+ links?: undefined;
29
+ titleKey?: undefined;
30
+ elements?: undefined;
31
+ } | {
32
+ type: string;
33
+ queryKey: string;
34
+ limit: number;
35
+ searchBySuggestion: boolean;
36
+ links: {
37
+ details: string;
38
+ };
39
+ titleKey: string;
40
+ elements: any[];
41
+ highlight?: undefined;
42
+ })[];
43
+ history: {
44
+ labels: {
45
+ clear: string;
46
+ };
47
+ };
48
+ };
@@ -0,0 +1,107 @@
1
+ import type { AnchorPosition } from '../types/search-results/SearchResultsProductCardOptions';
2
+ import type { FacetStyle } from '../types/search-results/SearchResultsOptions';
3
+ export declare const DEFAULT_OPTIONS_RESULTS: {
4
+ options: {
5
+ environment: string;
6
+ };
7
+ queryKey: string;
8
+ containerSelector: string;
9
+ searchTitlePosition: string;
10
+ labels: {
11
+ pageSize: string;
12
+ sortBy: string;
13
+ itemCount: string;
14
+ filteredItemCount: string;
15
+ currency: string;
16
+ showMore: string;
17
+ searchResults: string;
18
+ emptyResults: string;
19
+ mobileFilterButton: string;
20
+ htmlTitleTemplate: string;
21
+ noResultsSuggestion: string;
22
+ didYouMean: string;
23
+ similarQuery: string;
24
+ similarQueries: string;
25
+ };
26
+ grid: {
27
+ columns: {
28
+ xl: number;
29
+ l: number;
30
+ md: number;
31
+ sm: number;
32
+ xs: number;
33
+ };
34
+ };
35
+ pagination: {
36
+ sizeSelection: {
37
+ position: {
38
+ top: boolean;
39
+ bottom: boolean;
40
+ };
41
+ sizes: number[];
42
+ };
43
+ pageSelection: {
44
+ position: {
45
+ top: boolean;
46
+ bottom: boolean;
47
+ };
48
+ display: number;
49
+ displayMobile: number;
50
+ };
51
+ };
52
+ sort: any[];
53
+ filters: {
54
+ currentFilters: {
55
+ visibility: {
56
+ mobileSidebar: boolean;
57
+ mobileToolbar: boolean;
58
+ };
59
+ labels: {
60
+ title: string;
61
+ clearAll: string;
62
+ };
63
+ };
64
+ facets: {
65
+ labels: {
66
+ title: string;
67
+ showAll: string;
68
+ facetFilter: string;
69
+ facetClear: string;
70
+ };
71
+ filterable: {
72
+ minValues: number;
73
+ };
74
+ hierarchy: {
75
+ maxInitialLevel: number;
76
+ topLevelValueCountLimit: number;
77
+ filterable: boolean;
78
+ };
79
+ facetValueCountLimit: number;
80
+ showDocumentCount: boolean;
81
+ style: {
82
+ type: FacetStyle;
83
+ };
84
+ };
85
+ };
86
+ toolbar: {
87
+ layoutSelector: boolean;
88
+ itemSummary: boolean;
89
+ clearFilters: boolean;
90
+ };
91
+ isInStock: () => boolean;
92
+ badges: {
93
+ anchor: AnchorPosition;
94
+ elements: any[];
95
+ };
96
+ links: {
97
+ details: string;
98
+ };
99
+ elements: any[];
100
+ breadcrumbs: ({
101
+ label: string;
102
+ link: string;
103
+ } | {
104
+ label: string;
105
+ link?: undefined;
106
+ })[];
107
+ };
@@ -0,0 +1,21 @@
1
+ import type { Environment, SdkOptions, SortDirection, TrackingOptions } from './types/General';
2
+ import { DocumentElementType } from './types/DocumentElement';
3
+ import type { DocumentElement, ImageDocumentElement, TitleDocumentElement, DescriptionDocumentElement, CustomDocumentElement, PriceElement, RegularPriceDocumentElement, RatingElement, AddToCartElement, CustomHtmlElement, SingleStarRatingElement } from './types/DocumentElement';
4
+ import type { ProductListOptions, CategoryFilterOptions } from './types/product-list/ProductListOptions';
5
+ import type { ProductRecommendationOptions, RecommendationABTestingOptions } from './types/recommendations/RecommendationsOptions';
6
+ import type { SearchBoxOptions } from './types/search-box/SearchBoxOptions';
7
+ import type { SearchBoxPanelType } from './types/search-box/SearchBoxPanel';
8
+ import type { SearchContainerOptions, SearchContainerConfigOptions } from './types/search-container/SearchContainerOptions';
9
+ import type { BadgeType, SearchResultBadgeType, SearchResultBadgeElement, BadgeGenerateSeed, BadgeGenerateOptions, BadgeOptions } from './types/search-results/BadgeOptions';
10
+ import type { RoutingBehavior } from './types/search-results/RoutingBehavior';
11
+ import type { SearchResultsOptions, FacetStyle, SearchResultEventCallbacks, CallbackContext, FacetFilterQuery, SearchResultsFilterOptions, ResultFacetOptions, DynamicData } from './types/search-results/SearchResultsOptions';
12
+ import type { AnchorPosition } from './types/search-results/SearchResultsProductCardOptions';
13
+ import type { SortOptions, SearchResultsSortOptions } from './types/search-results/SearchResultsSort';
14
+ import SearchBox from './components/search-box/SearchBox.vue';
15
+ import SearchResults from './components/search-results/SearchResults.vue';
16
+ import ProductList from './components/product-list/ProductList.vue';
17
+ import SearchContainer from './components/search-container/SearchContainer.vue';
18
+ import Recommendations from './components/recommendations/Recommendations.vue';
19
+ declare const setupTracking: (options: TrackingOptions) => void;
20
+ export { SearchBox, SearchResults, ProductList, Recommendations, SearchContainer, DocumentElementType, SearchBoxPanelType, BadgeType, setupTracking };
21
+ export type { TrackingOptions, SearchBoxOptions, SearchResultsOptions, ProductListOptions, SdkOptions, FacetStyle, Environment, RoutingBehavior, AnchorPosition, SortDirection, DocumentElement, ImageDocumentElement, TitleDocumentElement, DescriptionDocumentElement, CustomDocumentElement, PriceElement, RegularPriceDocumentElement, RatingElement, AddToCartElement, CustomHtmlElement, SortOptions, SearchResultsSortOptions, SearchResultEventCallbacks, CallbackContext, FacetFilterQuery, CategoryFilterOptions, SearchResultsFilterOptions, SearchResultBadgeType, SearchResultBadgeElement, ResultFacetOptions, BadgeGenerateSeed, BadgeGenerateOptions, BadgeOptions, SearchContainerOptions, SearchContainerConfigOptions, SingleStarRatingElement, DynamicData, ProductRecommendationOptions, RecommendationABTestingOptions };
@@ -0,0 +1,24 @@
1
+ import { type Ref } from 'vue';
2
+ import type { SearchQueryResult } from '@getlupa/client-sdk/Types';
3
+ export declare const useDynamicDataStore: import("pinia").StoreDefinition<"dynamicData", import("pinia")._UnwrapAll<Pick<{
4
+ dynamicDataIdMap: Ref<Record<string, Document>>;
5
+ loading: Ref<boolean>;
6
+ enhanceSearchResultsWithDynamicData: ({ result, mode }: {
7
+ result?: SearchQueryResult;
8
+ mode?: 'searchBox' | 'searchResults';
9
+ }) => Promise<{}>;
10
+ }, "dynamicDataIdMap" | "loading">>, Pick<{
11
+ dynamicDataIdMap: Ref<Record<string, Document>>;
12
+ loading: Ref<boolean>;
13
+ enhanceSearchResultsWithDynamicData: ({ result, mode }: {
14
+ result?: SearchQueryResult;
15
+ mode?: 'searchBox' | 'searchResults';
16
+ }) => Promise<{}>;
17
+ }, never>, Pick<{
18
+ dynamicDataIdMap: Ref<Record<string, Document>>;
19
+ loading: Ref<boolean>;
20
+ enhanceSearchResultsWithDynamicData: ({ result, mode }: {
21
+ result?: SearchQueryResult;
22
+ mode?: 'searchBox' | 'searchResults';
23
+ }) => Promise<{}>;
24
+ }, "enhanceSearchResultsWithDynamicData">>;
@@ -0,0 +1,31 @@
1
+ export declare const useHistoryStore: import("pinia").StoreDefinition<"history", import("pinia")._UnwrapAll<Pick<{
2
+ items: import("vue").Ref<string[]>;
3
+ count: import("vue").ComputedRef<number>;
4
+ add: ({ item }: {
5
+ item?: string;
6
+ }) => string[];
7
+ remove: ({ item }: {
8
+ item: string;
9
+ }) => string[];
10
+ clear: () => void;
11
+ }, "items">>, Pick<{
12
+ items: import("vue").Ref<string[]>;
13
+ count: import("vue").ComputedRef<number>;
14
+ add: ({ item }: {
15
+ item?: string;
16
+ }) => string[];
17
+ remove: ({ item }: {
18
+ item: string;
19
+ }) => string[];
20
+ clear: () => void;
21
+ }, "count">, Pick<{
22
+ items: import("vue").Ref<string[]>;
23
+ count: import("vue").ComputedRef<number>;
24
+ add: ({ item }: {
25
+ item?: string;
26
+ }) => string[];
27
+ remove: ({ item }: {
28
+ item: string;
29
+ }) => string[];
30
+ clear: () => void;
31
+ }, "add" | "remove" | "clear">>;
@@ -0,0 +1,75 @@
1
+ import { type Ref } from 'vue';
2
+ import type { SearchBoxOptions } from '../types/search-box/SearchBoxOptions';
3
+ import type { SearchResultsOptions } from '../types/search-results/SearchResultsOptions';
4
+ import type { TrackingOptions } from '../types/General';
5
+ import type { FilterGroup } from '@getlupa/client-sdk/Types';
6
+ export declare const useOptionsStore: import("pinia").StoreDefinition<"options", import("pinia")._UnwrapAll<Pick<{
7
+ searchBoxOptions: Ref<SearchBoxOptions>;
8
+ searchResultOptions: Ref<SearchResultsOptions>;
9
+ trackingOptions: Ref<TrackingOptions>;
10
+ envOptions: import("vue").ComputedRef<import('../types/General').SdkOptions>;
11
+ classMap: import("vue").ComputedRef<Record<string, string>>;
12
+ initialFilters: import("vue").ComputedRef<FilterGroup>;
13
+ boxRoutingBehavior: import("vue").ComputedRef<import("..").RoutingBehavior>;
14
+ searchResultsRoutingBehavior: import("vue").ComputedRef<import("..").RoutingBehavior>;
15
+ defaultSearchResultPageSize: import("vue").ComputedRef<number>;
16
+ currentResolutionPageSizes: import("vue").ComputedRef<number[]>;
17
+ setSearchBoxOptions: ({ options }: {
18
+ options: SearchBoxOptions;
19
+ }) => void;
20
+ setTrackingOptions: ({ options }: {
21
+ options: TrackingOptions;
22
+ }) => void;
23
+ setSearchResultOptions: ({ options }: {
24
+ options: SearchResultsOptions;
25
+ }) => void;
26
+ setInitialFilters: ({ initialFilters }: {
27
+ initialFilters: FilterGroup;
28
+ }) => void;
29
+ }, "searchBoxOptions" | "searchResultOptions" | "trackingOptions">>, Pick<{
30
+ searchBoxOptions: Ref<SearchBoxOptions>;
31
+ searchResultOptions: Ref<SearchResultsOptions>;
32
+ trackingOptions: Ref<TrackingOptions>;
33
+ envOptions: import("vue").ComputedRef<import('../types/General').SdkOptions>;
34
+ classMap: import("vue").ComputedRef<Record<string, string>>;
35
+ initialFilters: import("vue").ComputedRef<FilterGroup>;
36
+ boxRoutingBehavior: import("vue").ComputedRef<import("..").RoutingBehavior>;
37
+ searchResultsRoutingBehavior: import("vue").ComputedRef<import("..").RoutingBehavior>;
38
+ defaultSearchResultPageSize: import("vue").ComputedRef<number>;
39
+ currentResolutionPageSizes: import("vue").ComputedRef<number[]>;
40
+ setSearchBoxOptions: ({ options }: {
41
+ options: SearchBoxOptions;
42
+ }) => void;
43
+ setTrackingOptions: ({ options }: {
44
+ options: TrackingOptions;
45
+ }) => void;
46
+ setSearchResultOptions: ({ options }: {
47
+ options: SearchResultsOptions;
48
+ }) => void;
49
+ setInitialFilters: ({ initialFilters }: {
50
+ initialFilters: FilterGroup;
51
+ }) => void;
52
+ }, "initialFilters" | "envOptions" | "classMap" | "boxRoutingBehavior" | "searchResultsRoutingBehavior" | "defaultSearchResultPageSize" | "currentResolutionPageSizes">, Pick<{
53
+ searchBoxOptions: Ref<SearchBoxOptions>;
54
+ searchResultOptions: Ref<SearchResultsOptions>;
55
+ trackingOptions: Ref<TrackingOptions>;
56
+ envOptions: import("vue").ComputedRef<import('../types/General').SdkOptions>;
57
+ classMap: import("vue").ComputedRef<Record<string, string>>;
58
+ initialFilters: import("vue").ComputedRef<FilterGroup>;
59
+ boxRoutingBehavior: import("vue").ComputedRef<import("..").RoutingBehavior>;
60
+ searchResultsRoutingBehavior: import("vue").ComputedRef<import("..").RoutingBehavior>;
61
+ defaultSearchResultPageSize: import("vue").ComputedRef<number>;
62
+ currentResolutionPageSizes: import("vue").ComputedRef<number[]>;
63
+ setSearchBoxOptions: ({ options }: {
64
+ options: SearchBoxOptions;
65
+ }) => void;
66
+ setTrackingOptions: ({ options }: {
67
+ options: TrackingOptions;
68
+ }) => void;
69
+ setSearchResultOptions: ({ options }: {
70
+ options: SearchResultsOptions;
71
+ }) => void;
72
+ setInitialFilters: ({ initialFilters }: {
73
+ initialFilters: FilterGroup;
74
+ }) => void;
75
+ }, "setSearchBoxOptions" | "setTrackingOptions" | "setSearchResultOptions" | "setInitialFilters">>;
@@ -0,0 +1,124 @@
1
+ import { type Ref } from 'vue';
2
+ import type { QueryParams } from '../types/search-results/QueryParams';
3
+ import type { InputSuggestionFacet } from '../types/search-box/Common';
4
+ export declare const useParamsStore: import("pinia").StoreDefinition<"params", import("pinia")._UnwrapAll<Pick<{
5
+ params: Ref<QueryParams>;
6
+ defaultLimit: Ref<number>;
7
+ searchResultsLink: Ref<string>;
8
+ searchString: Ref<string>;
9
+ query: import("vue").ComputedRef<string>;
10
+ page: import("vue").ComputedRef<number>;
11
+ limit: import("vue").ComputedRef<number>;
12
+ sort: import("vue").ComputedRef<string>;
13
+ filters: import("vue").ComputedRef<import("@getlupa/client-sdk/Types").FilterGroup>;
14
+ add: (newParams: QueryParams) => {
15
+ params: QueryParams;
16
+ };
17
+ removeAllFilters: () => void;
18
+ removeParameters: ({ paramsToRemove, save }: {
19
+ paramsToRemove?: 'all' | string[];
20
+ save?: boolean;
21
+ }) => void;
22
+ handleNoResultsFlag: ({ resultCount, noResultsParam }: {
23
+ resultCount: number;
24
+ noResultsParam?: string;
25
+ }) => void;
26
+ goToResults: ({ searchText, facet }: {
27
+ searchText: string;
28
+ facet?: InputSuggestionFacet;
29
+ }) => void;
30
+ appendParams: ({ params: newParams, paramsToRemove, encode, save, searchResultsLink }: {
31
+ params: {
32
+ name: string;
33
+ value: string;
34
+ }[];
35
+ paramsToRemove?: 'all' | string[];
36
+ encode?: boolean;
37
+ save?: boolean;
38
+ searchResultsLink?: string;
39
+ }) => {
40
+ params: QueryParams;
41
+ };
42
+ setDefaultLimit: (newDefaultLimit: number) => number;
43
+ setSearchResultsLink: (newSearchResultsLink: string) => void;
44
+ }, "params" | "searchResultsLink" | "defaultLimit" | "searchString">>, Pick<{
45
+ params: Ref<QueryParams>;
46
+ defaultLimit: Ref<number>;
47
+ searchResultsLink: Ref<string>;
48
+ searchString: Ref<string>;
49
+ query: import("vue").ComputedRef<string>;
50
+ page: import("vue").ComputedRef<number>;
51
+ limit: import("vue").ComputedRef<number>;
52
+ sort: import("vue").ComputedRef<string>;
53
+ filters: import("vue").ComputedRef<import("@getlupa/client-sdk/Types").FilterGroup>;
54
+ add: (newParams: QueryParams) => {
55
+ params: QueryParams;
56
+ };
57
+ removeAllFilters: () => void;
58
+ removeParameters: ({ paramsToRemove, save }: {
59
+ paramsToRemove?: 'all' | string[];
60
+ save?: boolean;
61
+ }) => void;
62
+ handleNoResultsFlag: ({ resultCount, noResultsParam }: {
63
+ resultCount: number;
64
+ noResultsParam?: string;
65
+ }) => void;
66
+ goToResults: ({ searchText, facet }: {
67
+ searchText: string;
68
+ facet?: InputSuggestionFacet;
69
+ }) => void;
70
+ appendParams: ({ params: newParams, paramsToRemove, encode, save, searchResultsLink }: {
71
+ params: {
72
+ name: string;
73
+ value: string;
74
+ }[];
75
+ paramsToRemove?: 'all' | string[];
76
+ encode?: boolean;
77
+ save?: boolean;
78
+ searchResultsLink?: string;
79
+ }) => {
80
+ params: QueryParams;
81
+ };
82
+ setDefaultLimit: (newDefaultLimit: number) => number;
83
+ setSearchResultsLink: (newSearchResultsLink: string) => void;
84
+ }, "sort" | "filters" | "query" | "page" | "limit">, Pick<{
85
+ params: Ref<QueryParams>;
86
+ defaultLimit: Ref<number>;
87
+ searchResultsLink: Ref<string>;
88
+ searchString: Ref<string>;
89
+ query: import("vue").ComputedRef<string>;
90
+ page: import("vue").ComputedRef<number>;
91
+ limit: import("vue").ComputedRef<number>;
92
+ sort: import("vue").ComputedRef<string>;
93
+ filters: import("vue").ComputedRef<import("@getlupa/client-sdk/Types").FilterGroup>;
94
+ add: (newParams: QueryParams) => {
95
+ params: QueryParams;
96
+ };
97
+ removeAllFilters: () => void;
98
+ removeParameters: ({ paramsToRemove, save }: {
99
+ paramsToRemove?: 'all' | string[];
100
+ save?: boolean;
101
+ }) => void;
102
+ handleNoResultsFlag: ({ resultCount, noResultsParam }: {
103
+ resultCount: number;
104
+ noResultsParam?: string;
105
+ }) => void;
106
+ goToResults: ({ searchText, facet }: {
107
+ searchText: string;
108
+ facet?: InputSuggestionFacet;
109
+ }) => void;
110
+ appendParams: ({ params: newParams, paramsToRemove, encode, save, searchResultsLink }: {
111
+ params: {
112
+ name: string;
113
+ value: string;
114
+ }[];
115
+ paramsToRemove?: 'all' | string[];
116
+ encode?: boolean;
117
+ save?: boolean;
118
+ searchResultsLink?: string;
119
+ }) => {
120
+ params: QueryParams;
121
+ };
122
+ setDefaultLimit: (newDefaultLimit: number) => number;
123
+ setSearchResultsLink: (newSearchResultsLink: string) => void;
124
+ }, "add" | "removeAllFilters" | "removeParameters" | "handleNoResultsFlag" | "goToResults" | "appendParams" | "setDefaultLimit" | "setSearchResultsLink">>;
@@ -0,0 +1,22 @@
1
+ export declare const useScreenStore: import("pinia").StoreDefinition<"screen", import("pinia")._UnwrapAll<Pick<{
2
+ screenWidth: import("vue").Ref<number>;
3
+ currentScreenWidth: import("vue").ComputedRef<"xs" | "sm" | "md" | "l" | "xl">;
4
+ isMobileWidth: import("vue").ComputedRef<boolean>;
5
+ setScreenWidth: ({ width }: {
6
+ width: number;
7
+ }) => void;
8
+ }, "screenWidth">>, Pick<{
9
+ screenWidth: import("vue").Ref<number>;
10
+ currentScreenWidth: import("vue").ComputedRef<"xs" | "sm" | "md" | "l" | "xl">;
11
+ isMobileWidth: import("vue").ComputedRef<boolean>;
12
+ setScreenWidth: ({ width }: {
13
+ width: number;
14
+ }) => void;
15
+ }, "currentScreenWidth" | "isMobileWidth">, Pick<{
16
+ screenWidth: import("vue").Ref<number>;
17
+ currentScreenWidth: import("vue").ComputedRef<"xs" | "sm" | "md" | "l" | "xl">;
18
+ isMobileWidth: import("vue").ComputedRef<boolean>;
19
+ setScreenWidth: ({ width }: {
20
+ width: number;
21
+ }) => void;
22
+ }, "setScreenWidth">>;