@getlupa/client 0.5.0 → 0.5.1-alpha-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 (53) hide show
  1. package/dist/cjs/ProductListEntry.vue.d.ts +5 -0
  2. package/dist/cjs/components/product-list/CategoryDescription.vue.d.ts +8 -0
  3. package/dist/cjs/components/product-list/CategoryFilter.vue.d.ts +20 -0
  4. package/dist/cjs/components/product-list/CategoryFilterItem.vue.d.ts +12 -0
  5. package/dist/cjs/components/product-list/ProductList.vue.d.ts +6 -0
  6. package/dist/cjs/components/search-results/SearchResults.vue.d.ts +6 -1
  7. package/dist/cjs/components/search-results/filters/CurrentFilters.vue.d.ts +2 -0
  8. package/dist/cjs/constants/development/searchProductListDev.example.d.ts +28 -0
  9. package/dist/cjs/constants/global.const.d.ts +1 -0
  10. package/dist/cjs/index-iife.d.ts +5 -0
  11. package/dist/cjs/index.d.ts +3 -0
  12. package/dist/cjs/index.min.js +1594 -924
  13. package/dist/cjs/store/modules/options.d.ts +6 -1
  14. package/dist/cjs/types/product-list/ProductListOptions.d.ts +28 -0
  15. package/dist/cjs/types/search-results/SearchResultsOptions.d.ts +2 -0
  16. package/dist/cjs/utils/query.utils.d.ts +2 -1
  17. package/dist/cjs/utils/routing.utils.d.ts +1 -0
  18. package/dist/es/ProductListEntry.vue.d.ts +5 -0
  19. package/dist/es/components/product-list/CategoryDescription.vue.d.ts +8 -0
  20. package/dist/es/components/product-list/CategoryFilter.vue.d.ts +20 -0
  21. package/dist/es/components/product-list/CategoryFilterItem.vue.d.ts +12 -0
  22. package/dist/es/components/product-list/ProductList.vue.d.ts +6 -0
  23. package/dist/es/components/search-results/SearchResults.vue.d.ts +6 -1
  24. package/dist/es/components/search-results/filters/CurrentFilters.vue.d.ts +2 -0
  25. package/dist/es/constants/development/searchProductListDev.example.d.ts +28 -0
  26. package/dist/es/constants/global.const.d.ts +1 -0
  27. package/dist/es/index-iife.d.ts +5 -0
  28. package/dist/es/index.d.ts +3 -0
  29. package/dist/es/index.min.js +1594 -924
  30. package/dist/es/store/modules/options.d.ts +6 -1
  31. package/dist/es/types/product-list/ProductListOptions.d.ts +28 -0
  32. package/dist/es/types/search-results/SearchResultsOptions.d.ts +2 -0
  33. package/dist/es/utils/query.utils.d.ts +2 -1
  34. package/dist/es/utils/routing.utils.d.ts +1 -0
  35. package/dist/iife/ProductListEntry.vue.d.ts +5 -0
  36. package/dist/iife/components/product-list/CategoryDescription.vue.d.ts +8 -0
  37. package/dist/iife/components/product-list/CategoryFilter.vue.d.ts +20 -0
  38. package/dist/iife/components/product-list/CategoryFilterItem.vue.d.ts +12 -0
  39. package/dist/iife/components/product-list/ProductList.vue.d.ts +6 -0
  40. package/dist/iife/components/search-results/SearchResults.vue.d.ts +6 -1
  41. package/dist/iife/components/search-results/filters/CurrentFilters.vue.d.ts +2 -0
  42. package/dist/iife/constants/development/searchProductListDev.example.d.ts +28 -0
  43. package/dist/iife/constants/global.const.d.ts +1 -0
  44. package/dist/iife/index-iife.d.ts +5 -0
  45. package/dist/iife/index.d.ts +3 -0
  46. package/dist/iife/index.min.js +1 -1
  47. package/dist/iife/store/modules/options.d.ts +6 -1
  48. package/dist/iife/types/product-list/ProductListOptions.d.ts +28 -0
  49. package/dist/iife/types/search-results/SearchResultsOptions.d.ts +2 -0
  50. package/dist/iife/utils/query.utils.d.ts +2 -1
  51. package/dist/iife/utils/routing.utils.d.ts +1 -0
  52. package/dist/style.css +1 -1
  53. 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
  }
