@getlupa/client 0.7.0-alpha-13 → 0.7.0-alpha-16

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.
@@ -9,5 +9,6 @@ export default class SearchResultsTitle extends Vue {
9
9
  get queryText(): string;
10
10
  get showProductCount(): boolean;
11
11
  get showSearchTitle(): boolean;
12
+ get descriptionTop(): string | undefined;
12
13
  getLabel(label: string): string;
13
14
  }
@@ -4,4 +4,6 @@ export default class SearchResultGeneratedBadge extends Vue {
4
4
  options: BadgeOptions;
5
5
  badge: BadgeGenerateSeed;
6
6
  get image(): string | undefined;
7
+ get hasAdditionalText(): boolean;
8
+ get hasTitleText(): boolean;
7
9
  }
@@ -16776,6 +16776,16 @@ let SearchResultGeneratedBadge = class SearchResultGeneratedBadge extends Vue$1
16776
16776
  var _a, _b, _c;
16777
16777
  return (_c = (_b = (_a = this.options.generate) === null || _a === void 0 ? void 0 : _a.image) === null || _b === void 0 ? void 0 : _b.call(_a, this.badge)) !== null && _c !== void 0 ? _c : "";
16778
16778
  }
16779
+ get hasAdditionalText() {
16780
+ var _a, _b;
16781
+ return (Boolean((_a = this.badge) === null || _a === void 0 ? void 0 : _a.additionalText) &&
16782
+ typeof ((_b = this.badge) === null || _b === void 0 ? void 0 : _b.additionalText) === "string");
16783
+ }
16784
+ get hasTitleText() {
16785
+ var _a, _b;
16786
+ return (Boolean((_a = this.badge) === null || _a === void 0 ? void 0 : _a.titleText) &&
16787
+ typeof ((_b = this.badge) === null || _b === void 0 ? void 0 : _b.titleText) === "string");
16788
+ }
16779
16789
  };
