@getlupa/client 0.10.7 → 0.11.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 (26) hide show
  1. package/dist/cjs/components/common/ProductImage.vue.d.ts +17 -0
  2. package/dist/cjs/components/search-box/products/elements/SearchBoxProductImage.vue.d.ts +0 -7
  3. package/dist/cjs/components/search-box/suggestions/SearchBoxSuggestion.vue.d.ts +2 -0
  4. package/dist/cjs/components/search-results/filters/facets/StatsFacet.vue.d.ts +1 -1
  5. package/dist/cjs/components/search-results/products/product-card/elements/SearchResultsProductImage.vue.d.ts +0 -7
  6. package/dist/cjs/index.min.js +132 -79
  7. package/dist/cjs/types/DocumentElement.d.ts +1 -0
  8. package/dist/cjs/utils/shadowDom.utils.d.ts +1 -1
  9. package/dist/es/components/common/ProductImage.vue.d.ts +17 -0
  10. package/dist/es/components/search-box/products/elements/SearchBoxProductImage.vue.d.ts +0 -7
  11. package/dist/es/components/search-box/suggestions/SearchBoxSuggestion.vue.d.ts +2 -0
  12. package/dist/es/components/search-results/filters/facets/StatsFacet.vue.d.ts +1 -1
  13. package/dist/es/components/search-results/products/product-card/elements/SearchResultsProductImage.vue.d.ts +0 -7
  14. package/dist/es/index.min.js +132 -79
  15. package/dist/es/types/DocumentElement.d.ts +1 -0
  16. package/dist/es/utils/shadowDom.utils.d.ts +1 -1
  17. package/dist/iife/components/common/ProductImage.vue.d.ts +17 -0
  18. package/dist/iife/components/search-box/products/elements/SearchBoxProductImage.vue.d.ts +0 -7
  19. package/dist/iife/components/search-box/suggestions/SearchBoxSuggestion.vue.d.ts +2 -0
  20. package/dist/iife/components/search-results/filters/facets/StatsFacet.vue.d.ts +1 -1
  21. package/dist/iife/components/search-results/products/product-card/elements/SearchResultsProductImage.vue.d.ts +0 -7
  22. package/dist/iife/index.min.js +1 -1
  23. package/dist/iife/types/DocumentElement.d.ts +1 -0
  24. package/dist/iife/utils/shadowDom.utils.d.ts +1 -1
  25. package/dist/lupaContainerStyle.css +1 -1
  26. package/package.json +2 -2
@@ -0,0 +1,17 @@
1
+ import Vue from "vue";
2
+ import { Document } from "@getlupa/client-sdk/Types";
3
+ import { ImageDocumentElement } from "@/types/DocumentElement";
4
+ export default class ProductImage extends Vue {
5
+ item: Document;
6
+ options: ImageDocumentElement;
7
+ wrapperClass: string;
8
+ imageClass: string;
9
+ get hasFullImageUrl(): boolean;
10
+ get rootImageUrl(): string | undefined;
11
+ get image(): string;
12
+ get imageUrl(): string;
13
+ get hasImage(): boolean;
14
+ get placeholder(): string;
15
+ get finalUrl(): string;
16
+ replaceWithPlaceholder(e: Event): void;
17
+ }
@@ -4,11 +4,4 @@ import { ImageDocumentElement } from "@/types/DocumentElement";
4
4
  export default class SearchBoxProductImage extends Vue {
5
5
  item: Document;
6
6
  options: ImageDocumentElement;
7
- get hasFullImageUrl(): boolean;
8
- get rootImageUrl(): string | undefined;
9
- get image(): string;
10
- get imageUrl(): string;
11
- get hasImage(): boolean;
12
- get placeholder(): string;
13
- replaceWithPlaceholder(e: Event): void;
14
7
  }
@@ -6,5 +6,7 @@ export default class SearchBoxSuggestion extends Vue {
6
6
  highlight: boolean[];
7
7
  labels: SearchBoxOptionLabels;
8
8
  get title(): string;
9
+ get facetKey(): string;
10
+ get facetLabel(): string;
9
11
  handleSelect(): void;
10
12
  }