@@ -0,0 +1,28 @@
1
+ import { FilterGroup } from "@getlupa/client-sdk/Types";
2
+ import { SearchResultsOptions } from "../search-results/SearchResultsOptions";
3
+ export declare type CategoryFilterOptions = {
4
+ queryKey: string;
5
+ routingBehavior?: RoutingBehavior;
6
+ keys: {
7
+ titleKey?: string;
8
+ urlKey?: string;
9
+ };
10
+ filters?: Record<string, string[]>;
11
+ back?: {
12
+ url: string;
13
+ title: string;
14
+ };
15
+ parent?: {
16
+ url: string;
17
+ title: string;
18
+ };
19
+ current?: {
20
+ title: string;
21
+ description: string;
22
+ };
23
+ };
24
+ export declare type RoutingBehavior = "direct-link" | "event";
25
+ export declare type ProductListOptions = SearchResultsOptions & {
26
+ initialFilters?: FilterGroup;
27
+ categories?: CategoryFilterOptions;
28
+ };
@@ -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";
@@ -103,6 +104,7 @@ export declare type ResultFacetOptions = {
103
104
  export declare type SearchResultsFilterOptions = {
104
105
  currentFilters?: ResultCurrentFilterOptions;
105
106
  facets?: ResultFacetOptions;
107
+ categories?: CategoryFilterOptions;
106
108
  };
107
109
  export declare type SearchResultsBreadcrumb = {
108
110
  label: string;
@@ -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,5 @@
1
+ import Vue from "vue";
2
+ import { ProductListOptions } from "./types/product-list/ProductListOptions";
3
+ export default class ProductListEntry extends Vue {
4
+ productListOptions: ProductListOptions;
5
+ }
@@ -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
+ }
@@ -0,0 +1,6 @@
1
+ import Vue from "vue";
2
+ import { ProductListOptions } from "@/types/product-list/ProductListOptions";
3
+ export default class ProductList extends Vue {
4
+ options: ProductListOptions;
5
+ get componentOptions(): ProductListOptions;
6
+ }
@@ -1,9 +1,11 @@
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;
8
10
  get didYouMeanLabels(): SearchResultsDidYouMeanLabels;
9
11
  get queryText(): string;
@@ -28,6 +30,9 @@ export default class SearchResults extends Vue {
28
30
  setSearchResultOptions: ({ options, }: {
29
31
  options: SearchResultsOptions;
30
32
  }) => void;
33
+ setInitialFilters: ({ initialFilters, }: {
34
+ initialFilters: FilterGroup;
35
+ }) => void;
31
36
  mounted(): void;
32
37
  beforeDestroy(): void;
33
38
  handleMounted(): void;
@@ -9,6 +9,8 @@ export default class CurrentFilters extends Vue {
9
9
  isOpen: boolean;
10
10
  currentFilters: FilterGroup;
11
11
  facets: FacetResult[] | undefined;
12
+ initialFilters: FilterGroup;
13
+ get displayFilters(): LabeledFilter[];
12
14
  get labeledFilters(): LabeledFilter[];
13
15
  get hasFilters(): boolean;
14
16
  get filterCount(): number;
@@ -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
+ };
@@ -11,3 +11,4 @@ export declare const XL_MIN_WIDTH = 1199;
11
11
  export declare const MAX_FACET_VALUES = 1000;
12
12
  export declare const CURRENCY_KEY_INDICATOR = "price";
13
13
  export declare const DEFAULT_PAGE_SIZE = 12;
14
+ export declare const LUPA_ROUTING_EVENT = "lupaRedirect";
@@ -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
  }
@@ -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;