16780
16790
  __decorate([
16781
16791
  Prop({ default: () => ({}) })
@@ -16807,11 +16817,11 @@ var __vue_render__$z = function () {
16807
16817
  [
16808
16818
  _c("span", { staticClass: "lupa-badge-title" }, [
16809
16819
  _vm.image ? _c("img", { attrs: { src: _vm.image } }) : _vm._e(),
16810
- _vm.badge.titleText
16820
+ _vm.hasTitleText
16811
16821
  ? _c("span", [_vm._v("\n " + _vm._s(_vm.badge.titleText))])
16812
16822
  : _vm._e(),
16813
16823
  ]),
16814
- _vm.badge.additionalText
16824
+ _vm.hasAdditionalText
16815
16825
  ? _c("span", { staticClass: "lupa-badge-full-text" }, [
16816
16826
  _vm._v(_vm._s(_vm.badge.additionalText)),
16817
16827
  ])
@@ -20439,6 +20449,10 @@ let SearchResultsTitle = class SearchResultsTitle extends Vue$1 {
20439
20449
  return Boolean(((_a = this.options.labels) === null || _a === void 0 ? void 0 : _a.searchResults) &&
20440
20450
  (this.currentQueryText || this.isProductList));
20441
20451
  }
20452
+ get descriptionTop() {
20453
+ var _a, _b;
20454
+ return (_b = (_a = this.options.categories) === null || _a === void 0 ? void 0 : _a.current) === null || _b === void 0 ? void 0 : _b.descriptionTop;
20455
+ }
20442
20456
  getLabel(label) {
20443
20457
  return addParamsToLabel(label, `'${this.currentQueryText}'`);
20444
20458
  }
@@ -20473,27 +20487,36 @@ var __vue_render__$6 = function () {
20473
20487
  var _vm = this;
20474
20488
  var _h = _vm.$createElement;
20475
20489
  var _c = _vm._self._c || _h;
20476
- return _vm.showSearchTitle
20477
- ? _c(
20478
- "h1",
20479
- {
20480
- staticClass: "lupa-result-page-title",
20481
- attrs: { "data-cy": "lupa-result-page-title" },
20482
- },
20483
- [
20484
- _vm._v("\n " + _vm._s(_vm.options.labels.searchResults)),
20485
- _vm.queryText
20486
- ? _c("span", [_vm._v("'" + _vm._s(_vm.queryText) + "'")])
20487
- : _vm._e(),
20488
- _vm._v(" "),
20489
- _vm.showProductCount
20490
- ? _c("span", { staticClass: "lupa-results-total-count" }, [
20491
- _vm._v("(" + _vm._s(_vm.totalItems) + ")"),
20492
- ])
20493
- : _vm._e(),
20494
- ]
20495
- )
20496
- : _vm._e()
20490
+ return _c("div", [
20491
+ _vm.showSearchTitle
20492
+ ? _c(
20493
+ "h1",
20494
+ {
20495
+ staticClass: "lupa-result-page-title",
20496
+ attrs: { "data-cy": "lupa-result-page-title" },
20497
+ },
20498
+ [
20499
+ _vm._v("\n " + _vm._s(_vm.options.labels.searchResults)),
20500
+ _vm.queryText
20501
+ ? _c("span", [_vm._v("'" + _vm._s(_vm.queryText) + "'")])
20502
+ : _vm._e(),
20503
+ _vm._v(" "),
20504
+ _vm.showProductCount
20505
+ ? _c("span", { staticClass: "lupa-results-total-count" }, [
20506
+ _vm._v("(" + _vm._s(_vm.totalItems) + ")"),
20507
+ ])
20508
+ : _vm._e(),
20509
+ ]
20510
+ )
20511
+ : _vm._e(),
20512
+ _vm._v(" "),
20513
+ _vm.descriptionTop
20514
+ ? _c("div", {
20515
+ staticClass: "lupa-result-page-description-top",
20516
+ domProps: { innerHTML: _vm._s(_vm.descriptionTop) },
20517
+ })
20518
+ : _vm._e(),
20519
+ ])
20497
20520
  };
20498
20521
  var __vue_staticRenderFns__$6 = [];
20499
20522
  __vue_render__$6._withStripped = true;
@@ -20693,7 +20716,12 @@ let SearchResults = class SearchResults extends Vue$1 {
20693
20716
  this.setDefaultLimit(this.defaultSearchResultPageSize);
20694
20717
  }
20695
20718
  handleParamsChange() {
20719
+ var _a, _b;
20696
20720
  this.handleUrlChange();
20721
+ (_b = (_a = this.options.callbacks) === null || _a === void 0 ? void 0 : _a.onUrlQueryChange) === null || _b === void 0 ? void 0 : _b.call(_a, {
20722
+ queryKey: this.options.queryKey,
20723
+ urlQueryString: this.searchString,
20724
+ });
20697
20725
  }
20698
20726
  handleUrlChange(params) {
20699
20727
  const searchParams = params || new URLSearchParams(window.location.search);
@@ -20,6 +20,7 @@ export declare type CategoryFilterOptions = {
20
20
  current?: {
21
21
  title?: string;
22
22
  description?: string;
23
+ descriptionTop?: string;
23
24
  };
24
25
  };
25
26
  export declare type ProductListOptions = SearchResultsOptions & {
@@ -9,6 +9,7 @@ export declare type SearchResultsOptions = SearchResultsProductOptions & SearchR
9
9
  classMap?: Record<string, string>;
10
10
  disallowEmptyQuery?: boolean;
11
11
  callbacks?: SearchResultEventCallbacks;
12
+ categories?: CategoryFilterOptions;
12
13
  };
13
14
  export declare type SearchTitlePosition = "page-top" | "search-results-top";
14
15
  export declare type SearchResultsDidYouMeanLabels = {
@@ -22,13 +23,15 @@ export declare type SearchResultsSimilarQueriesLabels = {
22
23
  };
23
24
  export declare type CallbackContext = {
24
25
  queryKey: string;
25
- hasResults: boolean;
26
+ hasResults?: boolean;
27
+ urlQueryString?: string;
26
28
  };
27
29
  export declare type SearchResultEventCallbacks = {
28
30
  onSearchResults?: (context: CallbackContext) => unknown;
29
31
  onAdditionalPanelResults?: (context: CallbackContext) => unknown;
30
32
  onCategoryFilterResults?: (context: CallbackContext) => unknown;
31
33
  onProductClick?: (context: CallbackContext) => unknown;
34
+ onUrlQueryChange?: (context: CallbackContext) => unknown;
32
35
  onMounted?: () => unknown;
33
36
  };
34
37
  export declare type SearchResultsOptionLabels = SearchResultsPaginationLabels & SearchResultsDidYouMeanLabels & SearchResultsSimilarQueriesLabels & {
@@ -9,5 +9,6 @@ export default class SearchResultsTitle extends Vue {
9
9
  get queryText(): string;
10
10
  get showProductCount(): boolean;
11
11
  get showSearchTitle(): boolean;
12
+ get descriptionTop(): string | undefined;
12
13
  getLabel(label: string): string;
13
14
  }
@@ -4,4 +4,6 @@ export default class SearchResultGeneratedBadge extends Vue {
4
4
  options: BadgeOptions;
5
5
  badge: BadgeGenerateSeed;
6
6
  get image(): string | undefined;
7
+ get hasAdditionalText(): boolean;
8
+ get hasTitleText(): boolean;
7
9
  }
@@ -16772,6 +16772,16 @@ let SearchResultGeneratedBadge = class SearchResultGeneratedBadge extends Vue$1
16772
16772
  var _a, _b, _c;
16773
16773
  return (_c = (_b = (_a = this.options.generate) === null || _a === void 0 ? void 0 : _a.image) === null || _b === void 0 ? void 0 : _b.call(_a, this.badge)) !== null && _c !== void 0 ? _c : "";
16774
16774
  }
16775
+ get hasAdditionalText() {
16776
+ var _a, _b;
16777
+ return (Boolean((_a = this.badge) === null || _a === void 0 ? void 0 : _a.additionalText) &&
16778
+ typeof ((_b = this.badge) === null || _b === void 0 ? void 0 : _b.additionalText) === "string");
16779
+ }
16780
+ get hasTitleText() {
16781
+ var _a, _b;
16782
+ return (Boolean((_a = this.badge) === null || _a === void 0 ? void 0 : _a.titleText) &&
16783
+ typeof ((_b = this.badge) === null || _b === void 0 ? void 0 : _b.titleText) === "string");
16784
+ }
16775
16785
  };
16776
16786
  __decorate([
16777
16787
  Prop({ default: () => ({}) })
@@ -16803,11 +16813,11 @@ var __vue_render__$z = function () {
16803
16813
  [
16804
16814
  _c("span", { staticClass: "lupa-badge-title" }, [
16805
16815
  _vm.image ? _c("img", { attrs: { src: _vm.image } }) : _vm._e(),
16806
- _vm.badge.titleText
16816
+ _vm.hasTitleText
16807
16817
  ? _c("span", [_vm._v("\n " + _vm._s(_vm.badge.titleText))])
16808
16818
  : _vm._e(),
16809
16819
  ]),
16810
- _vm.badge.additionalText
16820
+ _vm.hasAdditionalText
16811
16821
  ? _c("span", { staticClass: "lupa-badge-full-text" }, [
16812
16822
  _vm._v(_vm._s(_vm.badge.additionalText)),
16813
16823
  ])
@@ -20435,6 +20445,10 @@ let SearchResultsTitle = class SearchResultsTitle extends Vue$1 {
20435
20445
  return Boolean(((_a = this.options.labels) === null || _a === void 0 ? void 0 : _a.searchResults) &&
20436
20446
  (this.currentQueryText || this.isProductList));
20437
20447
  }
20448
+ get descriptionTop() {
20449
+ var _a, _b;
20450
+ return (_b = (_a = this.options.categories) === null || _a === void 0 ? void 0 : _a.current) === null || _b === void 0 ? void 0 : _b.descriptionTop;
20451
+ }
20438
20452
  getLabel(label) {
20439
20453
  return addParamsToLabel(label, `'${this.currentQueryText}'`);
20440
20454
  }
@@ -20469,27 +20483,36 @@ var __vue_render__$6 = function () {
20469
20483
  var _vm = this;
20470
20484
  var _h = _vm.$createElement;
20471
20485
  var _c = _vm._self._c || _h;
20472
- return _vm.showSearchTitle
20473
- ? _c(
20474
- "h1",
20475
- {
20476
- staticClass: "lupa-result-page-title",
20477
- attrs: { "data-cy": "lupa-result-page-title" },
20478
- },
20479
- [
20480
- _vm._v("\n " + _vm._s(_vm.options.labels.searchResults)),
20481
- _vm.queryText
20482
- ? _c("span", [_vm._v("'" + _vm._s(_vm.queryText) + "'")])
20483
- : _vm._e(),
20484
- _vm._v(" "),
20485
- _vm.showProductCount
20486
- ? _c("span", { staticClass: "lupa-results-total-count" }, [
20487
- _vm._v("(" + _vm._s(_vm.totalItems) + ")"),
20488
- ])
20489
- : _vm._e(),
20490
- ]
20491
- )
20492
- : _vm._e()
20486
+ return _c("div", [
20487
+ _vm.showSearchTitle
20488
+ ? _c(
20489
+ "h1",
20490
+ {
20491
+ staticClass: "lupa-result-page-title",
20492
+ attrs: { "data-cy": "lupa-result-page-title" },
20493
+ },
20494
+ [
20495
+ _vm._v("\n " + _vm._s(_vm.options.labels.searchResults)),
20496
+ _vm.queryText
20497
+ ? _c("span", [_vm._v("'" + _vm._s(_vm.queryText) + "'")])
20498
+ : _vm._e(),
20499
+ _vm._v(" "),
20500
+ _vm.showProductCount
20501
+ ? _c("span", { staticClass: "lupa-results-total-count" }, [
20502
+ _vm._v("(" + _vm._s(_vm.totalItems) + ")"),
20503
+ ])
20504
+ : _vm._e(),
20505
+ ]
20506
+ )
20507
+ : _vm._e(),
20508
+ _vm._v(" "),
20509
+ _vm.descriptionTop
20510
+ ? _c("div", {
20511
+ staticClass: "lupa-result-page-description-top",
20512
+ domProps: { innerHTML: _vm._s(_vm.descriptionTop) },
20513
+ })
20514
+ : _vm._e(),
20515
+ ])
20493
20516
  };
20494
20517
  var __vue_staticRenderFns__$6 = [];
20495
20518
  __vue_render__$6._withStripped = true;
@@ -20689,7 +20712,12 @@ let SearchResults = class SearchResults extends Vue$1 {
20689
20712
  this.setDefaultLimit(this.defaultSearchResultPageSize);
20690
20713
  }
20691
20714
  handleParamsChange() {
20715
+ var _a, _b;
20692
20716
  this.handleUrlChange();
20717
+ (_b = (_a = this.options.callbacks) === null || _a === void 0 ? void 0 : _a.onUrlQueryChange) === null || _b === void 0 ? void 0 : _b.call(_a, {
20718
+ queryKey: this.options.queryKey,
20719
+ urlQueryString: this.searchString,
20720
+ });
20693
20721
  }
20694
20722
  handleUrlChange(params) {
20695
20723
  const searchParams = params || new URLSearchParams(window.location.search);
@@ -20,6 +20,7 @@ export declare type CategoryFilterOptions = {
20
20
  current?: {
21
21
  title?: string;
22
22
  description?: string;
23
+ descriptionTop?: string;
23
24
  };
24
25
  };
25
26
  export declare type ProductListOptions = SearchResultsOptions & {
@@ -9,6 +9,7 @@ export declare type SearchResultsOptions = SearchResultsProductOptions & SearchR
9
9
  classMap?: Record<string, string>;
10
10
  disallowEmptyQuery?: boolean;
11
11
  callbacks?: SearchResultEventCallbacks;
12
+ categories?: CategoryFilterOptions;
12
13
  };
13
14
  export declare type SearchTitlePosition = "page-top" | "search-results-top";
14
15
  export declare type SearchResultsDidYouMeanLabels = {
@@ -22,13 +23,15 @@ export declare type SearchResultsSimilarQueriesLabels = {
22
23
  };
23
24
  export declare type CallbackContext = {
24
25
  queryKey: string;
25
- hasResults: boolean;
26
+ hasResults?: boolean;
27
+ urlQueryString?: string;
26
28
  };
27
29
  export declare type SearchResultEventCallbacks = {
28
30
  onSearchResults?: (context: CallbackContext) => unknown;
29
31
  onAdditionalPanelResults?: (context: CallbackContext) => unknown;
30
32
  onCategoryFilterResults?: (context: CallbackContext) => unknown;
31
33
  onProductClick?: (context: CallbackContext) => unknown;
34
+ onUrlQueryChange?: (context: CallbackContext) => unknown;
32
35
  onMounted?: () => unknown;
33
36
  };
34
37
  export declare type SearchResultsOptionLabels = SearchResultsPaginationLabels & SearchResultsDidYouMeanLabels & SearchResultsSimilarQueriesLabels & {
@@ -9,5 +9,6 @@ export default class SearchResultsTitle extends Vue {
9
9
  get queryText(): string;
10
10
  get showProductCount(): boolean;
11
11
  get showSearchTitle(): boolean;
12
+ get descriptionTop(): string | undefined;
12
13
  getLabel(label: string): string;
13
14
  }
@@ -4,4 +4,6 @@ export default class SearchResultGeneratedBadge extends Vue {
4
4
  options: BadgeOptions;
5
5
  badge: BadgeGenerateSeed;
6
6
  get image(): string | undefined;
7
+ get hasAdditionalText(): boolean;
8
+ get hasTitleText(): boolean;
7
9
  }