@@ -28,7 +28,7 @@ export default class TermFacet extends Vue {
28
28
  get statsSummary(): string;
29
29
  get separator(): string;
30
30
  get isIntegerRange(): boolean;
31
- get interval(): 1 | 0.01;
31
+ get interval(): number;
32
32
  get sliderInputFormat(): string | undefined;
33
33
  onMinValueChange(): void;
34
34
  onMaxValueChange(): void;
@@ -4,11 +4,4 @@ import { ImageDocumentElement } from "@/types/DocumentElement";
4
4
  export default class SearchResultsProductImage extends Vue {
5
5
  item: Document;
6
6
  options: ImageDocumentElement;
7
- get hasFullImageUrl(): boolean;
8
- get rootImageUrl(): string | undefined;
9
- get image(): string;
10
- get imageUrl(): string;
11
- get hasImage(): boolean;
12
- get placeholder(): string;
13
- replaceWithPlaceholder(e: Event): void;
14
7
  }
@@ -11029,7 +11029,7 @@ SearchBoxInput = __decorate([
11029
11029
  name: "searchBoxInput",
11030
11030
  })
11031
11031
  ], SearchBoxInput);
11032
- var script$1a = SearchBoxInput;
11032
+ var script$1b = SearchBoxInput;
11033
11033
 
