pushfeedback 0.1.70 → 0.1.71

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 (43) hide show
  1. package/dist/cjs/canvas-editor_3.cjs.entry.js +1367 -0
  2. package/dist/cjs/index-9a8f4784.js +1584 -0
  3. package/dist/cjs/index.cjs.js +2 -0
  4. package/dist/cjs/loader.cjs.js +22 -0
  5. package/dist/cjs/pushfeedback.cjs.js +23 -0
  6. package/dist/collection/collection-manifest.json +14 -0
  7. package/dist/collection/components/canvas-editor/canvas-editor.css +404 -0
  8. package/dist/collection/components/canvas-editor/canvas-editor.js +1282 -0
  9. package/dist/collection/components/feedback-button/feedback-button.css +81 -0
  10. package/dist/collection/components/feedback-button/feedback-button.js +1169 -0
  11. package/dist/collection/components/feedback-modal/feedback-modal.css +547 -0
  12. package/dist/collection/components/feedback-modal/feedback-modal.js +1257 -0
  13. package/dist/collection/index.js +1 -0
  14. package/dist/components/canvas-editor.js +6 -0
  15. package/dist/{pushfeedback/canvas-editor.entry.js → components/canvas-editor2.js} +64 -7
  16. package/dist/{pushfeedback/feedback-button.entry.js → components/feedback-button.js} +90 -8
  17. package/dist/components/feedback-modal.js +6 -0
  18. package/dist/{pushfeedback/feedback-modal.entry.js → components/feedback-modal2.js} +97 -7
  19. package/dist/components/index.js +4 -0
  20. package/dist/esm/canvas-editor_3.entry.js +1361 -0
  21. package/dist/esm/index-f65e9124.js +1555 -0
  22. package/dist/esm/index.js +1 -0
  23. package/dist/esm/loader.js +18 -0
  24. package/dist/esm/polyfills/core-js.js +11 -0
  25. package/dist/esm/polyfills/css-shim.js +1 -0
  26. package/dist/esm/polyfills/dom.js +79 -0
  27. package/dist/esm/polyfills/es5-html-element.js +1 -0
  28. package/dist/esm/polyfills/index.js +34 -0
  29. package/dist/esm/polyfills/system.js +6 -0
  30. package/dist/esm/pushfeedback.js +18 -0
  31. package/dist/index.cjs.js +1 -0
  32. package/dist/index.js +1 -0
  33. package/dist/pushfeedback/index.esm.js +0 -1
  34. package/dist/pushfeedback/p-2c39091c.entry.js +1 -0
  35. package/dist/pushfeedback/p-af2a1f7f.js +2 -0
  36. package/dist/pushfeedback/pushfeedback.css +1 -146
  37. package/dist/pushfeedback/pushfeedback.esm.js +1 -148
  38. package/package.json +1 -1
  39. package/dist/pushfeedback/app-globals-0f993ce5.js +0 -3
  40. package/dist/pushfeedback/css-shim-b7d3d95f.js +0 -4
  41. package/dist/pushfeedback/dom-64053c71.js +0 -73
  42. package/dist/pushfeedback/index-36434da0.js +0 -3371
  43. package/dist/pushfeedback/shadow-css-98135883.js +0 -387
