@getlupa/client 0.10.0-alpha-2 → 0.10.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.
- package/dist/cjs/components/search-box/SearchBox.vue.d.ts +1 -0
- package/dist/cjs/components/search-results/filters/facets/StatsFacet.vue.d.ts +2 -0
- package/dist/cjs/index.min.js +40 -9
- package/dist/cjs/utils/string.utils.d.ts +1 -0
- package/dist/es/components/search-box/SearchBox.vue.d.ts +1 -0
- package/dist/es/components/search-results/filters/facets/StatsFacet.vue.d.ts +2 -0
- package/dist/es/index.min.js +40 -9
- package/dist/es/utils/string.utils.d.ts +1 -0
- package/dist/iife/components/search-box/SearchBox.vue.d.ts +1 -0
- package/dist/iife/components/search-results/filters/facets/StatsFacet.vue.d.ts +2 -0
- package/dist/iife/index.min.js +1 -1
- package/dist/iife/utils/string.utils.d.ts +1 -0
- package/package.json +1 -1
|
@@ -27,6 +27,8 @@ export default class TermFacet extends Vue {
|
|
|
27
27
|
get facetMax(): number;
|
|
28
28
|
get statsSummary(): string;
|
|
29
29
|
get separator(): string;
|
|
30
|
+
get isIntegerRange(): boolean;
|
|
31
|
+
get interval(): 1 | 0.01;
|
|
30
32
|
get sliderInputFormat(): string | undefined;
|
|
31
33
|
onMinValueChange(): void;
|
|
32
34
|
onMaxValueChange(): void;
|
package/dist/cjs/index.min.js
CHANGED
|
@@ -10828,6 +10828,13 @@ const getProductKey = (index, product, idKey) => {
|
|
|
10828
10828
|
}
|
|
10829
10829
|
return index;
|
|
10830
10830
|
};
|
|
10831
|
+
const normalizeFloat = (value) => {
|
|
10832
|
+
var _a;
|
|
10833
|
+
if (!value) {
|
|
10834
|
+
return 0;
|
|
10835
|
+
}
|
|
10836
|
+
return +((_a = value === null || value === void 0 ? void 0 : value.replace(/[^0-9,.]/g, "")) === null || _a === void 0 ? void 0 : _a.replace(",", "."));
|
|
10837
|
+
};
|
|
10831
10838
|
const escapeHtml = (value) => {
|
|
10832
10839
|
if (!value) {
|
|
10833
10840
|
return "";
|
|
@@ -12289,6 +12296,7 @@ let SearchBoxProduct = class SearchBoxProduct extends Vue$1 {
|
|
|
12289
12296
|
if (!this.link) {
|
|
12290
12297
|
return;
|
|
12291
12298
|
}
|
|
12299
|
+
this.$emit("product-click");
|
|
12292
12300
|
handleRoutingEvent(this.link, event, this.boxRoutingBehavior === "event");
|
|
12293
12301
|
}
|
|
12294
12302
|
};
|
|
@@ -12465,6 +12473,11 @@ var __vue_render__$11 = function () {
|
|
|
12465
12473
|
highlighted: index === _vm.highlightedIndex,
|
|
12466
12474
|
inputValue: _vm.inputValue,
|
|
12467
12475
|
},
|
|
12476
|
+
on: {
|
|
12477
|
+
"product-click": function ($event) {
|
|
12478
|
+
return _vm.$emit("product-click")
|
|
12479
|
+
},
|
|
12480
|
+
},
|
|
12468
12481
|
})
|
|
12469
12482
|
}),
|
|
12470
12483
|
1
|
|
@@ -12583,6 +12596,11 @@ var __vue_render__$10 = function () {
|
|
|
12583
12596
|
labels: _vm.labels,
|
|
12584
12597
|
inputValue: _vm.inputValue,
|
|
12585
12598
|
},
|
|
12599
|
+
on: {
|
|
12600
|
+
"product-click": function ($event) {
|
|
12601
|
+
return _vm.$emit("product-click")
|
|
12602
|
+
},
|
|
12603
|
+
},
|
|
12586
12604
|
})
|
|
12587
12605
|
};
|
|
12588
12606
|
var __vue_staticRenderFns__$10 = [];
|
|
@@ -12591,7 +12609,7 @@ __vue_render__$10._withStripped = true;
|
|
|
12591
12609
|
/* style */
|
|
12592
12610
|
const __vue_inject_styles__$10 = function (inject) {
|
|
12593
12611
|
if (!inject) return
|
|
12594
|
-
inject("data-v-
|
|
12612
|
+
inject("data-v-58b6ab21_0", { source: "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", map: undefined, media: undefined });
|
|
12595
12613
|
|
|
12596
12614
|
};
|
|
12597
12615
|
/* scoped */
|
|
@@ -13462,6 +13480,9 @@ var __vue_render__$V = function () {
|
|
|
13462
13480
|
itemSelect: function (item) {
|
|
13463
13481
|
return _vm.$emit("itemSelect", item)
|
|
13464
13482
|
},
|
|
13483
|
+
"product-click": function ($event) {
|
|
13484
|
+
return _vm.$emit("product-click")
|
|
13485
|
+
},
|
|
13465
13486
|
},
|
|
13466
13487
|
})
|
|
13467
13488
|
: _vm._e(),
|
|
@@ -13511,7 +13532,7 @@ __vue_render__$V._withStripped = true;
|
|
|
13511
13532
|
/* style */
|
|
13512
13533
|
const __vue_inject_styles__$V = function (inject) {
|
|
13513
13534
|
if (!inject) return
|
|
13514
|
-
inject("data-v-
|
|
13535
|
+
inject("data-v-d48b96f0_0", { source: "#lupa-search-box-panel {\n display: flex;\n justify-content: space-between;\n flex-direction: column;\n}\n.lupa-more-results {\n text-align: center;\n}", map: undefined, media: undefined });
|
|
13515
13536
|
|
|
13516
13537
|
};
|
|
13517
13538
|
/* scoped */
|
|
@@ -30969,6 +30990,9 @@ let SearchBox = class SearchBox extends Vue$1 {
|
|
|
30969
30990
|
this.inputValue = "";
|
|
30970
30991
|
this.suggestedValue = defaultSuggestedValue;
|
|
30971
30992
|
}
|
|
30993
|
+
handleProductClick() {
|
|
30994
|
+
this.opened = false;
|
|
30995
|
+
}
|
|
30972
30996
|
};
|
|
30973
30997
|
__decorate([
|
|
30974
30998
|
Prop()
|
|
@@ -31046,6 +31070,7 @@ var __vue_render__$U = function () {
|
|
|
31046
31070
|
fetched: _vm.handleItemsFetch,
|
|
31047
31071
|
itemSelect: _vm.handleItemSelect,
|
|
31048
31072
|
"go-to-results": _vm.handleSearch,
|
|
31073
|
+
"product-click": _vm.handleProductClick,
|
|
31049
31074
|
},
|
|
31050
31075
|
})
|
|
31051
31076
|
: _vm._e(),
|
|
@@ -31060,7 +31085,7 @@ __vue_render__$U._withStripped = true;
|
|
|
31060
31085
|
/* style */
|
|
31061
31086
|
const __vue_inject_styles__$U = function (inject) {
|
|
31062
31087
|
if (!inject) return
|
|
31063
|
-
inject("data-v-
|
|
31088
|
+
inject("data-v-ed058b02_0", { source: "\n#lupa-search-box {\n width: 100%;\n}\n.lupa-search-box-wrapper {\n position: relative;\n}\n", map: undefined, media: undefined });
|
|
31064
31089
|
|
|
31065
31090
|
};
|
|
31066
31091
|
/* scoped */
|
|
@@ -32077,8 +32102,7 @@ let TermFacet = class TermFacet extends Vue$1 {
|
|
|
32077
32102
|
: `${this.sliderRange[0]}`;
|
|
32078
32103
|
}
|
|
32079
32104
|
set fromValue(stringValue) {
|
|
32080
|
-
|
|
32081
|
-
let value = +numberString;
|
|
32105
|
+
let value = normalizeFloat(stringValue);
|
|
32082
32106
|
if (value < this.facetMin) {
|
|
32083
32107
|
value = this.facetMin;
|
|
32084
32108
|
}
|
|
@@ -32094,8 +32118,7 @@ let TermFacet = class TermFacet extends Vue$1 {
|
|
|
32094
32118
|
: `${this.sliderRange[1]}`;
|
|
32095
32119
|
}
|
|
32096
32120
|
set toValue(stringValue) {
|
|
32097
|
-
|
|
32098
|
-
let value = +numberString;
|
|
32121
|
+
let value = normalizeFloat(stringValue);
|
|
32099
32122
|
if (value > this.facetMax) {
|
|
32100
32123
|
value = this.facetMax;
|
|
32101
32124
|
}
|
|
@@ -32157,6 +32180,13 @@ let TermFacet = class TermFacet extends Vue$1 {
|
|
|
32157
32180
|
var _a, _b, _c;
|
|
32158
32181
|
return (_c = (_b = (_a = this.searchResultOptions) === null || _a === void 0 ? void 0 : _a.labels) === null || _b === void 0 ? void 0 : _b.priceSeparator) !== null && _c !== void 0 ? _c : ",";
|
|
32159
32182
|
}
|
|
32183
|
+
get isIntegerRange() {
|
|
32184
|
+
return (Number.isInteger(this.currentMinValue) &&
|
|
32185
|
+
Number.isInteger(this.currentMaxValue));
|
|
32186
|
+
}
|
|
32187
|
+
get interval() {
|
|
32188
|
+
return this.isIntegerRange ? 1 : 0.01;
|
|
32189
|
+
}
|
|
32160
32190
|
get sliderInputFormat() {
|
|
32161
32191
|
return this.isPrice ? `[0-9]+([${this.separator}][0-9]{1,2})?` : undefined;
|
|
32162
32192
|
}
|
|
@@ -32326,6 +32356,7 @@ var __vue_render__$P = function () {
|
|
|
32326
32356
|
lazy: true,
|
|
32327
32357
|
silent: true,
|
|
32328
32358
|
duration: 0.1,
|
|
32359
|
+
interval: _vm.interval,
|
|
32329
32360
|
},
|
|
32330
32361
|
on: {
|
|
32331
32362
|
change: _vm.handleChange,
|
|
@@ -38340,9 +38371,9 @@ let SearchResultsEntry = class SearchResultsEntry extends Vue$1 {
|
|
|
38340
38371
|
return merge(DEFAULT_OPTIONS_RESULTS, options);
|
|
38341
38372
|
}
|
|
38342
38373
|
fetch() {
|
|
38343
|
-
var _a;
|
|
38374
|
+
var _a, _b;
|
|
38344
38375
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
38345
|
-
(_a = this.$refs.searchResults) === null || _a === void 0 ? void 0 : _a.
|
|
38376
|
+
(_b = (_a = this.$refs.searchResults) === null || _a === void 0 ? void 0 : _a.handleUrlChange) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
38346
38377
|
}
|
|
38347
38378
|
};
|
|
38348
38379
|
__decorate([
|
|
@@ -5,4 +5,5 @@ export declare const addParamsToLabel: (label: string, ...params: unknown[]) =>
|
|
|
5
5
|
export declare const getRandomString: (length: number) => string;
|
|
6
6
|
export declare const getDisplayValue: (value?: string | number | undefined) => string;
|
|
7
7
|
export declare const getProductKey: (index: string, product: Document, idKey: string | undefined) => string;
|
|
8
|
+
export declare const normalizeFloat: (value?: string | undefined) => number;
|
|
8
9
|
export declare const escapeHtml: (value?: string | undefined) => string;
|
|
@@ -27,6 +27,8 @@ export default class TermFacet extends Vue {
|
|
|
27
27
|
get facetMax(): number;
|
|
28
28
|
get statsSummary(): string;
|
|
29
29
|
get separator(): string;
|
|
30
|
+
get isIntegerRange(): boolean;
|
|
31
|
+
get interval(): 1 | 0.01;
|
|
30
32
|
get sliderInputFormat(): string | undefined;
|
|
31
33
|
onMinValueChange(): void;
|
|
32
34
|
onMaxValueChange(): void;
|
package/dist/es/index.min.js
CHANGED
|
@@ -10824,6 +10824,13 @@ const getProductKey = (index, product, idKey) => {
|
|
|
10824
10824
|
}
|
|
10825
10825
|
return index;
|
|
10826
10826
|
};
|
|
10827
|
+
const normalizeFloat = (value) => {
|
|
10828
|
+
var _a;
|
|
10829
|
+
if (!value) {
|
|
10830
|
+
return 0;
|
|
10831
|
+
}
|
|
10832
|
+
return +((_a = value === null || value === void 0 ? void 0 : value.replace(/[^0-9,.]/g, "")) === null || _a === void 0 ? void 0 : _a.replace(",", "."));
|
|
10833
|
+
};
|
|
10827
10834
|
const escapeHtml = (value) => {
|
|
10828
10835
|
if (!value) {
|
|
10829
10836
|
return "";
|
|
@@ -12285,6 +12292,7 @@ let SearchBoxProduct = class SearchBoxProduct extends Vue$1 {
|
|
|
12285
12292
|
if (!this.link) {
|
|
12286
12293
|
return;
|
|
12287
12294
|
}
|
|
12295
|
+
this.$emit("product-click");
|
|
12288
12296
|
handleRoutingEvent(this.link, event, this.boxRoutingBehavior === "event");
|
|
12289
12297
|
}
|
|
12290
12298
|
};
|
|
@@ -12461,6 +12469,11 @@ var __vue_render__$11 = function () {
|
|
|
12461
12469
|
highlighted: index === _vm.highlightedIndex,
|
|
12462
12470
|
inputValue: _vm.inputValue,
|
|
12463
12471
|
},
|
|
12472
|
+
on: {
|
|
12473
|
+
"product-click": function ($event) {
|
|
12474
|
+
return _vm.$emit("product-click")
|
|
12475
|
+
},
|
|
12476
|
+
},
|
|
12464
12477
|
})
|
|
12465
12478
|
}),
|
|
12466
12479
|
1
|
|
@@ -12579,6 +12592,11 @@ var __vue_render__$10 = function () {
|
|
|
12579
12592
|
labels: _vm.labels,
|
|
12580
12593
|
inputValue: _vm.inputValue,
|
|
12581
12594
|
},
|
|
12595
|
+
on: {
|
|
12596
|
+
"product-click": function ($event) {
|
|
12597
|
+
return _vm.$emit("product-click")
|
|
12598
|
+
},
|
|
12599
|
+
},
|
|
12582
12600
|
})
|
|
12583
12601
|
};
|
|
12584
12602
|
var __vue_staticRenderFns__$10 = [];
|
|
@@ -12587,7 +12605,7 @@ __vue_render__$10._withStripped = true;
|
|
|
12587
12605
|
/* style */
|
|
12588
12606
|
const __vue_inject_styles__$10 = function (inject) {
|
|
12589
12607
|
if (!inject) return
|
|
12590
|
-
inject("data-v-
|
|
12608
|
+
inject("data-v-58b6ab21_0", { source: "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", map: undefined, media: undefined });
|
|
12591
12609
|
|
|
12592
12610
|
};
|
|
12593
12611
|
/* scoped */
|
|
@@ -13458,6 +13476,9 @@ var __vue_render__$V = function () {
|
|
|
13458
13476
|
itemSelect: function (item) {
|
|
13459
13477
|
return _vm.$emit("itemSelect", item)
|
|
13460
13478
|
},
|
|
13479
|
+
"product-click": function ($event) {
|
|
13480
|
+
return _vm.$emit("product-click")
|
|
13481
|
+
},
|
|
13461
13482
|
},
|
|
13462
13483
|
})
|
|
13463
13484
|
: _vm._e(),
|
|
@@ -13507,7 +13528,7 @@ __vue_render__$V._withStripped = true;
|
|
|
13507
13528
|
/* style */
|
|
13508
13529
|
const __vue_inject_styles__$V = function (inject) {
|
|
13509
13530
|
if (!inject) return
|
|
13510
|
-
inject("data-v-
|
|
13531
|
+
inject("data-v-d48b96f0_0", { source: "#lupa-search-box-panel {\n display: flex;\n justify-content: space-between;\n flex-direction: column;\n}\n.lupa-more-results {\n text-align: center;\n}", map: undefined, media: undefined });
|
|
13511
13532
|
|
|
13512
13533
|
};
|
|
13513
13534
|
/* scoped */
|
|
@@ -30965,6 +30986,9 @@ let SearchBox = class SearchBox extends Vue$1 {
|
|
|
30965
30986
|
this.inputValue = "";
|
|
30966
30987
|
this.suggestedValue = defaultSuggestedValue;
|
|
30967
30988
|
}
|
|
30989
|
+
handleProductClick() {
|
|
30990
|
+
this.opened = false;
|
|
30991
|
+
}
|
|
30968
30992
|
};
|
|
30969
30993
|
__decorate([
|
|
30970
30994
|
Prop()
|
|
@@ -31042,6 +31066,7 @@ var __vue_render__$U = function () {
|
|
|
31042
31066
|
fetched: _vm.handleItemsFetch,
|
|
31043
31067
|
itemSelect: _vm.handleItemSelect,
|
|
31044
31068
|
"go-to-results": _vm.handleSearch,
|
|
31069
|
+
"product-click": _vm.handleProductClick,
|
|
31045
31070
|
},
|
|
31046
31071
|
})
|
|
31047
31072
|
: _vm._e(),
|
|
@@ -31056,7 +31081,7 @@ __vue_render__$U._withStripped = true;
|
|
|
31056
31081
|
/* style */
|
|
31057
31082
|
const __vue_inject_styles__$U = function (inject) {
|
|
31058
31083
|
if (!inject) return
|
|
31059
|
-
inject("data-v-
|
|
31084
|
+
inject("data-v-ed058b02_0", { source: "\n#lupa-search-box {\n width: 100%;\n}\n.lupa-search-box-wrapper {\n position: relative;\n}\n", map: undefined, media: undefined });
|
|
31060
31085
|
|
|
31061
31086
|
};
|
|
31062
31087
|
/* scoped */
|
|
@@ -32073,8 +32098,7 @@ let TermFacet = class TermFacet extends Vue$1 {
|
|
|
32073
32098
|
: `${this.sliderRange[0]}`;
|
|
32074
32099
|
}
|
|
32075
32100
|
set fromValue(stringValue) {
|
|
32076
|
-
|
|
32077
|
-
let value = +numberString;
|
|
32101
|
+
let value = normalizeFloat(stringValue);
|
|
32078
32102
|
if (value < this.facetMin) {
|
|
32079
32103
|
value = this.facetMin;
|
|
32080
32104
|
}
|
|
@@ -32090,8 +32114,7 @@ let TermFacet = class TermFacet extends Vue$1 {
|
|
|
32090
32114
|
: `${this.sliderRange[1]}`;
|
|
32091
32115
|
}
|
|
32092
32116
|
set toValue(stringValue) {
|
|
32093
|
-
|
|
32094
|
-
let value = +numberString;
|
|
32117
|
+
let value = normalizeFloat(stringValue);
|
|
32095
32118
|
if (value > this.facetMax) {
|
|
32096
32119
|
value = this.facetMax;
|
|
32097
32120
|
}
|
|
@@ -32153,6 +32176,13 @@ let TermFacet = class TermFacet extends Vue$1 {
|
|
|
32153
32176
|
var _a, _b, _c;
|
|
32154
32177
|
return (_c = (_b = (_a = this.searchResultOptions) === null || _a === void 0 ? void 0 : _a.labels) === null || _b === void 0 ? void 0 : _b.priceSeparator) !== null && _c !== void 0 ? _c : ",";
|
|
32155
32178
|
}
|
|
32179
|
+
get isIntegerRange() {
|
|
32180
|
+
return (Number.isInteger(this.currentMinValue) &&
|
|
32181
|
+
Number.isInteger(this.currentMaxValue));
|
|
32182
|
+
}
|
|
32183
|
+
get interval() {
|
|
32184
|
+
return this.isIntegerRange ? 1 : 0.01;
|
|
32185
|
+
}
|
|
32156
32186
|
get sliderInputFormat() {
|
|
32157
32187
|
return this.isPrice ? `[0-9]+([${this.separator}][0-9]{1,2})?` : undefined;
|
|
32158
32188
|
}
|
|
@@ -32322,6 +32352,7 @@ var __vue_render__$P = function () {
|
|
|
32322
32352
|
lazy: true,
|
|
32323
32353
|
silent: true,
|
|
32324
32354
|
duration: 0.1,
|
|
32355
|
+
interval: _vm.interval,
|
|
32325
32356
|
},
|
|
32326
32357
|
on: {
|
|
32327
32358
|
change: _vm.handleChange,
|
|
@@ -38336,9 +38367,9 @@ let SearchResultsEntry = class SearchResultsEntry extends Vue$1 {
|
|
|
38336
38367
|
return merge(DEFAULT_OPTIONS_RESULTS, options);
|
|
38337
38368
|
}
|
|
38338
38369
|
fetch() {
|
|
38339
|
-
var _a;
|
|
38370
|
+
var _a, _b;
|
|
38340
38371
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
38341
|
-
(_a = this.$refs.searchResults) === null || _a === void 0 ? void 0 : _a.
|
|
38372
|
+
(_b = (_a = this.$refs.searchResults) === null || _a === void 0 ? void 0 : _a.handleUrlChange) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
38342
38373
|
}
|
|
38343
38374
|
};
|
|
38344
38375
|
__decorate([
|
|
@@ -5,4 +5,5 @@ export declare const addParamsToLabel: (label: string, ...params: unknown[]) =>
|
|
|
5
5
|
export declare const getRandomString: (length: number) => string;
|
|
6
6
|
export declare const getDisplayValue: (value?: string | number | undefined) => string;
|
|
7
7
|
export declare const getProductKey: (index: string, product: Document, idKey: string | undefined) => string;
|
|
8
|
+
export declare const normalizeFloat: (value?: string | undefined) => number;
|
|
8
9
|
export declare const escapeHtml: (value?: string | undefined) => string;
|
|
@@ -27,6 +27,8 @@ export default class TermFacet extends Vue {
|
|
|
27
27
|
get facetMax(): number;
|
|
28
28
|
get statsSummary(): string;
|
|
29
29
|
get separator(): string;
|
|
30
|
+
get isIntegerRange(): boolean;
|
|
31
|
+
get interval(): 1 | 0.01;
|
|
30
32
|
get sliderInputFormat(): string | undefined;
|
|
31
33
|
onMinValueChange(): void;
|
|
32
34
|
onMaxValueChange(): void;
|