11034
11034
  function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {
11035
11035
  if (typeof shadowMode !== 'boolean') {
@@ -11160,10 +11160,10 @@ function addStyle(id, css) {
11160
11160
  }
11161
11161
 
11162
11162
  /* script */
11163
- const __vue_script__$1b = script$1a;
11163
+ const __vue_script__$1c = script$1b;
11164
11164
 
11165
11165
  /* template */
11166
- var __vue_render__$1b = function () {
11166
+ var __vue_render__$1c = function () {
11167
11167
  var _vm = this;
11168
11168
  var _h = _vm.$createElement;
11169
11169
  var _c = _vm._self._c || _h;
@@ -11248,34 +11248,34 @@ var __vue_render__$1b = function () {
11248
11248
  : _vm._e(),
11249
11249
  ])
11250
11250
  };
11251
- var __vue_staticRenderFns__$1b = [];
11252
- __vue_render__$1b._withStripped = true;
11251
+ var __vue_staticRenderFns__$1c = [];
11252
+ __vue_render__$1c._withStripped = true;
11253
11253
 
11254
11254
  /* style */
11255
- const __vue_inject_styles__$1b = function (inject) {
11255
+ const __vue_inject_styles__$1c = function (inject) {
11256
11256
  if (!inject) return
11257
- inject("data-v-219ea03b_0", { source: "\n.lupa-search-box-input-field,\n.lupa-hint {\n width: 100%;\n}\n.lupa-search-box-input-field {\n position: relative !important;\n background: transparent !important;\n}\n.lupa-hint {\n opacity: 0.5;\n position: absolute !important;\n pointer-events: none;\n}\n.lupa-input-clear {\n display: none;\n}\n", map: undefined, media: undefined });
11257
+ inject("data-v-af94f296_0", { source: "\n.lupa-search-box-input-field,\n.lupa-hint {\n width: 100%;\n}\n.lupa-search-box-input-field {\n position: relative !important;\n background: transparent !important;\n}\n.lupa-hint {\n opacity: 0.5;\n position: absolute !important;\n pointer-events: none;\n}\n.lupa-input-clear {\n display: none;\n}\n", map: undefined, media: undefined });
11258
11258
 
11259
11259
  };
11260
11260
  /* scoped */
11261
- const __vue_scope_id__$1b = undefined;
11261
+ const __vue_scope_id__$1c = undefined;
11262
11262
  /* module identifier */
11263
- const __vue_module_identifier__$1b = undefined;
11263
+ const __vue_module_identifier__$1c = undefined;
11264
11264
  /* functional template */
11265
- const __vue_is_functional_template__$1b = false;
11265
+ const __vue_is_functional_template__$1c = false;
11266
11266
  /* style inject SSR */
11267
11267
 
11268
11268
  /* style inject shadow dom */
11269
11269
 
11270
11270
 
11271
11271
 
11272
- const __vue_component__$1b = /*#__PURE__*/normalizeComponent(
11273
- { render: __vue_render__$1b, staticRenderFns: __vue_staticRenderFns__$1b },
11274
- __vue_inject_styles__$1b,
11275
- __vue_script__$1b,
11276
- __vue_scope_id__$1b,
11277
- __vue_is_functional_template__$1b,
11278
- __vue_module_identifier__$1b,
11272
+ const __vue_component__$1c = /*#__PURE__*/normalizeComponent(
11273
+ { render: __vue_render__$1c, staticRenderFns: __vue_staticRenderFns__$1c },
11274
+ __vue_inject_styles__$1c,
11275
+ __vue_script__$1c,
11276
+ __vue_scope_id__$1c,
11277
+ __vue_is_functional_template__$1c,
11278
+ __vue_module_identifier__$1c,
11279
11279
  false,
11280
11280
  createInjector,
11281
11281
  undefined,
@@ -11297,7 +11297,7 @@ const debounce = (func, timeout) => {
11297
11297
  };
11298
11298
  };
11299
11299
 
11300
- let SearchBoxProductImage = class SearchBoxProductImage extends Vue$1 {
11300
+ let ProductImage = class ProductImage extends Vue$1 {
11301
11301
  get hasFullImageUrl() {
11302
11302
  const imageUrl = this.image;
11303
11303
  return (typeof imageUrl === "string" &&
@@ -11323,6 +11323,12 @@ let SearchBoxProductImage = class SearchBoxProductImage extends Vue$1 {
11323
11323
  get placeholder() {
11324
11324
  return this.options.placeholder;
11325
11325
  }
11326
+ get finalUrl() {
11327
+ if (this.options.customUrl) {
11328
+ return this.options.customUrl(this.item);
11329
+ }
11330
+ return this.hasImage ? this.imageUrl : this.placeholder;
11331
+ }
11326
11332
  replaceWithPlaceholder(e) {
11327
11333
  var _a;
11328
11334
  const targetImage = e === null || e === void 0 ? void 0 : e.target;
@@ -11331,6 +11337,73 @@ let SearchBoxProductImage = class SearchBoxProductImage extends Vue$1 {
11331
11337
  }
11332
11338
  }
11333
11339
  };
11340
+ __decorate([
11341
+ Prop()
11342
+ ], ProductImage.prototype, "item", void 0);
11343
+ __decorate([
11344
+ Prop()
11345
+ ], ProductImage.prototype, "options", void 0);
11346
+ __decorate([
11347
+ Prop({ default: "" })
11348
+ ], ProductImage.prototype, "wrapperClass", void 0);
11349
+ __decorate([
11350
+ Prop({ default: "" })
11351
+ ], ProductImage.prototype, "imageClass", void 0);
11352
+ ProductImage = __decorate([
11353
+ Component
11354
+ ], ProductImage);
11355
+ var script$1a = ProductImage;
11356
+
11357
+ /* script */
11358
+ const __vue_script__$1b = script$1a;
11359
+
11360
+ /* template */
11361
+ var __vue_render__$1b = function () {
11362
+ var _vm = this;
11363
+ var _h = _vm.$createElement;
11364
+ var _c = _vm._self._c || _h;
11365
+ return _c("div", { class: _vm.wrapperClass }, [
11366
+ _c("img", {
11367
+ class: _vm.imageClass,
11368
+ attrs: { src: _vm.finalUrl },
11369
+ on: { error: _vm.replaceWithPlaceholder },
11370
+ }),
11371
+ ])
11372
+ };
11373
+ var __vue_staticRenderFns__$1b = [];
11374
+ __vue_render__$1b._withStripped = true;
11375
+
11376
+ /* style */
11377
+ const __vue_inject_styles__$1b = undefined;
11378
+ /* scoped */
11379
+ const __vue_scope_id__$1b = undefined;
11380
+ /* module identifier */
11381
+ const __vue_module_identifier__$1b = undefined;
11382
+ /* functional template */
11383
+ const __vue_is_functional_template__$1b = false;
11384
+ /* style inject */
11385
+
11386
+ /* style inject SSR */
11387
+
11388
+ /* style inject shadow dom */
11389
+
11390
+
11391
+
11392
+ const __vue_component__$1b = /*#__PURE__*/normalizeComponent(
11393
+ { render: __vue_render__$1b, staticRenderFns: __vue_staticRenderFns__$1b },
11394
+ __vue_inject_styles__$1b,
11395
+ __vue_script__$1b,
11396
+ __vue_scope_id__$1b,
11397
+ __vue_is_functional_template__$1b,
11398
+ __vue_module_identifier__$1b,
11399
+ false,
11400
+ undefined,
11401
+ undefined,
11402
+ undefined
11403
+ );
11404
+
11405
+ let SearchBoxProductImage = class SearchBoxProductImage extends Vue$1 {
11406
+ };
11334
11407
  __decorate([
11335
11408
  Prop()
11336
11409
  ], SearchBoxProductImage.prototype, "item", void 0);
@@ -11338,7 +11411,11 @@ __decorate([
11338
11411
  Prop()
11339
11412
  ], SearchBoxProductImage.prototype, "options", void 0);
11340
11413
  SearchBoxProductImage = __decorate([
11341
- Component
11414
+ Component({
11415
+ components: {
11416
+ ProductImage: __vue_component__$1b,
11417
+ },
11418
+ })
11342
11419
  ], SearchBoxProductImage);
11343
11420
  var script$19 = SearchBoxProductImage;
11344
11421
 
@@ -11350,13 +11427,14 @@ var __vue_render__$1a = function () {
11350
11427
  var _vm = this;
11351
11428
  var _h = _vm.$createElement;
11352
11429
  var _c = _vm._self._c || _h;
11353
- return _c("div", { staticClass: "lupa-search-box-image-wrapper" }, [
11354
- _c("img", {
11355
- staticClass: "lupa-search-box-image",
11356
- attrs: { src: _vm.hasImage ? _vm.imageUrl : _vm.placeholder },
11357
- on: { error: _vm.replaceWithPlaceholder },
11358
- }),
11359
- ])
11430
+ return _c("ProductImage", {
11431
+ attrs: {
11432
+ item: _vm.item,
11433
+ options: _vm.options,
11434
+ "wrapper-class": "lupa-search-box-image-wrapper",
11435
+ "image-class": "lupa-search-box-image",
11436
+ },
11437
+ })
11360
11438
  };
11361
11439
  var __vue_staticRenderFns__$1a = [];
11362
11440
  __vue_render__$1a._withStripped = true;
@@ -12223,7 +12301,9 @@ const generateResultLink = (link, searchText, facet) => {
12223
12301
  if (!searchText) {
12224
12302
  return link;
12225
12303
  }
12226
- const facetParam = facet ? `&${FACET_PARAMS_TYPE.TERMS}=${facet.title}` : "";
12304
+ const facetParam = facet
12305
+ ? `&${FACET_PARAMS_TYPE.TERMS}${encodeParam(facet.key)}=${encodeParam(facet.title)}`
12306
+ : "";
12227
12307
  const queryParam = `?${QUERY_PARAMS.QUERY}=${encodeParam(searchText)}`;
12228
12308
  return `${link}${queryParam}${facetParam}`;
12229
12309
  };
@@ -12677,6 +12757,16 @@ let SearchBoxSuggestion = class SearchBoxSuggestion extends Vue$1 {
12677
12757
  ? this.suggestion.displayHighlight
12678
12758
  : this.suggestion.display;
12679
12759
  }
12760
+ get facetKey() {
12761
+ var _a;
12762
+ return ((_a = this.suggestion.facet) === null || _a === void 0 ? void 0 : _a.key) || "";
12763
+ }
12764
+ get facetLabel() {
12765
+ var _a, _b;
12766
+ return (((_b = (_a = this.suggestion.suggestion) === null || _a === void 0 ? void 0 : _a.facetLabels) === null || _b === void 0 ? void 0 : _b[this.facetKey]) ||
12767
+ this.labels.defaultFacetLabel ||
12768
+ this.facetKey);
12769
+ }
12680
12770
  handleSelect() {
12681
12771
  this.$emit("select", {
12682
12772
  suggestion: this.suggestion.suggestion,
@@ -12714,10 +12804,7 @@ var __vue_render__$$ = function () {
12714
12804
  {
12715
12805
  on: {
12716
12806
  click: function ($event) {
12717
- return _vm.handleSelect({
12718
- suggestion: _vm.suggestion.suggestion,
12719
- override: true,
12720
- })
12807
+ return _vm.handleSelect()
12721
12808
  },
12722
12809
  },
12723
12810
  },
@@ -12751,13 +12838,7 @@ var __vue_render__$$ = function () {
12751
12838
  staticClass: "lupa-suggestion-facet-label",
12752
12839
  attrs: { "data-cy": "lupa-suggestion-facet-label" },
12753
12840
  },
12754
- [
12755
- _vm._v(
12756
- _vm._s(
12757
- _vm.labels.defaultFacetLabel || _vm.suggestion.facet.key
12758
- )
12759
- ),
12760
- ]
12841
+ [_vm._v(_vm._s(_vm.facetLabel))]
12761
12842
  ),
12762
12843
  _vm._v(" "),
12763
12844
  _c(
@@ -31079,7 +31160,7 @@ SearchBox = __decorate([
31079
31160
  Component({
31080
31161
  name: "searchBox",
31081
31162
  components: {
31082
- SearchBoxInput: __vue_component__$1b,
31163
+ SearchBoxInput: __vue_component__$1c,
31083
31164
  SearchBoxMainPanel: __vue_component__$V,
31084
31165
  },
31085
31166
  })
@@ -31140,7 +31221,7 @@ __vue_render__$U._withStripped = true;
31140
31221
  /* style */
31141
31222
  const __vue_inject_styles__$U = function (inject) {
31142
31223
  if (!inject) return
31143
- inject("data-v-49023ab6_0", { source: "\n#lupa-search-box {\n width: 100%;\n}\n.lupa-search-box-wrapper {\n position: relative;\n}\n", map: undefined, media: undefined });
31224
+ inject("data-v-39831122_0", { source: "\n#lupa-search-box {\n width: 100%;\n}\n.lupa-search-box-wrapper {\n position: relative;\n}\n", map: undefined, media: undefined });
31144
31225
 
31145
31226
  };
31146
31227
  /* scoped */
@@ -34455,38 +34536,6 @@ __vue_render__$z._withStripped = true;
34455
34536
  );
34456
34537
 
34457
34538
  let SearchResultsProductImage = class SearchResultsProductImage extends Vue$1 {
34458
- get hasFullImageUrl() {
34459
- const imageUrl = this.image;
34460
- return (typeof imageUrl === "string" &&
34461
- (imageUrl.indexOf("http://") === 0 || imageUrl.indexOf("https://") === 0));
34462
- }
34463
- get rootImageUrl() {
34464
- return this.options.baseUrl;
34465
- }
34466
- get image() {
34467
- return this.item[this.options.key];
34468
- }
34469
- get imageUrl() {
34470
- var _a;
34471
- const imageUrl = this.image;
34472
- if (this.hasFullImageUrl) {
34473
- return imageUrl;
34474
- }
34475
- return `${(_a = this.rootImageUrl) !== null && _a !== void 0 ? _a : ""}/${imageUrl}`;
34476
- }
34477
- get hasImage() {
34478
- return Boolean(this.hasFullImageUrl || this.image);
34479
- }
34480
- get placeholder() {
34481
- return this.options.placeholder;
34482
- }
34483
- replaceWithPlaceholder(e) {
34484
- var _a;
34485
- const targetImage = e === null || e === void 0 ? void 0 : e.target;
34486
- if (targetImage && !((_a = targetImage === null || targetImage === void 0 ? void 0 : targetImage.src) === null || _a === void 0 ? void 0 : _a.includes(this.placeholder))) {
34487
- targetImage.src = this.placeholder;
34488
- }
34489
- }
34490
34539
  };
34491
34540
  __decorate([
34492
34541
  Prop()
@@ -34497,6 +34546,9 @@ __decorate([
34497
34546
  SearchResultsProductImage = __decorate([
34498
34547
  Component({
34499
34548
  name: "searchResultsProductImage",
34549
+ components: {
34550
+ ProductImage: __vue_component__$1b,
34551
+ },
34500
34552
  })
34501
34553
  ], SearchResultsProductImage);
34502
34554
  var script$x = SearchResultsProductImage;
@@ -34509,13 +34561,14 @@ var __vue_render__$y = function () {
34509
34561
  var _vm = this;
34510
34562
  var _h = _vm.$createElement;
34511
34563
  var _c = _vm._self._c || _h;
34512
- return _c("div", { staticClass: "lupa-search-results-image-wrapper" }, [
34513
- _c("img", {
34514
- staticClass: "lupa-search-results-image",
34515
- attrs: { src: _vm.hasImage ? _vm.imageUrl : _vm.placeholder },
34516
- on: { error: _vm.replaceWithPlaceholder },
34517
- }),
34518
- ])
34564
+ return _c("ProductImage", {
34565
+ attrs: {
34566
+ item: _vm.item,
34567
+ options: _vm.options,
34568
+ "wrapper-class": "lupa-search-results-image-wrapper",
34569
+ "image-class": "lupa-search-results-image",
34570
+ },
34571
+ })
34519
34572
  };
34520
34573
  var __vue_staticRenderFns__$y = [];
34521
34574
  __vue_render__$y._withStripped = true;
@@ -20,6 +20,7 @@ export declare type ImageDocumentElement<T = any> = DocumentElementBase<T> & {
20
20
  placeholder: string;
21
21
  baseUrl?: string;
22
22
  key: string;
23
+ customUrl?: (document: T) => string;
23
24
  };
24
25
  export declare type TitleDocumentElement<T = any> = DocumentElementBase<T> & {
25
26
  type: DocumentElementType.TITLE;
@@ -1,6 +1,6 @@
1
1
  export declare const createShadowDom: (shadowId: string, managerId: string) => {
2
2
  host: HTMLElement;
3
- manager: HTMLDivElement;
3
+ manager: HTMLElement;
4
4
  };
5
5
  export declare const attatchShadowDom: ({ host, manager, styleUrl, }: {
6
6
  host: HTMLElement;
@@ -0,0 +1,17 @@
1
+ import Vue from "vue";
2
+ import { Document } from "@getlupa/client-sdk/Types";
3
+ import { ImageDocumentElement } from "@/types/DocumentElement";
4
+ export default class ProductImage extends Vue {
5
+ item: Document;
6
+ options: ImageDocumentElement;
7
+ wrapperClass: string;
8
+ imageClass: string;
9
+ get hasFullImageUrl(): boolean;
10
+ get rootImageUrl(): string | undefined;
11
+ get image(): string;
12
+ get imageUrl(): string;
13
+ get hasImage(): boolean;
14
+ get placeholder(): string;
15
+ get finalUrl(): string;
16
+ replaceWithPlaceholder(e: Event): void;
17
+ }
@@ -4,11 +4,4 @@ import { ImageDocumentElement } from "@/types/DocumentElement";
4
4
  export default class SearchBoxProductImage extends Vue {
5
5
  item: Document;
6
6
  options: ImageDocumentElement;
7
- get hasFullImageUrl(): boolean;
8
- get rootImageUrl(): string | undefined;
9
- get image(): string;
10
- get imageUrl(): string;
11
- get hasImage(): boolean;
12
- get placeholder(): string;
13
- replaceWithPlaceholder(e: Event): void;
14
7
  }
@@ -6,5 +6,7 @@ export default class SearchBoxSuggestion extends Vue {
6
6
  highlight: boolean[];
7
7
  labels: SearchBoxOptionLabels;
8
8
  get title(): string;
9
+ get facetKey(): string;
10
+ get facetLabel(): string;
9
11
  handleSelect(): void;
10
12
  }
@@ -28,7 +28,7 @@ export default class TermFacet extends Vue {
28
28
  get statsSummary(): string;
29
29
  get separator(): string;
30
30
  get isIntegerRange(): boolean;
31
- get interval(): 1 | 0.01;
31
+ get interval(): number;
32
32
  get sliderInputFormat(): string | undefined;
33
33
  onMinValueChange(): void;
34
34
  onMaxValueChange(): void;
@@ -4,11 +4,4 @@ import { ImageDocumentElement } from "@/types/DocumentElement";
4
4
  export default class SearchResultsProductImage extends Vue {
5
5
  item: Document;
6
6
  options: ImageDocumentElement;
7
- get hasFullImageUrl(): boolean;
8
- get rootImageUrl(): string | undefined;
9
- get image(): string;
10
- get imageUrl(): string;
11
- get hasImage(): boolean;
12
- get placeholder(): string;
13
- replaceWithPlaceholder(e: Event): void;
14
7
  }