@@ -0,0 +1,1169 @@
1
+ import { Host, h } from '@stencil/core';
2
+ export class FeedbackButton {
3
+ constructor() {
4
+ this.buttonPosition = 'default';
5
+ this.buttonStyle = 'default';
6
+ this.hideIcon = false;
7
+ this.hideMobile = false;
8
+ this.sessionId = '';
9
+ this.metadata = '';
10
+ this.submit = false;
11
+ this.customFont = false;
12
+ this.emailAddress = '';
13
+ this.isEmailRequired = false;
14
+ this.fetchData = true;
15
+ this.hideEmail = false;
16
+ this.hidePrivacyPolicy = true;
17
+ this.hideRating = false;
18
+ this.hideScreenshotButton = false;
19
+ this.modalPosition = 'center';
20
+ this.project = '';
21
+ this.rating = undefined;
22
+ this.ratingMode = 'thumbs';
23
+ this.canvasEditorTitle = 'Edit screenshot';
24
+ this.canvasEditorCancelText = 'Cancel';
25
+ this.canvasEditorSaveText = 'Save';
26
+ this.editTextButtonText = 'Edit Text';
27
+ this.sizeLabelText = 'Size:';
28
+ this.borderLabelText = 'Border:';
29
+ this.editTextPromptText = 'Edit text:';
30
+ this.screenshotErrorGeneral = 'Failed to capture screenshot.';
31
+ this.screenshotErrorPermission = 'Permission denied. Please allow screen sharing to take screenshots.';
32
+ this.screenshotErrorNotSupported = 'Screen capture is not supported in this browser.';
33
+ this.screenshotErrorNotFound = 'No screen sources available for capture.';
34
+ this.screenshotErrorCancelled = 'Screenshot capture was cancelled.';
35
+ this.screenshotErrorBrowserNotSupported = 'Your browser does not support screen capture. Please use a browser like Chrome, Firefox, or Safari.';
36
+ this.screenshotErrorUnexpected = 'An unexpected error occurred. Please try again.';
37
+ this.emailPlaceholder = 'Email address (optional)';
38
+ this.errorMessage = 'Please try again later.';
39
+ this.errorMessage403 = 'The request URL does not match the one defined in PushFeedback for this project.';
40
+ this.errorMessage404 = 'We could not find the provided project id in PushFeedback.';
41
+ this.footerText = '';
42
+ this.messagePlaceholder = 'Comments';
43
+ this.modalTitle = 'Share your feedback';
44
+ this.modalTitleError = 'Oops!';
45
+ this.modalTitleSuccess = 'Thanks for your feedback!';
46
+ this.privacyPolicyText = "I have read and expressly consent to the terms of the <a href='https://pushfeedback.com/privacy'>Privacy Policy</a>.";
47
+ this.ratingPlaceholder = 'Was this page helpful?';
48
+ this.ratingStarsPlaceholder = 'How would you rate this page?';
49
+ this.screenshotAttachedText = 'Screenshot attached';
50
+ this.screenshotButtonText = 'Add a screenshot';
51
+ this.screenshotTakingText = 'Taking screenshot...';
52
+ this.screenshotTopbarText = 'Select an element on this page';
53
+ this.sendButtonText = 'Send';
54
+ this.successMessage = '';
55
+ }
56
+ componentWillLoad() {
57
+ if (!this.sessionId) {
58
+ let storedSessionId = localStorage.getItem('pushfeedback_sessionid');
59
+ if (!storedSessionId) {
60
+ storedSessionId = this.generateRandomSessionId();
61
+ localStorage.setItem('pushfeedback_sessionid', storedSessionId);
62
+ this.sessionId = storedSessionId;
63
+ }
64
+ }
65
+ else {
66
+ localStorage.setItem('pushfeedback_sessionid', this.sessionId);
67
+ }
68
+ }
69
+ componentDidLoad() {
70
+ if (this.buttonPosition === 'center-right') {
71
+ const buttonContent = this.el.shadowRoot.querySelector('.feedback-button-content');
72
+ let adjustement = 0;
73
+ if (this.isSafariBrowser()) {
74
+ adjustement = 5;
75
+ }
76
+ buttonContent.style.right = `${((buttonContent.offsetWidth + adjustement) / 2) * -1}px`;
77
+ }
78
+ if (!this.customFont) {
79
+ this.loadInterFont();
80
+ }
81
+ }
82
+ connectedCallback() {
83
+ this.feedbackModal = document.createElement('feedback-modal');
84
+ const props = [
85
+ 'customFont',
86
+ 'emailAddress',
87
+ 'fetchData',
88
+ 'hideEmail',
89
+ 'hidePrivacyPolicy',
90
+ 'hideRating',
91
+ 'hideScreenshotButton',
92
+ 'isEmailRequired',
93
+ 'modalPosition',
94
+ 'project',
95
+ 'rating',
96
+ 'ratingMode',
97
+ 'canvasEditorTitle',
98
+ 'canvasEditorCancelText',
99
+ 'canvasEditorSaveText',
100
+ 'editTextButtonText',
101
+ 'sizeLabelText',
102
+ 'borderLabelText',
103
+ 'editTextPromptText',
104
+ 'screenshotErrorGeneral',
105
+ 'screenshotErrorPermission',
106
+ 'screenshotErrorNotSupported',
107
+ 'screenshotErrorNotFound',
108
+ 'screenshotErrorCancelled',
109
+ 'screenshotErrorBrowserNotSupported',
110
+ 'screenshotErrorUnexpected',
111
+ 'emailPlaceholder',
112
+ 'errorMessage',
113
+ 'errorMessage403',
114
+ 'errorMessage404',
115
+ 'footerText',
116
+ 'messagePlaceholder',
117
+ 'metadata',
118
+ 'modalTitle',
119
+ 'modalTitleError',
120
+ 'modalTitleSuccess',
121
+ 'privacyPolicyText',
122
+ 'ratingPlaceholder',
123
+ 'ratingStarsPlaceholder',
124
+ 'screenshotAttachedText',
125
+ 'screenshotButtonText',
126
+ 'screenshotTakingText',
127
+ 'screenshotTopbarText',
128
+ 'sendButtonText',
129
+ 'successMessage',
130
+ ];
131
+ props.forEach((prop) => {
132
+ this.feedbackModal[prop] = this[prop];
133
+ });
134
+ document.body.appendChild(this.feedbackModal);
135
+ }
136
+ disconnectedCallback() {
137
+ document.body.removeChild(this.feedbackModal);
138
+ }
139
+ generateRandomSessionId(length = 16) {
140
+ return Math.random().toString(36).substr(2, length);
141
+ }
142
+ isSafariBrowser() {
143
+ const isSafari = /safari/i.test(navigator.userAgent) && !/chrome/i.test(navigator.userAgent);
144
+ return isSafari;
145
+ }
146
+ loadInterFont() {
147
+ const link = document.createElement('link');
148
+ link.href = 'https://fonts.googleapis.com/css2?family=Inter:wght@400;500&display=swap';
149
+ link.rel = 'stylesheet';
150
+ document.head.appendChild(link);
151
+ }
152
+ showModal() {
153
+ if (this.submit) {
154
+ this.submitRatingFeedback();
155
+ }
156
+ else {
157
+ this.feedbackModal.openModal();
158
+ }
159
+ }
160
+ async submitRatingFeedback() {
161
+ try {
162
+ const body = {
163
+ url: window.location.href,
164
+ project: this.project,
165
+ rating: this.rating || -1,
166
+ ratingMode: this.ratingMode,
167
+ message: '',
168
+ metadata: this.metadata,
169
+ session: localStorage.getItem('pushfeedback_sessionid') || '',
170
+ };
171
+ const res = await fetch('https://app.pushfeedback.com/api/feedback/', {
172
+ method: 'POST',
173
+ body: JSON.stringify(body),
174
+ headers: {
175
+ 'Content-Type': 'application/json',
176
+ },
177
+ });
178
+ if (res.status === 201) {
179
+ const feedback_with_id = Object.assign(Object.assign({}, body), { id: await res.json() });
180
+ this.feedbackSent.emit({ feedback: feedback_with_id });
181
+ }
182
+ else {
183
+ const errorText = await res.text();
184
+ const response = {
185
+ status: res.status,
186
+ message: errorText,
187
+ };
188
+ this.feedbackError.emit({ error: response });
189
+ }
190
+ }
191
+ catch (error) {
192
+ const response = {
193
+ status: 500,
194
+ message: error,
195
+ };
196
+ this.feedbackError.emit({ error: response });
197
+ }
198
+ }
199
+ render() {
200
+ return (h(Host, null, h("a", { class: `feedback-button-content feedback-button-content--${this.buttonStyle} feedback-button-content--${this.buttonPosition} ${this.customFont ? 'feedback-button-content--custom-font' : ''} ${this.hideMobile ? 'feedback-button-content--hide-mobile' : ''}`, onClick: () => this.showModal() }, !this.hideIcon && this.buttonStyle != 'default' && (h("span", { class: "feedback-button-content-icon" }, h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "#fff", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", class: "icon-edit" }, h("path", { d: "M12 20h9" }), h("path", { d: "M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z" })))), h("slot", null))));
201
+ }
202
+ static get is() { return "feedback-button"; }
203
+ static get encapsulation() { return "shadow"; }
204
+ static get originalStyleUrls() {
205
+ return {
206
+ "$": ["feedback-button.css"]
207
+ };
208
+ }
209
+ static get styleUrls() {
210
+ return {
211
+ "$": ["feedback-button.css"]
212
+ };
213
+ }
214
+ static get properties() {
215
+ return {
216
+ "buttonPosition": {
217
+ "type": "string",
218
+ "mutable": false,
219
+ "complexType": {
220
+ "original": "string",
221
+ "resolved": "string",
222
+ "references": {}
223
+ },
224
+ "required": false,
225
+ "optional": false,
226
+ "docs": {
227
+ "tags": [],
228
+ "text": ""
229
+ },
230
+ "attribute": "button-position",
231
+ "reflect": false,
232
+ "defaultValue": "'default'"
233
+ },
234
+ "buttonStyle": {
235
+ "type": "string",
236
+ "mutable": false,
237
+ "complexType": {
238
+ "original": "string",
239
+ "resolved": "string",
240
+ "references": {}
241
+ },
242
+ "required": false,
243
+ "optional": false,
244
+ "docs": {
245
+ "tags": [],
246
+ "text": ""
247
+ },
248
+ "attribute": "button-style",
249
+ "reflect": false,
250
+ "defaultValue": "'default'"
251
+ },
252
+ "hideIcon": {
253
+ "type": "boolean",
254
+ "mutable": false,
255
+ "complexType": {
256
+ "original": "boolean",
257
+ "resolved": "boolean",
258
+ "references": {}
259
+ },
260
+ "required": false,
261
+ "optional": false,
262
+ "docs": {
263
+ "tags": [],
264
+ "text": ""
265
+ },
266
+ "attribute": "hide-icon",
267
+ "reflect": false,
268
+ "defaultValue": "false"
269
+ },
270
+ "hideMobile": {
271
+ "type": "boolean",
272
+ "mutable": false,
273
+ "complexType": {
274
+ "original": "boolean",
275
+ "resolved": "boolean",
276
+ "references": {}
277
+ },
278
+ "required": false,
279
+ "optional": false,
280
+ "docs": {
281
+ "tags": [],
282
+ "text": ""
283
+ },
284
+ "attribute": "hide-mobile",
285
+ "reflect": false,
286
+ "defaultValue": "false"
287
+ },
288
+ "sessionId": {
289
+ "type": "string",
290
+ "mutable": true,
291
+ "complexType": {
292
+ "original": "string",
293
+ "resolved": "string",
294
+ "references": {}
295
+ },
296
+ "required": false,
297
+ "optional": false,
298
+ "docs": {
299
+ "tags": [],
300
+ "text": ""
301
+ },
302
+ "attribute": "session-id",
303
+ "reflect": true,
304
+ "defaultValue": "''"
305
+ },
306
+ "metadata": {
307
+ "type": "string",
308
+ "mutable": false,
309
+ "complexType": {
310
+ "original": "string",
311
+ "resolved": "string",
312
+ "references": {}
313
+ },
314
+ "required": false,
315
+ "optional": false,
316
+ "docs": {
317
+ "tags": [],
318
+ "text": ""
319
+ },
320
+ "attribute": "metadata",
321
+ "reflect": false,
322
+ "defaultValue": "''"
323
+ },
324
+ "submit": {
325
+ "type": "boolean",
326
+ "mutable": false,
327
+ "complexType": {
328
+ "original": "boolean",
329
+ "resolved": "boolean",
330
+ "references": {}
331
+ },
332
+ "required": false,
333
+ "optional": false,
334
+ "docs": {
335
+ "tags": [],
336
+ "text": ""
337
+ },
338
+ "attribute": "submit",
339
+ "reflect": false,
340
+ "defaultValue": "false"
341
+ },
342
+ "customFont": {
343
+ "type": "boolean",
344
+ "mutable": false,
345
+ "complexType": {
346
+ "original": "boolean",
347
+ "resolved": "boolean",
348
+ "references": {}
349
+ },
350
+ "required": false,
351
+ "optional": false,
352
+ "docs": {
353
+ "tags": [],
354
+ "text": ""
355
+ },
356
+ "attribute": "custom-font",
357
+ "reflect": false,
358
+ "defaultValue": "false"
359
+ },
360
+ "emailAddress": {
361
+ "type": "string",
362
+ "mutable": false,
363
+ "complexType": {
364
+ "original": "string",
365
+ "resolved": "string",
366
+ "references": {}
367
+ },
368
+ "required": false,
369
+ "optional": false,
370
+ "docs": {
371
+ "tags": [],
372
+ "text": ""
373
+ },
374
+ "attribute": "email-address",
375
+ "reflect": false,
376
+ "defaultValue": "''"
377
+ },
378
+ "isEmailRequired": {
379
+ "type": "boolean",
380
+ "mutable": false,
381
+ "complexType": {
382
+ "original": "boolean",
383
+ "resolved": "boolean",
384
+ "references": {}
385
+ },
386
+ "required": false,
387
+ "optional": false,
388
+ "docs": {
389
+ "tags": [],
390
+ "text": ""
391
+ },
392
+ "attribute": "is-email-required",
393
+ "reflect": false,
394
+ "defaultValue": "false"
395
+ },
396
+ "fetchData": {
397
+ "type": "boolean",
398
+ "mutable": false,
399
+ "complexType": {
400
+ "original": "boolean",
401
+ "resolved": "boolean",
402
+ "references": {}
403
+ },
404
+ "required": false,
405
+ "optional": false,
406
+ "docs": {
407
+ "tags": [],
408
+ "text": ""
409
+ },
410
+ "attribute": "fetch-data",
411
+ "reflect": false,
412
+ "defaultValue": "true"
413
+ },
414
+ "hideEmail": {
415
+ "type": "boolean",
416
+ "mutable": false,
417
+ "complexType": {
418
+ "original": "boolean",
419
+ "resolved": "boolean",
420
+ "references": {}
421
+ },
422
+ "required": false,
423
+ "optional": false,
424
+ "docs": {
425
+ "tags": [],
426
+ "text": ""
427
+ },
428
+ "attribute": "hide-email",
429
+ "reflect": false,
430
+ "defaultValue": "false"
431
+ },
432
+ "hidePrivacyPolicy": {
433
+ "type": "boolean",
434
+ "mutable": false,
435
+ "complexType": {
436
+ "original": "boolean",
437
+ "resolved": "boolean",
438
+ "references": {}
439
+ },
440
+ "required": false,
441
+ "optional": false,
442
+ "docs": {
443
+ "tags": [],
444
+ "text": ""
445
+ },
446
+ "attribute": "hide-privacy-policy",
447
+ "reflect": false,
448
+ "defaultValue": "true"
449
+ },
450
+ "hideRating": {
451
+ "type": "boolean",
452
+ "mutable": false,
453
+ "complexType": {
454
+ "original": "boolean",
455
+ "resolved": "boolean",
456
+ "references": {}
457
+ },
458
+ "required": false,
459
+ "optional": false,
460
+ "docs": {
461
+ "tags": [],
462
+ "text": ""
463
+ },
464
+ "attribute": "hide-rating",
465
+ "reflect": false,
466
+ "defaultValue": "false"
467
+ },
468
+ "hideScreenshotButton": {
469
+ "type": "boolean",
470
+ "mutable": false,
471
+ "complexType": {
472
+ "original": "boolean",
473
+ "resolved": "boolean",
474
+ "references": {}
475
+ },
476
+ "required": false,
477
+ "optional": false,
478
+ "docs": {
479
+ "tags": [],
480
+ "text": ""
481
+ },
482
+ "attribute": "hide-screenshot-button",
483
+ "reflect": false,
484
+ "defaultValue": "false"
485
+ },
486
+ "modalPosition": {
487
+ "type": "string",
488
+ "mutable": false,
489
+ "complexType": {
490
+ "original": "string",
491
+ "resolved": "string",
492
+ "references": {}
493
+ },
494
+ "required": false,
495
+ "optional": false,
496
+ "docs": {
497
+ "tags": [],
498
+ "text": ""
499
+ },
500
+ "attribute": "modal-position",
501
+ "reflect": false,
502
+ "defaultValue": "'center'"
503
+ },
504
+ "project": {
505
+ "type": "string",
506
+ "mutable": false,
507
+ "complexType": {
508
+ "original": "string",
509
+ "resolved": "string",
510
+ "references": {}
511
+ },
512
+ "required": false,
513
+ "optional": false,
514
+ "docs": {
515
+ "tags": [],
516
+ "text": ""
517
+ },
518
+ "attribute": "project",
519
+ "reflect": false,
520
+ "defaultValue": "''"
521
+ },
522
+ "rating": {
523
+ "type": "number",
524
+ "mutable": false,
525
+ "complexType": {
526
+ "original": "number",
527
+ "resolved": "number",
528
+ "references": {}
529
+ },
530
+ "required": false,
531
+ "optional": false,
532
+ "docs": {
533
+ "tags": [],
534
+ "text": ""
535
+ },
536
+ "attribute": "rating",
537
+ "reflect": false
538
+ },
539
+ "ratingMode": {
540
+ "type": "string",
541
+ "mutable": false,
542
+ "complexType": {
543
+ "original": "string",
544
+ "resolved": "string",
545
+ "references": {}
546
+ },
547
+ "required": false,
548
+ "optional": false,
549
+ "docs": {
550
+ "tags": [],
551
+ "text": ""
552
+ },
553
+ "attribute": "rating-mode",
554
+ "reflect": false,
555
+ "defaultValue": "'thumbs'"
556
+ },
557
+ "canvasEditorTitle": {
558
+ "type": "string",
559
+ "mutable": false,
560
+ "complexType": {
561
+ "original": "string",
562
+ "resolved": "string",
563
+ "references": {}
564
+ },
565
+ "required": false,
566
+ "optional": false,
567
+ "docs": {
568
+ "tags": [],
569
+ "text": ""
570
+ },
571
+ "attribute": "canvas-editor-title",
572
+ "reflect": false,
573
+ "defaultValue": "'Edit screenshot'"
574
+ },
575
+ "canvasEditorCancelText": {
576
+ "type": "string",
577
+ "mutable": false,
578
+ "complexType": {
579
+ "original": "string",
580
+ "resolved": "string",
581
+ "references": {}
582
+ },
583
+ "required": false,
584
+ "optional": false,
585
+ "docs": {
586
+ "tags": [],
587
+ "text": ""
588
+ },
589
+ "attribute": "canvas-editor-cancel-text",
590
+ "reflect": false,
591
+ "defaultValue": "'Cancel'"
592
+ },
593
+ "canvasEditorSaveText": {
594
+ "type": "string",
595
+ "mutable": false,
596
+ "complexType": {
597
+ "original": "string",
598
+ "resolved": "string",
599
+ "references": {}
600
+ },
601
+ "required": false,
602
+ "optional": false,
603
+ "docs": {
604
+ "tags": [],
605
+ "text": ""
606
+ },
607
+ "attribute": "canvas-editor-save-text",
608
+ "reflect": false,
609
+ "defaultValue": "'Save'"
610
+ },
611
+ "editTextButtonText": {
612
+ "type": "string",
613
+ "mutable": false,
614
+ "complexType": {
615
+ "original": "string",
616
+ "resolved": "string",
617
+ "references": {}
618
+ },
619
+ "required": false,
620
+ "optional": false,
621
+ "docs": {
622
+ "tags": [],
623
+ "text": ""
624
+ },
625
+ "attribute": "edit-text-button-text",
626
+ "reflect": false,
627
+ "defaultValue": "'Edit Text'"
628
+ },
629
+ "sizeLabelText": {
630
+ "type": "string",
631
+ "mutable": false,
632
+ "complexType": {
633
+ "original": "string",
634
+ "resolved": "string",
635
+ "references": {}
636
+ },
637
+ "required": false,
638
+ "optional": false,
639
+ "docs": {
640
+ "tags": [],
641
+ "text": ""
642
+ },
643
+ "attribute": "size-label-text",
644
+ "reflect": false,
645
+ "defaultValue": "'Size:'"
646
+ },
647
+ "borderLabelText": {
648
+ "type": "string",
649
+ "mutable": false,
650
+ "complexType": {
651
+ "original": "string",
652
+ "resolved": "string",
653
+ "references": {}
654
+ },
655
+ "required": false,
656
+ "optional": false,
657
+ "docs": {
658
+ "tags": [],
659
+ "text": ""
660
+ },
661
+ "attribute": "border-label-text",
662
+ "reflect": false,
663
+ "defaultValue": "'Border:'"
664
+ },
665
+ "editTextPromptText": {
666
+ "type": "string",
667
+ "mutable": false,
668
+ "complexType": {
669
+ "original": "string",
670
+ "resolved": "string",
671
+ "references": {}
672
+ },
673
+ "required": false,
674
+ "optional": false,
675
+ "docs": {
676
+ "tags": [],
677
+ "text": ""
678
+ },
679
+ "attribute": "edit-text-prompt-text",
680
+ "reflect": false,
681
+ "defaultValue": "'Edit text:'"
682
+ },
683
+ "screenshotErrorGeneral": {
684
+ "type": "string",
685
+ "mutable": false,
686
+ "complexType": {
687
+ "original": "string",
688
+ "resolved": "string",
689
+ "references": {}
690
+ },
691
+ "required": false,
692
+ "optional": false,
693
+ "docs": {
694
+ "tags": [],
695
+ "text": ""
696
+ },
697
+ "attribute": "screenshot-error-general",
698
+ "reflect": false,
699
+ "defaultValue": "'Failed to capture screenshot.'"
700
+ },
701
+ "screenshotErrorPermission": {
702
+ "type": "string",
703
+ "mutable": false,
704
+ "complexType": {
705
+ "original": "string",
706
+ "resolved": "string",
707
+ "references": {}
708
+ },
709
+ "required": false,
710
+ "optional": false,
711
+ "docs": {
712
+ "tags": [],
713
+ "text": ""
714
+ },
715
+ "attribute": "screenshot-error-permission",
716
+ "reflect": false,
717
+ "defaultValue": "'Permission denied. Please allow screen sharing to take screenshots.'"
718
+ },
719
+ "screenshotErrorNotSupported": {
720
+ "type": "string",
721
+ "mutable": false,
722
+ "complexType": {
723
+ "original": "string",
724
+ "resolved": "string",
725
+ "references": {}
726
+ },
727
+ "required": false,
728
+ "optional": false,
729
+ "docs": {
730
+ "tags": [],
731
+ "text": ""
732
+ },
733
+ "attribute": "screenshot-error-not-supported",
734
+ "reflect": false,
735
+ "defaultValue": "'Screen capture is not supported in this browser.'"
736
+ },
737
+ "screenshotErrorNotFound": {
738
+ "type": "string",
739
+ "mutable": false,
740
+ "complexType": {
741
+ "original": "string",
742
+ "resolved": "string",
743
+ "references": {}
744
+ },
745
+ "required": false,
746
+ "optional": false,
747
+ "docs": {
748
+ "tags": [],
749
+ "text": ""
750
+ },
751
+ "attribute": "screenshot-error-not-found",
752
+ "reflect": false,
753
+ "defaultValue": "'No screen sources available for capture.'"
754
+ },
755
+ "screenshotErrorCancelled": {
756
+ "type": "string",
757
+ "mutable": false,
758
+ "complexType": {
759
+ "original": "string",
760
+ "resolved": "string",
761
+ "references": {}
762
+ },
763
+ "required": false,
764
+ "optional": false,
765
+ "docs": {
766
+ "tags": [],
767
+ "text": ""
768
+ },
769
+ "attribute": "screenshot-error-cancelled",
770
+ "reflect": false,
771
+ "defaultValue": "'Screenshot capture was cancelled.'"
772
+ },
773
+ "screenshotErrorBrowserNotSupported": {
774
+ "type": "string",
775
+ "mutable": false,
776
+ "complexType": {
777
+ "original": "string",
778
+ "resolved": "string",
779
+ "references": {}
780
+ },
781
+ "required": false,
782
+ "optional": false,
783
+ "docs": {
784
+ "tags": [],
785
+ "text": ""
786
+ },
787
+ "attribute": "screenshot-error-browser-not-supported",
788
+ "reflect": false,
789
+ "defaultValue": "'Your browser does not support screen capture. Please use a browser like Chrome, Firefox, or Safari.'"
790
+ },
791
+ "screenshotErrorUnexpected": {
792
+ "type": "string",
793
+ "mutable": false,
794
+ "complexType": {
795
+ "original": "string",
796
+ "resolved": "string",
797
+ "references": {}
798
+ },
799
+ "required": false,
800
+ "optional": false,
801
+ "docs": {
802
+ "tags": [],
803
+ "text": ""
804
+ },
805
+ "attribute": "screenshot-error-unexpected",
806
+ "reflect": false,
807
+ "defaultValue": "'An unexpected error occurred. Please try again.'"
808
+ },
809
+ "emailPlaceholder": {
810
+ "type": "string",
811
+ "mutable": false,
812
+ "complexType": {
813
+ "original": "string",
814
+ "resolved": "string",
815
+ "references": {}
816
+ },
817
+ "required": false,
818
+ "optional": false,
819
+ "docs": {
820
+ "tags": [],
821
+ "text": ""
822
+ },
823
+ "attribute": "email-placeholder",
824
+ "reflect": false,
825
+ "defaultValue": "'Email address (optional)'"
826
+ },
827
+ "errorMessage": {
828
+ "type": "string",
829
+ "mutable": false,
830
+ "complexType": {
831
+ "original": "string",
832
+ "resolved": "string",
833
+ "references": {}
834
+ },
835
+ "required": false,
836
+ "optional": false,
837
+ "docs": {
838
+ "tags": [],
839
+ "text": ""
840
+ },
841
+ "attribute": "error-message",
842
+ "reflect": false,
843
+ "defaultValue": "'Please try again later.'"
844
+ },
845
+ "errorMessage403": {
846
+ "type": "string",
847
+ "mutable": false,
848
+ "complexType": {
849
+ "original": "string",
850
+ "resolved": "string",
851
+ "references": {}
852
+ },
853
+ "required": false,
854
+ "optional": false,
855
+ "docs": {
856
+ "tags": [],
857
+ "text": ""
858
+ },
859
+ "attribute": "error-message-4-0-3",
860
+ "reflect": false,
861
+ "defaultValue": "'The request URL does not match the one defined in PushFeedback for this project.'"
862
+ },
863
+ "errorMessage404": {
864
+ "type": "string",
865
+ "mutable": false,
866
+ "complexType": {
867
+ "original": "string",
868
+ "resolved": "string",
869
+ "references": {}
870
+ },
871
+ "required": false,
872
+ "optional": false,
873
+ "docs": {
874
+ "tags": [],
875
+ "text": ""
876
+ },
877
+ "attribute": "error-message-4-0-4",
878
+ "reflect": false,
879
+ "defaultValue": "'We could not find the provided project id in PushFeedback.'"
880
+ },
881
+ "footerText": {
882
+ "type": "string",
883
+ "mutable": false,
884
+ "complexType": {
885
+ "original": "string",
886
+ "resolved": "string",
887
+ "references": {}
888
+ },
889
+ "required": false,
890
+ "optional": false,
891
+ "docs": {
892
+ "tags": [],
893
+ "text": ""
894
+ },
895
+ "attribute": "footer-text",
896
+ "reflect": false,
897
+ "defaultValue": "''"
898
+ },
899
+ "messagePlaceholder": {
900
+ "type": "string",
901
+ "mutable": false,
902
+ "complexType": {
903
+ "original": "string",
904
+ "resolved": "string",
905
+ "references": {}
906
+ },
907
+ "required": false,
908
+ "optional": false,
909
+ "docs": {
910
+ "tags": [],
911
+ "text": ""
912
+ },
913
+ "attribute": "message-placeholder",
914
+ "reflect": false,
915
+ "defaultValue": "'Comments'"
916
+ },
917
+ "modalTitle": {
918
+ "type": "string",
919
+ "mutable": false,
920
+ "complexType": {
921
+ "original": "string",
922
+ "resolved": "string",
923
+ "references": {}
924
+ },
925
+ "required": false,
926
+ "optional": false,
927
+ "docs": {
928
+ "tags": [],
929
+ "text": ""
930
+ },
931
+ "attribute": "modal-title",
932
+ "reflect": false,
933
+ "defaultValue": "'Share your feedback'"
934
+ },
935
+ "modalTitleError": {
936
+ "type": "string",
937
+ "mutable": false,
938
+ "complexType": {
939
+ "original": "string",
940
+ "resolved": "string",
941
+ "references": {}
942
+ },
943
+ "required": false,
944
+ "optional": false,
945
+ "docs": {
946
+ "tags": [],
947
+ "text": ""
948
+ },
949
+ "attribute": "modal-title-error",
950
+ "reflect": false,
951
+ "defaultValue": "'Oops!'"
952
+ },
953
+ "modalTitleSuccess": {
954
+ "type": "string",
955
+ "mutable": false,
956
+ "complexType": {
957
+ "original": "string",
958
+ "resolved": "string",
959
+ "references": {}
960
+ },
961
+ "required": false,
962
+ "optional": false,
963
+ "docs": {
964
+ "tags": [],
965
+ "text": ""
966
+ },
967
+ "attribute": "modal-title-success",
968
+ "reflect": false,
969
+ "defaultValue": "'Thanks for your feedback!'"
970
+ },
971
+ "privacyPolicyText": {
972
+ "type": "string",
973
+ "mutable": false,
974
+ "complexType": {
975
+ "original": "string",
976
+ "resolved": "string",
977
+ "references": {}
978
+ },
979
+ "required": false,
980
+ "optional": false,
981
+ "docs": {
982
+ "tags": [],
983
+ "text": ""
984
+ },
985
+ "attribute": "privacy-policy-text",
986
+ "reflect": false,
987
+ "defaultValue": "\"I have read and expressly consent to the terms of the <a href='https://pushfeedback.com/privacy'>Privacy Policy</a>.\""
988
+ },
989
+ "ratingPlaceholder": {
990
+ "type": "string",
991
+ "mutable": false,
992
+ "complexType": {
993
+ "original": "string",
994
+ "resolved": "string",
995
+ "references": {}
996
+ },
997
+ "required": false,
998
+ "optional": false,
999
+ "docs": {
1000
+ "tags": [],
1001
+ "text": ""
1002
+ },
1003
+ "attribute": "rating-placeholder",
1004
+ "reflect": false,
1005
+ "defaultValue": "'Was this page helpful?'"
1006
+ },
1007
+ "ratingStarsPlaceholder": {
1008
+ "type": "string",
1009
+ "mutable": false,
1010
+ "complexType": {
1011
+ "original": "string",
1012
+ "resolved": "string",
1013
+ "references": {}
1014
+ },
1015
+ "required": false,
1016
+ "optional": false,
1017
+ "docs": {
1018
+ "tags": [],
1019
+ "text": ""
1020
+ },
1021
+ "attribute": "rating-stars-placeholder",
1022
+ "reflect": false,
1023
+ "defaultValue": "'How would you rate this page?'"
1024
+ },
1025
+ "screenshotAttachedText": {
1026
+ "type": "string",
1027
+ "mutable": false,
1028
+ "complexType": {
1029
+ "original": "string",
1030
+ "resolved": "string",
1031
+ "references": {}
1032
+ },
1033
+ "required": false,
1034
+ "optional": false,
1035
+ "docs": {
1036
+ "tags": [],
1037
+ "text": ""
1038
+ },
1039
+ "attribute": "screenshot-attached-text",
1040
+ "reflect": false,
1041
+ "defaultValue": "'Screenshot attached'"
1042
+ },
1043
+ "screenshotButtonText": {
1044
+ "type": "string",
1045
+ "mutable": false,
1046
+ "complexType": {
1047
+ "original": "string",
1048
+ "resolved": "string",
1049
+ "references": {}
1050
+ },
1051
+ "required": false,
1052
+ "optional": false,
1053
+ "docs": {
1054
+ "tags": [],
1055
+ "text": ""
1056
+ },
1057
+ "attribute": "screenshot-button-text",
1058
+ "reflect": false,
1059
+ "defaultValue": "'Add a screenshot'"
1060
+ },
1061
+ "screenshotTakingText": {
1062
+ "type": "string",
1063
+ "mutable": false,
1064
+ "complexType": {
1065
+ "original": "string",
1066
+ "resolved": "string",
1067
+ "references": {}
1068
+ },
1069
+ "required": false,
1070
+ "optional": false,
1071
+ "docs": {
1072
+ "tags": [],
1073
+ "text": ""
1074
+ },
1075
+ "attribute": "screenshot-taking-text",
1076
+ "reflect": false,
1077
+ "defaultValue": "'Taking screenshot...'"
1078
+ },
1079
+ "screenshotTopbarText": {
1080
+ "type": "string",
1081
+ "mutable": false,
1082
+ "complexType": {
1083
+ "original": "string",
1084
+ "resolved": "string",
1085
+ "references": {}
1086
+ },
1087
+ "required": false,
1088
+ "optional": false,
1089
+ "docs": {
1090
+ "tags": [],
1091
+ "text": ""
1092
+ },
1093
+ "attribute": "screenshot-topbar-text",
1094
+ "reflect": false,
1095
+ "defaultValue": "'Select an element on this page'"
1096
+ },
1097
+ "sendButtonText": {
1098
+ "type": "string",
1099
+ "mutable": false,
1100
+ "complexType": {
1101
+ "original": "string",
1102
+ "resolved": "string",
1103
+ "references": {}
1104
+ },
1105
+ "required": false,
1106
+ "optional": false,
1107
+ "docs": {
1108
+ "tags": [],
1109
+ "text": ""
1110
+ },
1111
+ "attribute": "send-button-text",
1112
+ "reflect": false,
1113
+ "defaultValue": "'Send'"
1114
+ },
1115
+ "successMessage": {
1116
+ "type": "string",
1117
+ "mutable": false,
1118
+ "complexType": {
1119
+ "original": "string",
1120
+ "resolved": "string",
1121
+ "references": {}
1122
+ },
1123
+ "required": false,
1124
+ "optional": false,
1125
+ "docs": {
1126
+ "tags": [],
1127
+ "text": ""
1128
+ },
1129
+ "attribute": "success-message",
1130
+ "reflect": false,
1131
+ "defaultValue": "''"
1132
+ }
1133
+ };
1134
+ }
1135
+ static get events() {
1136
+ return [{
1137
+ "method": "feedbackSent",
1138
+ "name": "feedbackSent",
1139
+ "bubbles": true,
1140
+ "cancelable": true,
1141
+ "composed": true,
1142
+ "docs": {
1143
+ "tags": [],
1144
+ "text": ""
1145
+ },
1146
+ "complexType": {
1147
+ "original": "{ feedback: any }",
1148
+ "resolved": "{ feedback: any; }",
1149
+ "references": {}
1150
+ }
1151
+ }, {
1152
+ "method": "feedbackError",
1153
+ "name": "feedbackError",
1154
+ "bubbles": true,
1155
+ "cancelable": true,
1156
+ "composed": true,
1157
+ "docs": {
1158
+ "tags": [],
1159
+ "text": ""
1160
+ },
1161
+ "complexType": {
1162
+ "original": "{ error: any }",
1163
+ "resolved": "{ error: any; }",
1164
+ "references": {}
1165
+ }
1166
+ }];
1167
+ }
1168
+ static get elementRef() { return "el"; }
1169
+ }