@getlupa/client 0.5.0 → 0.5.1-alpha-3
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.
- package/dist/cjs/ProductListEntry.vue.d.ts +5 -0
- package/dist/cjs/components/product-list/CategoryDescription.vue.d.ts +8 -0
- package/dist/cjs/components/product-list/CategoryFilter.vue.d.ts +20 -0
- package/dist/cjs/components/product-list/CategoryFilterItem.vue.d.ts +12 -0
- package/dist/cjs/components/product-list/ProductList.vue.d.ts +6 -0
- package/dist/cjs/components/search-results/SearchResults.vue.d.ts +23 -4
- package/dist/cjs/components/search-results/SearchResultsTitle.vue.d.ts +13 -0
- package/dist/cjs/components/search-results/filters/CurrentFilters.vue.d.ts +3 -2
- package/dist/cjs/components/search-results/filters/MobileFilterSidebar.vue.d.ts +4 -0
- package/dist/cjs/components/search-results/filters/facets/FacetList.vue.d.ts +1 -0
- package/dist/cjs/components/search-results/filters/facets/StatsFacet.vue.d.ts +12 -1
- package/dist/cjs/components/search-results/filters/facets/TermFacet.vue.d.ts +2 -1
- package/dist/cjs/components/search-results/products/SearchResultsMobileToggle.vue.d.ts +2 -0
- package/dist/cjs/components/search-results/products/SearchResultsToolbar.vue.d.ts +1 -0
- package/dist/cjs/components/search-results/products/product-card/SearchResultsProductCard.vue.d.ts +3 -0
- package/dist/cjs/components/search-results/products/product-card/elements/SearchResultsProductTitle.vue.d.ts +4 -0
- package/dist/cjs/constants/development/searchBoxDev.example.const.d.ts +1 -0
- package/dist/cjs/constants/development/searchProductListDev.example.d.ts +28 -0
- package/dist/cjs/constants/development/searchResultsDev.example.const.d.ts +16 -0
- package/dist/cjs/constants/global.const.d.ts +1 -0
- package/dist/cjs/constants/searchResults.const.d.ts +1 -0
- package/dist/cjs/index-iife.d.ts +5 -0
- package/dist/cjs/index.d.ts +3 -0
- package/dist/cjs/index.min.js +2589 -1477
- package/dist/cjs/store/modules/options.d.ts +6 -1
- package/dist/cjs/store/modules/params.d.ts +7 -5
- package/dist/cjs/store/modules/searchResult.d.ts +4 -0
- package/dist/cjs/types/product-list/ProductListOptions.d.ts +28 -0
- package/dist/cjs/types/search-results/RoutingBehavior.d.ts +1 -0
- package/dist/cjs/types/search-results/SearchResultsOptions.d.ts +21 -0
- package/dist/cjs/types/search-results/SearchResultsProductCardOptions.d.ts +2 -0
- package/dist/cjs/utils/query.utils.d.ts +2 -1
- package/dist/cjs/utils/routing.utils.d.ts +1 -0
- package/dist/es/ProductListEntry.vue.d.ts +5 -0
- package/dist/es/components/product-list/CategoryDescription.vue.d.ts +8 -0
- package/dist/es/components/product-list/CategoryFilter.vue.d.ts +20 -0
- package/dist/es/components/product-list/CategoryFilterItem.vue.d.ts +12 -0
- package/dist/es/components/product-list/ProductList.vue.d.ts +6 -0
- package/dist/es/components/search-results/SearchResults.vue.d.ts +23 -4
- package/dist/es/components/search-results/SearchResultsTitle.vue.d.ts +13 -0
- package/dist/es/components/search-results/filters/CurrentFilters.vue.d.ts +3 -2
- package/dist/es/components/search-results/filters/MobileFilterSidebar.vue.d.ts +4 -0
- package/dist/es/components/search-results/filters/facets/FacetList.vue.d.ts +1 -0
- package/dist/es/components/search-results/filters/facets/StatsFacet.vue.d.ts +12 -1
- package/dist/es/components/search-results/filters/facets/TermFacet.vue.d.ts +2 -1
- package/dist/es/components/search-results/products/SearchResultsMobileToggle.vue.d.ts +2 -0
- package/dist/es/components/search-results/products/SearchResultsToolbar.vue.d.ts +1 -0
- package/dist/es/components/search-results/products/product-card/SearchResultsProductCard.vue.d.ts +3 -0
- package/dist/es/components/search-results/products/product-card/elements/SearchResultsProductTitle.vue.d.ts +4 -0
- package/dist/es/constants/development/searchBoxDev.example.const.d.ts +1 -0
- package/dist/es/constants/development/searchProductListDev.example.d.ts +28 -0
- package/dist/es/constants/development/searchResultsDev.example.const.d.ts +16 -0
- package/dist/es/constants/global.const.d.ts +1 -0
- package/dist/es/constants/searchResults.const.d.ts +1 -0
- package/dist/es/index-iife.d.ts +5 -0
- package/dist/es/index.d.ts +3 -0
- package/dist/es/index.min.js +2589 -1477
- package/dist/es/store/modules/options.d.ts +6 -1
- package/dist/es/store/modules/params.d.ts +7 -5
- package/dist/es/store/modules/searchResult.d.ts +4 -0
- package/dist/es/types/product-list/ProductListOptions.d.ts +28 -0
- package/dist/es/types/search-results/RoutingBehavior.d.ts +1 -0
- package/dist/es/types/search-results/SearchResultsOptions.d.ts +21 -0
- package/dist/es/types/search-results/SearchResultsProductCardOptions.d.ts +2 -0
- package/dist/es/utils/query.utils.d.ts +2 -1
- package/dist/es/utils/routing.utils.d.ts +1 -0
- package/dist/iife/ProductListEntry.vue.d.ts +5 -0
- package/dist/iife/components/product-list/CategoryDescription.vue.d.ts +8 -0
- package/dist/iife/components/product-list/CategoryFilter.vue.d.ts +20 -0
- package/dist/iife/components/product-list/CategoryFilterItem.vue.d.ts +12 -0
- package/dist/iife/components/product-list/ProductList.vue.d.ts +6 -0
- package/dist/iife/components/search-results/SearchResults.vue.d.ts +23 -4
- package/dist/iife/components/search-results/SearchResultsTitle.vue.d.ts +13 -0
- package/dist/iife/components/search-results/filters/CurrentFilters.vue.d.ts +3 -2
- package/dist/iife/components/search-results/filters/MobileFilterSidebar.vue.d.ts +4 -0
- package/dist/iife/components/search-results/filters/facets/FacetList.vue.d.ts +1 -0
- package/dist/iife/components/search-results/filters/facets/StatsFacet.vue.d.ts +12 -1
- package/dist/iife/components/search-results/filters/facets/TermFacet.vue.d.ts +2 -1
- package/dist/iife/components/search-results/products/SearchResultsMobileToggle.vue.d.ts +2 -0
- package/dist/iife/components/search-results/products/SearchResultsToolbar.vue.d.ts +1 -0
- package/dist/iife/components/search-results/products/product-card/SearchResultsProductCard.vue.d.ts +3 -0
- package/dist/iife/components/search-results/products/product-card/elements/SearchResultsProductTitle.vue.d.ts +4 -0
- package/dist/iife/constants/development/searchBoxDev.example.const.d.ts +1 -0
- package/dist/iife/constants/development/searchProductListDev.example.d.ts +28 -0
- package/dist/iife/constants/development/searchResultsDev.example.const.d.ts +16 -0
- package/dist/iife/constants/global.const.d.ts +1 -0
- package/dist/iife/constants/searchResults.const.d.ts +1 -0
- package/dist/iife/index-iife.d.ts +5 -0
- package/dist/iife/index.d.ts +3 -0
- package/dist/iife/index.min.js +1 -1
- package/dist/iife/store/modules/options.d.ts +6 -1
- package/dist/iife/store/modules/params.d.ts +7 -5
- package/dist/iife/store/modules/searchResult.d.ts +4 -0
- package/dist/iife/types/product-list/ProductListOptions.d.ts +28 -0
- package/dist/iife/types/search-results/RoutingBehavior.d.ts +1 -0
- package/dist/iife/types/search-results/SearchResultsOptions.d.ts +21 -0
- package/dist/iife/types/search-results/SearchResultsProductCardOptions.d.ts +2 -0
- package/dist/iife/utils/query.utils.d.ts +2 -1
- package/dist/iife/utils/routing.utils.d.ts +1 -0
- package/dist/style.css +1 -1
- package/package.json +1 -1
|
@@ -1,16 +1,21 @@
|
|
|
1
1
|
import { SearchBoxOptions } from "@/types/search-box/SearchBoxOptions";
|
|
2
2
|
import { SearchResultsOptions } from "@/types/search-results/SearchResultsOptions";
|
|
3
|
-
import { Options } from "@getlupa/client-sdk/Types";
|
|
3
|
+
import { FilterGroup, Options } from "@getlupa/client-sdk/Types";
|
|
4
4
|
import { VuexModule } from "vuex-module-decorators";
|
|
5
5
|
export default class OptionsModule extends VuexModule {
|
|
6
6
|
searchBoxOptions: SearchBoxOptions;
|
|
7
7
|
searchResultOptions: SearchResultsOptions;
|
|
8
|
+
searchResultInitialFilters: FilterGroup;
|
|
8
9
|
get envOptions(): Options;
|
|
9
10
|
get classMap(): Record<string, string>;
|
|
11
|
+
get initialFilters(): FilterGroup;
|
|
10
12
|
setSearchBoxOptions({ options }: {
|
|
11
13
|
options: SearchBoxOptions;
|
|
12
14
|
}): void;
|
|
13
15
|
setSearchResultOptions({ options }: {
|
|
14
16
|
options: SearchResultsOptions;
|
|
15
17
|
}): void;
|
|
18
|
+
setInitialFilters({ initialFilters }: {
|
|
19
|
+
initialFilters: FilterGroup;
|
|
20
|
+
}): void;
|
|
16
21
|
}
|
|
@@ -25,25 +25,27 @@ export default class ParamsModule extends VuexModule {
|
|
|
25
25
|
params: QueryParams;
|
|
26
26
|
searchString: string;
|
|
27
27
|
};
|
|
28
|
-
removeParams({ paramsToRemove }: {
|
|
28
|
+
removeParams({ paramsToRemove, save, }: {
|
|
29
29
|
paramsToRemove?: "all" | string[];
|
|
30
|
+
save: boolean;
|
|
30
31
|
}): {
|
|
31
|
-
params
|
|
32
|
-
searchString
|
|
32
|
+
params?: QueryParams;
|
|
33
|
+
searchString?: string;
|
|
33
34
|
};
|
|
34
35
|
goToResults({ searchText, facet, }: {
|
|
35
36
|
searchText: string;
|
|
36
37
|
facet?: InputSuggestionFacet;
|
|
37
38
|
}): void;
|
|
38
|
-
appendParams({ params, paramsToRemove, encode, }: {
|
|
39
|
+
appendParams({ params, paramsToRemove, encode, save, }: {
|
|
39
40
|
params: {
|
|
40
41
|
name: string;
|
|
41
42
|
value: string;
|
|
42
43
|
}[];
|
|
43
44
|
paramsToRemove?: "all" | string[];
|
|
44
45
|
encode?: boolean;
|
|
46
|
+
save?: boolean;
|
|
45
47
|
}): {
|
|
46
|
-
params
|
|
48
|
+
params?: QueryParams;
|
|
47
49
|
searchString?: string;
|
|
48
50
|
};
|
|
49
51
|
setDefaultLimit(defaultLimit: number): {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { LabeledFilter } from "@/types/search-results/Filters";
|
|
1
2
|
import { ResultsLayout } from "@/types/search-results/ResultsLayout";
|
|
2
3
|
import { ProductGrid } from "@/types/search-results/SearchResultsOptions";
|
|
3
4
|
import { FacetResult, FilterGroup, SearchQueryResult } from "@getlupa/client-sdk/Types";
|
|
@@ -15,6 +16,9 @@ export default class SearchResultModule extends VuexModule {
|
|
|
15
16
|
get currentQueryText(): string;
|
|
16
17
|
get totalItems(): number;
|
|
17
18
|
get hasResults(): boolean;
|
|
19
|
+
get labeledFilters(): LabeledFilter[];
|
|
20
|
+
get displayFilters(): LabeledFilter[];
|
|
21
|
+
get currentFilterCount(): number;
|
|
18
22
|
get hasAnyFilter(): boolean;
|
|
19
23
|
get itemRange(): number[];
|
|
20
24
|
setSidebarVisibility({ visible }: {
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { FilterGroup } from "@getlupa/client-sdk/Types";
|
|
2
|
+
import { RoutingBehavior } from "../search-results/RoutingBehavior";
|
|
3
|
+
import { SearchResultsOptions } from "../search-results/SearchResultsOptions";
|
|
4
|
+
export declare type CategoryFilterOptions = {
|
|
5
|
+
queryKey: string;
|
|
6
|
+
routingBehavior?: RoutingBehavior;
|
|
7
|
+
keys: {
|
|
8
|
+
titleKey?: string;
|
|
9
|
+
urlKey?: string;
|
|
10
|
+
};
|
|
11
|
+
filters?: Record<string, string[]>;
|
|
12
|
+
back?: {
|
|
13
|
+
url: string;
|
|
14
|
+
title: string;
|
|
15
|
+
};
|
|
16
|
+
parent?: {
|
|
17
|
+
url: string;
|
|
18
|
+
title: string;
|
|
19
|
+
};
|
|
20
|
+
current?: {
|
|
21
|
+
title: string;
|
|
22
|
+
description: string;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
export declare type ProductListOptions = SearchResultsOptions & {
|
|
26
|
+
initialFilters?: FilterGroup;
|
|
27
|
+
categories?: CategoryFilterOptions;
|
|
28
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare type RoutingBehavior = "direct-link" | "event";
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SdkOptions } from "../General";
|
|
2
|
+
import { CategoryFilterOptions } from "../product-list/ProductListOptions";
|
|
2
3
|
import { SearchResultsAdditionalPanelOptions } from "./SearchResultsAdditionalPanelOptions";
|
|
3
4
|
import { SearchResultsProductCardOptions } from "./SearchResultsProductCardOptions";
|
|
4
5
|
import { SearchResultsSortOptions } from "./SearchResultsSort";
|
|
@@ -6,7 +7,10 @@ export declare type SearchResultsOptions = SearchResultsProductOptions & SearchR
|
|
|
6
7
|
containerSelector: string;
|
|
7
8
|
breadcrumbs: SearchResultsBreadcrumb[];
|
|
8
9
|
classMap?: Record<string, string>;
|
|
10
|
+
searchTitlePosition?: string;
|
|
11
|
+
noResultsQueryFlag?: string;
|
|
9
12
|
};
|
|
13
|
+
export declare type SearchTitlePosition = "page-top" | "search-results-top";
|
|
10
14
|
export declare type SearchResultsDidYouMeanLabels = {
|
|
11
15
|
noResultsSuggestion: string;
|
|
12
16
|
didYouMean: string;
|
|
@@ -19,6 +23,7 @@ export declare type SearchResultsOptionLabels = SearchResultsPaginationLabels &
|
|
|
19
23
|
sortBy: string;
|
|
20
24
|
currency: string;
|
|
21
25
|
priceSeparator?: string;
|
|
26
|
+
searchResults?: string;
|
|
22
27
|
itemCount: string;
|
|
23
28
|
emptyResults: string;
|
|
24
29
|
mobileFilterButton: string;
|
|
@@ -38,6 +43,7 @@ export declare type SearchResultsProductOptions = SearchResultsProductCardOption
|
|
|
38
43
|
layoutSelector?: boolean;
|
|
39
44
|
itemSummary?: boolean;
|
|
40
45
|
clearFilters?: boolean;
|
|
46
|
+
totalCount?: boolean;
|
|
41
47
|
};
|
|
42
48
|
};
|
|
43
49
|
export declare type ProductGrid = {
|
|
@@ -76,12 +82,17 @@ export declare type ResultCurrentFilterOptions = {
|
|
|
76
82
|
mobileSidebar: boolean;
|
|
77
83
|
mobileToolbar: boolean;
|
|
78
84
|
};
|
|
85
|
+
mobileSidebar?: {
|
|
86
|
+
showFilterCount?: boolean;
|
|
87
|
+
activeFiltersExpanded?: boolean;
|
|
88
|
+
};
|
|
79
89
|
};
|
|
80
90
|
export declare type FacetStyle = "sidebar" | "top-dropdown";
|
|
81
91
|
export declare type ResultFacetOptions = {
|
|
82
92
|
labels: {
|
|
83
93
|
title: string;
|
|
84
94
|
showAll: string;
|
|
95
|
+
showLess?: string;
|
|
85
96
|
facetFilter: string;
|
|
86
97
|
facetClear?: string;
|
|
87
98
|
};
|
|
@@ -94,15 +105,25 @@ export declare type ResultFacetOptions = {
|
|
|
94
105
|
topLevelValueCountLimit?: number;
|
|
95
106
|
filterable?: boolean;
|
|
96
107
|
};
|
|
108
|
+
stats?: {
|
|
109
|
+
slider?: boolean;
|
|
110
|
+
inputs?: boolean;
|
|
111
|
+
labels?: {
|
|
112
|
+
from?: string;
|
|
113
|
+
to?: string;
|
|
114
|
+
};
|
|
115
|
+
};
|
|
97
116
|
facetValueCountLimit?: number;
|
|
98
117
|
showDocumentCount?: boolean;
|
|
99
118
|
style?: {
|
|
100
119
|
type: FacetStyle;
|
|
101
120
|
};
|
|
121
|
+
exclude?: string[];
|
|
102
122
|
};
|
|
103
123
|
export declare type SearchResultsFilterOptions = {
|
|
104
124
|
currentFilters?: ResultCurrentFilterOptions;
|
|
105
125
|
facets?: ResultFacetOptions;
|
|
126
|
+
categories?: CategoryFilterOptions;
|
|
106
127
|
};
|
|
107
128
|
export declare type SearchResultsBreadcrumb = {
|
|
108
129
|
label: string;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { Document } from "@getlupa/client-sdk/Types";
|
|
2
2
|
import { DocumentElement } from "../DocumentElement";
|
|
3
3
|
import { BadgeElement } from "./BadgeOptions";
|
|
4
|
+
import { RoutingBehavior } from "./RoutingBehavior";
|
|
4
5
|
import { SearchResultsOptionLabels } from "./SearchResultsOptions";
|
|
5
6
|
export declare type SearchResultsProductCardOptions = {
|
|
6
7
|
labels: SearchResultsOptionLabels;
|
|
8
|
+
routingBehavior?: RoutingBehavior;
|
|
7
9
|
isInStock: (doc: Document) => boolean;
|
|
8
10
|
badges: SearchResultBadgeOptions;
|
|
9
11
|
links: {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { QueryParams } from "@/types/search-results/QueryParams";
|
|
2
2
|
import { SearchResultsSortOptions } from "@/types/search-results/SearchResultsSort";
|
|
3
|
-
import { PublicQuery } from "@getlupa/client-sdk/Types";
|
|
3
|
+
import { FilterGroup, PublicQuery } from "@getlupa/client-sdk/Types";
|
|
4
4
|
export declare const createPublicQuery: (queryParams: QueryParams, sortOptions?: SearchResultsSortOptions[] | undefined) => PublicQuery;
|
|
5
|
+
export declare const getPublicQuery: (publicQuery: PublicQuery, initialFilters: FilterGroup, isProductList: boolean) => PublicQuery;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const emitRoutingEvent: (url: string) => void;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import Vue from "vue";
|
|
2
|
+
import { ProductListOptions } from "@/types/product-list/ProductListOptions";
|
|
3
|
+
export default class CategoryDescription extends Vue {
|
|
4
|
+
options: ProductListOptions;
|
|
5
|
+
get title(): string | undefined;
|
|
6
|
+
get description(): string | undefined;
|
|
7
|
+
get overviewVisible(): boolean;
|
|
8
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import Vue from "vue";
|
|
2
|
+
import { Options } from "@getlupa/client-sdk/Types";
|
|
3
|
+
import { CategoryFilterOptions } from "@/types/product-list/ProductListOptions";
|
|
4
|
+
export default class CategoryFilter extends Vue {
|
|
5
|
+
options: CategoryFilterOptions;
|
|
6
|
+
categoryChildren: Record<string, string>[];
|
|
7
|
+
envOptions: Options;
|
|
8
|
+
get hasBackButton(): boolean;
|
|
9
|
+
get hasDirectRouting(): boolean;
|
|
10
|
+
get backTitle(): string | undefined;
|
|
11
|
+
get backUrl(): string | undefined;
|
|
12
|
+
get backUrlLink(): string | undefined;
|
|
13
|
+
get parentTitle(): string | undefined;
|
|
14
|
+
get parentUrl(): string | undefined;
|
|
15
|
+
get parentUrlLink(): string | undefined;
|
|
16
|
+
get isActive(): boolean;
|
|
17
|
+
mounted(): Promise<void>;
|
|
18
|
+
getCategoryKey(item: Record<string, string>): string;
|
|
19
|
+
handleNavigation(url: string): void;
|
|
20
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import Vue from "vue";
|
|
2
|
+
import { CategoryFilterOptions } from "@/types/product-list/ProductListOptions";
|
|
3
|
+
export default class CategoryFilterItem extends Vue {
|
|
4
|
+
options: CategoryFilterOptions;
|
|
5
|
+
item: Record<string, string>;
|
|
6
|
+
get title(): string;
|
|
7
|
+
get urlLink(): string;
|
|
8
|
+
get url(): string | undefined;
|
|
9
|
+
get isActive(): boolean;
|
|
10
|
+
get hasDirectRouting(): boolean;
|
|
11
|
+
handleNavigation(): void;
|
|
12
|
+
}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { QueryParams } from "@/types/search-results/QueryParams";
|
|
2
2
|
import { ProductGrid, SearchResultsDidYouMeanLabels, SearchResultsOptions, SearchResultsProductOptions } from "@/types/search-results/SearchResultsOptions";
|
|
3
|
-
import { PublicQuery, SearchQueryResult } from "@getlupa/client-sdk/Types";
|
|
3
|
+
import { FilterGroup, PublicQuery, SearchQueryResult } from "@getlupa/client-sdk/Types";
|
|
4
4
|
import Vue from "vue";
|
|
5
5
|
export default class SearchResults extends Vue {
|
|
6
6
|
options: SearchResultsOptions;
|
|
7
|
+
initialFilters: FilterGroup;
|
|
8
|
+
isProductList: boolean;
|
|
7
9
|
get productsOptions(): SearchResultsProductOptions;
|
|
10
|
+
currentQueryText: string;
|
|
8
11
|
get didYouMeanLabels(): SearchResultsDidYouMeanLabels;
|
|
9
|
-
get queryText(): string;
|
|
10
12
|
get showFilterSidebar(): boolean;
|
|
13
|
+
get isTitleResultTopPosition(): boolean;
|
|
11
14
|
trackSearch: ({ queryKey, query, }: {
|
|
12
15
|
queryKey: string;
|
|
13
16
|
query: PublicQuery;
|
|
@@ -16,8 +19,6 @@ export default class SearchResults extends Vue {
|
|
|
16
19
|
queryKey: string;
|
|
17
20
|
results: SearchQueryResult;
|
|
18
21
|
}) => void;
|
|
19
|
-
currentQueryText: string;
|
|
20
|
-
suggestedSearchText: string;
|
|
21
22
|
searchString: string;
|
|
22
23
|
setDefaultLimit: (defaultLimit: number) => {
|
|
23
24
|
defaultLimit: number;
|
|
@@ -25,9 +26,23 @@ export default class SearchResults extends Vue {
|
|
|
25
26
|
addParams: (params: QueryParams) => {
|
|
26
27
|
params: QueryParams;
|
|
27
28
|
};
|
|
29
|
+
removeParams: ({ paramsToRemove, save, }: {
|
|
30
|
+
paramsToRemove: string[];
|
|
31
|
+
save: boolean;
|
|
32
|
+
}) => void;
|
|
33
|
+
appendParams: ({ params, save, }: {
|
|
34
|
+
params: {
|
|
35
|
+
name: string;
|
|
36
|
+
value: string;
|
|
37
|
+
}[];
|
|
38
|
+
save: boolean;
|
|
39
|
+
}) => void;
|
|
28
40
|
setSearchResultOptions: ({ options, }: {
|
|
29
41
|
options: SearchResultsOptions;
|
|
30
42
|
}) => void;
|
|
43
|
+
setInitialFilters: ({ initialFilters, }: {
|
|
44
|
+
initialFilters: FilterGroup;
|
|
45
|
+
}) => void;
|
|
31
46
|
mounted(): void;
|
|
32
47
|
beforeDestroy(): void;
|
|
33
48
|
handleMounted(): void;
|
|
@@ -38,6 +53,10 @@ export default class SearchResults extends Vue {
|
|
|
38
53
|
};
|
|
39
54
|
handleUrlChange(params?: URLSearchParams): void;
|
|
40
55
|
query(publicQuery: PublicQuery): void;
|
|
56
|
+
handleResults({ queryKey, results, }: {
|
|
57
|
+
queryKey: string;
|
|
58
|
+
results: SearchQueryResult;
|
|
59
|
+
}): void;
|
|
41
60
|
setColumnCount: ({ width, grid, }: {
|
|
42
61
|
width: number;
|
|
43
62
|
grid: ProductGrid;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { SearchResultsOptions } from "@/types/search-results/SearchResultsOptions";
|
|
2
|
+
import Vue from "vue";
|
|
3
|
+
export default class SearchResultsTitle extends Vue {
|
|
4
|
+
options: SearchResultsOptions;
|
|
5
|
+
isProductList: boolean;
|
|
6
|
+
currentQueryText: string;
|
|
7
|
+
totalItems: number;
|
|
8
|
+
suggestedSearchText: string;
|
|
9
|
+
get queryText(): string;
|
|
10
|
+
get showProductCount(): boolean;
|
|
11
|
+
get showSearchTitle(): boolean;
|
|
12
|
+
getLabel(label: string): string;
|
|
13
|
+
}
|
|
@@ -9,9 +9,10 @@ export default class CurrentFilters extends Vue {
|
|
|
9
9
|
isOpen: boolean;
|
|
10
10
|
currentFilters: FilterGroup;
|
|
11
11
|
facets: FacetResult[] | undefined;
|
|
12
|
-
|
|
12
|
+
displayFilters: LabeledFilter[];
|
|
13
|
+
currentFilterCount: number;
|
|
14
|
+
initialFilters: FilterGroup;
|
|
13
15
|
get hasFilters(): boolean;
|
|
14
|
-
get filterCount(): number;
|
|
15
16
|
removeParams: ({ paramsToRemove, }: {
|
|
16
17
|
paramsToRemove?: string[];
|
|
17
18
|
}) => {
|
|
@@ -6,5 +6,9 @@ export default class MobileFilterSidebar extends Vue {
|
|
|
6
6
|
visible: boolean;
|
|
7
7
|
}) => void;
|
|
8
8
|
isMobileSidebarVisible: boolean;
|
|
9
|
+
currentFilterCount: number;
|
|
10
|
+
get sidebarTitle(): string;
|
|
11
|
+
get isFilterCountVisible(): boolean;
|
|
12
|
+
get isActiveFiltersExpanded(): boolean;
|
|
9
13
|
handleMobileToggle(): void;
|
|
10
14
|
}
|
|
@@ -1,11 +1,21 @@
|
|
|
1
1
|
import Vue from "vue";
|
|
2
2
|
import { FacetGroupTypeStats, FilterGroupItemTypeRange } from "@getlupa/client-sdk/Types";
|
|
3
|
-
import { ResultFacetOptions } from "@/types/search-results/SearchResultsOptions";
|
|
3
|
+
import { ResultFacetOptions, SearchResultsOptions } from "@/types/search-results/SearchResultsOptions";
|
|
4
4
|
export default class TermFacet extends Vue {
|
|
5
5
|
options: ResultFacetOptions;
|
|
6
6
|
facet: FacetGroupTypeStats;
|
|
7
7
|
currentFilters: FilterGroupItemTypeRange;
|
|
8
8
|
innerSliderRange: number[];
|
|
9
|
+
searchResultOptions: SearchResultsOptions;
|
|
10
|
+
get rangeLabelFrom(): string;
|
|
11
|
+
get rangeLabelTo(): string;
|
|
12
|
+
get currency(): string;
|
|
13
|
+
get isSliderVisible(): boolean;
|
|
14
|
+
get isInputVisible(): boolean;
|
|
15
|
+
get fromValue(): string;
|
|
16
|
+
set fromValue(stringValue: string);
|
|
17
|
+
get toValue(): string;
|
|
18
|
+
set toValue(stringValue: string);
|
|
9
19
|
get currentGte(): number | undefined;
|
|
10
20
|
get currentLte(): number | undefined;
|
|
11
21
|
get currentMinValue(): number;
|
|
@@ -18,6 +28,7 @@ export default class TermFacet extends Vue {
|
|
|
18
28
|
get statsSummary(): string;
|
|
19
29
|
onMinValueChange(): void;
|
|
20
30
|
onMaxValueChange(): void;
|
|
31
|
+
handleInputChange(): void;
|
|
21
32
|
handleChange(): void;
|
|
22
33
|
handleDragging(value: number[]): void;
|
|
23
34
|
}
|
|
@@ -13,7 +13,8 @@ export default class TermFacet extends Vue {
|
|
|
13
13
|
get filteredValues(): FacetGroupItem[];
|
|
14
14
|
get isFilterable(): boolean;
|
|
15
15
|
get isRange(): boolean;
|
|
16
|
+
get displayShowMore(): boolean;
|
|
16
17
|
handleFacetClick(item: FacetGroupItem): void;
|
|
17
|
-
|
|
18
|
+
toggleShowAll(): void;
|
|
18
19
|
isChecked(item: FacetGroupItem): boolean;
|
|
19
20
|
}
|
package/dist/iife/components/search-results/products/product-card/SearchResultsProductCard.vue.d.ts
CHANGED
|
@@ -22,6 +22,8 @@ export default class SearchResultsProductCard extends Vue {
|
|
|
22
22
|
get detailElements(): DocumentElement[];
|
|
23
23
|
get labels(): SearchResultsOptionLabels;
|
|
24
24
|
get link(): string;
|
|
25
|
+
get hasEventRouting(): boolean;
|
|
26
|
+
get url(): string | undefined;
|
|
25
27
|
isInStock: boolean;
|
|
26
28
|
mounted(): void;
|
|
27
29
|
checkIfIsInStock(): Promise<void>;
|
|
@@ -30,4 +32,5 @@ export default class SearchResultsProductCard extends Vue {
|
|
|
30
32
|
handleProductEvent(item: {
|
|
31
33
|
type: ReportableEventType;
|
|
32
34
|
}): void;
|
|
35
|
+
handleNavigation(): void;
|
|
33
36
|
}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import Vue from "vue";
|
|
2
2
|
import { Document } from "@getlupa/client-sdk/Types";
|
|
3
3
|
import { TitleDocumentElement } from "@/types/DocumentElement";
|
|
4
|
+
import { SearchResultsOptions } from "@/types/search-results/SearchResultsOptions";
|
|
4
5
|
export default class SearchResultsProductTitle extends Vue {
|
|
5
6
|
item: Document;
|
|
6
7
|
options: TitleDocumentElement;
|
|
7
8
|
link: string;
|
|
9
|
+
searchResultOptions: SearchResultsOptions;
|
|
8
10
|
get title(): unknown;
|
|
9
11
|
get isHtml(): boolean;
|
|
10
12
|
get maxLines(): number;
|
|
13
|
+
get hasEventRouting(): boolean;
|
|
14
|
+
handleNavigation(): void;
|
|
11
15
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export declare const PRODUCT_LIST_CONFIGURATION: {
|
|
2
|
+
initialFilters: {
|
|
3
|
+
category: string[];
|
|
4
|
+
};
|
|
5
|
+
categories: {
|
|
6
|
+
queryKey: string;
|
|
7
|
+
routingBehavior: string;
|
|
8
|
+
keys: {
|
|
9
|
+
titleKey: string;
|
|
10
|
+
urlKey: string;
|
|
11
|
+
};
|
|
12
|
+
filters: {
|
|
13
|
+
category: string[];
|
|
14
|
+
};
|
|
15
|
+
back: {
|
|
16
|
+
title: string;
|
|
17
|
+
url: string;
|
|
18
|
+
};
|
|
19
|
+
parent: {
|
|
20
|
+
title: string;
|
|
21
|
+
url: string;
|
|
22
|
+
};
|
|
23
|
+
current: {
|
|
24
|
+
title: string;
|
|
25
|
+
description: string;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
};
|
|
@@ -20,6 +20,9 @@ export declare const SEARCH_RESULTS_CONFIGURATION: {
|
|
|
20
20
|
similarQuery: string;
|
|
21
21
|
similarQueries: string;
|
|
22
22
|
};
|
|
23
|
+
toolbar: {
|
|
24
|
+
totalCount: boolean;
|
|
25
|
+
};
|
|
23
26
|
grid: {
|
|
24
27
|
columns: {
|
|
25
28
|
xl: number;
|
|
@@ -56,11 +59,16 @@ export declare const SEARCH_RESULTS_CONFIGURATION: {
|
|
|
56
59
|
title: string;
|
|
57
60
|
clearAll: string;
|
|
58
61
|
};
|
|
62
|
+
mobileSidebar: {
|
|
63
|
+
showFilterCount: boolean;
|
|
64
|
+
activeFiltersExpanded: boolean;
|
|
65
|
+
};
|
|
59
66
|
};
|
|
60
67
|
facets: {
|
|
61
68
|
labels: {
|
|
62
69
|
title: string;
|
|
63
70
|
showAll: string;
|
|
71
|
+
showLess: string;
|
|
64
72
|
facetFilter: string;
|
|
65
73
|
};
|
|
66
74
|
hierarchy: {
|
|
@@ -68,6 +76,14 @@ export declare const SEARCH_RESULTS_CONFIGURATION: {
|
|
|
68
76
|
topLevelValueCountLimit: number;
|
|
69
77
|
filterable: boolean;
|
|
70
78
|
};
|
|
79
|
+
stats: {
|
|
80
|
+
slider: boolean;
|
|
81
|
+
inputs: boolean;
|
|
82
|
+
labels: {
|
|
83
|
+
from: string;
|
|
84
|
+
to: string;
|
|
85
|
+
};
|
|
86
|
+
};
|
|
71
87
|
filterable: {
|
|
72
88
|
minValues: number;
|
|
73
89
|
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { TrackingOptions } from "./types/General";
|
|
2
|
+
import { ProductListOptions } from "./types/product-list/ProductListOptions";
|
|
2
3
|
import { SearchBoxOptions } from "./types/search-box/SearchBoxOptions";
|
|
3
4
|
import { SearchResultsOptions } from "./types/search-results/SearchResultsOptions";
|
|
4
5
|
declare global {
|
|
@@ -7,15 +8,19 @@ declare global {
|
|
|
7
8
|
searchBox: (options: SearchBoxOptions) => void;
|
|
8
9
|
searchResults: (options: SearchResultsOptions) => void;
|
|
9
10
|
tracking: (options: TrackingOptions) => void;
|
|
11
|
+
productList: (options: ProductListOptions) => void;
|
|
10
12
|
clearSearchBox: () => void;
|
|
11
13
|
clearSearchResults: () => void;
|
|
14
|
+
clearProductList: () => void;
|
|
12
15
|
};
|
|
13
16
|
lupaSearch: {
|
|
14
17
|
searchBox: (options: SearchBoxOptions) => void;
|
|
15
18
|
searchResults: (options: SearchResultsOptions) => void;
|
|
16
19
|
tracking: (options: TrackingOptions) => void;
|
|
20
|
+
productList: (options: ProductListOptions) => void;
|
|
17
21
|
clearSearchBox: () => void;
|
|
18
22
|
clearSearchResults: () => void;
|
|
23
|
+
clearProductList: () => void;
|
|
19
24
|
};
|
|
20
25
|
}
|
|
21
26
|
}
|
package/dist/iife/index.d.ts
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { SearchBoxOptions } from "./types/search-box/SearchBoxOptions";
|
|
2
2
|
import { SearchResultsOptions } from "./types/search-results/SearchResultsOptions";
|
|
3
3
|
import { TrackingOptions } from "./types/General";
|
|
4
|
+
import { ProductListOptions } from "./types/product-list/ProductListOptions";
|
|
4
5
|
declare const lupaSearch: {
|
|
5
6
|
searchBox: (options: SearchBoxOptions) => void;
|
|
6
7
|
searchResults: (options: SearchResultsOptions) => void;
|
|
7
8
|
tracking: (options: TrackingOptions) => void;
|
|
9
|
+
productList: (options: ProductListOptions) => void;
|
|
8
10
|
clearSearchBox: () => void;
|
|
9
11
|
clearSearchResults: () => void;
|
|
12
|
+
clearProductList: () => void;
|
|
10
13
|
};
|
|
11
14
|
export { TrackingOptions, SearchBoxOptions, SearchResultsOptions };
|
|
12
15
|
export default lupaSearch;
|